Thema: Digitale Transformation – Evolution, Innovation, Disruption

11:05 - 11:50 Uhr

Testumgebungen auf einen Klick - Docker und Cloud im praktischen Einsatz (Vortragssprache: Deutsch)

Maximilian Wallisch,
Dietmar Berchtold,
ANECON Software Design und Beratung G.m.b.H


Testumgebungen auf einen Klick - Docker und Cloud im praktischen Einsatz

Sie fordern eine bestimmte Testumgebung an, diese wird auf Knopfdruck bereitgestellt und nach dem Test wieder gelöscht. Sie können jederzeit wieder eine Testumgebung anfordern, wann immer und wie oft Sie eine brauchen. Großartige Vorstellung – aber nicht möglich? Falsch gedacht!

Oft fehlt bei Test- und Operation-Teams lediglich der Mut und die Fantasie, die Bereitstellung als ausführbaren Code zu realisieren, welchen man regelmäßig selbst testen und nach Bedarf erweitern kann. In Skalierungsfragen kann auf Cloudservices (z.B.: Amazon Web Services oder Microsoft Azure) zurückgegriffen werden, welche nahtlos in den Testumgebungsprozess eingliederbar sind. Anhand von Praxisbeispielen und einer Live-Demo geben wir Einblicke in die Konzepte Testinfrastructure as Code, Cloud Test Services sowie Testinfrastructure as a Service und erläutern Ihnen nützliche Helfer, wie z. B. Docker oder Puppet.

Inhalt

In diesem Vortrag widmen wir uns daher den folgenden Fragestellungen: Welche Möglichkeiten gibt es um Testumgebungen „auf Knopfdruck“ bereit zu stellen? Welche organisatorischen Veränderungen gehen damit einher? Agil ist hier das Ziel! Die Cloud als Variante für modernes Hosting: Welche Themen müssen dabei berücksichtigt werden?

Ziel ist es, dass Sie als Zuhörer ein Gesamtbild erkennen, wie all diese Aspekte ineinandergreifen und warum für agile Teams daran kein Weg vorbei führt. Sehen Sie diesen Vortrag als Denkanstoß, diesem Thema beim nächsten Quartalsmeeting einen eigenen Punkt auf der Agenda einzuräumen.

Als Grundvoraussetzung gilt: Testumgebungen müssen automatisch deployed werden können. Dafür gilt es, die manuellen Schritte die dafür notwendig sind, zu eliminieren. Im Grunde soll es nur zwei manuelle Schritte geben: Die Auswahl der Version von dem zu liefernden Software-Artefakt (z.B. eine App oder ein Service). Die Auswahl der Umgebung, in welche dieses Artefakt geliefert werden soll. Alles andere erfolgt im Idealfall automatisiert. Die Anweisungen, wie die Installation und Konfiguration der Testumgebung erfolgt, muss dafür als Code vorliegen. Wie das gelingt, zeigen wir in einer Live-Demo anhand der Tools Docker und Puppet. Mit Hilfe dieser ist es möglich per Scripts Umgebungen aufzusetzen, zu konfigurieren bzw. zu manipulieren sowie die zu testenden Softwareartefakte schnell und unkompliziert auszuliefern. Dabei greifen wir auf Cloudservices wie bspw. Amazon Web Services oder Microsoft Azure zurück.

Vor einigen Jahren noch wenigen Leuten ein Begriff, ist die Cloud heute vor allem im privaten Bereich, wie zum Beispiel vom Smartphone (Dropbox, Evernote) oder TV (Netflix, Amazon Prime), nicht mehr wegzudenken. Im Businessbereich stoßen große Anbieter mit Endanwender-Lösungen in neue Marktbereiche vor, wie beispielsweise Microsoft mit Office365. Abseits von diesen offensichtlichen Einsatzmöglichkeiten, bietet die Cloud aber auch Lösungen für alltägliche Probleme in den Bereichen Softwaretest und Entwicklung – hier sind mit Hilfe der Cloud neue Wege zu beschreiten.

Im Vergleich zu Cloud-only-Lösungen wird heute oftmals ein „On Premise“ Ansatz gelebt, bei dem die Hardware für Test- und Entwicklung von und im eigenen Unternehmen gehostet wird. Der große Vorteil: Die Organisation hat alles selbst in der Hand. Dies ist aber auch zugleich der größte Nachteil: Es entsteht viel Aufwand für Wartung und Betrieb. Mag diese Lösung also für kleine oder mittelgroße Organisationen bzw. Projekte ein gangbarer Weg sein, stößt man bei größeren Unterfangen recht schnell an Grenzen.

Bei der Nutzung von Cloud-Lösungen liegt aber genau hier der Unterschied: Über die einfach zu bedienenden und übersichtlichen Web-Interfaces von Amazon und Microsoft, wird die Steuerung und der Aufbau von der Wartung und Pflege der Hardware entkoppelt. Über die verfügbaren Programmierschnittstellen können viele Schritte auch automatisiert werden. Die Vorteile sind eindeutig – der Anbieter garantiert mehr oder weniger eine 24/7-Verfügbarkeit und Wartung, während der Nutzer es selbst in der Hand hat, wie die Hardware genutzt und kombiniert wird. Bonus: Die Infrastruktur in der Cloud wird nur nach Dauer der Nutzung bezahlt – hier schlummert großes Kostenoptimierungs-Potential!

Ihr Nutzen als Zuhörer

Teilnehmer dieses Vortrags kennen die Tools Docker und Puppet und wozu diese genutzt werden. Sie wissen welche Möglichkeiten sich durch die Nutzung von Cloud Computing im Bereich Softwaretest und Entwicklung auftun. Sie erkennen den Nutzen von Techniken und Ansätzen aus den Bereichen Infrastructure as Code sowie Infrastructure as Service. Sie haben Einblick darüber gewonnen, wie essentiell das präsentierte Vorgehen für eine Transformation hin zu Agile und Dev-Ops ist. Organisatorisch führt das präsentierte Vorgehen unausweichlich in eine Richtung der Cross-Funktionalen Zusammenarbeit zwischen Entwicklung, Test und Betrieb (Administration, Netzwerk). Nur wer es schafft die Expertise aus allen IT Bereichen teamübergreifend nutzbar zu machen, wird hierbei Erfolg haben. Für agile Teams oder Organisationen, die nach Dev-Ops ansetzen, operieren möchten und eine hohe Releasefrequenz anstreben, sind die präsentierten Tools und Ansätze unabdingbar. Denn ohne automatisierter Provisionierung von Hardware, ohne automatisierte Deployments von Software under Test und ohne automatisierte Testdurchläufe ist eine wahrlich agile Organisation nicht realisierbar. Die präsentierten Ansätze und Techniken sind wahre Enabler für den Change in Richtung Agilität und nur so wird es den Teams ermöglicht eigenverantwortlich, schnell, flexibel und effizient zu arbeiten.

Maximilian Wallisch, ANECON Software Design und Beratung GmbH

Maximilian Wallisch arbeitet seit 2014 bei ANECON Software Design und Beratung G.m.b.H. Er ist dort in den Bereichen Software-Qualitätssicherung und technischer Test tätig. Seine Ziel ist es, Cloud-Computing als Lösung vieler Herausforderungen im Softwaretest-Umfeld zu etablieren.

Dietmar Berchtold, ANECON Software Design und Beratung GmbH

Dietmar Berchtold arbeitet seit 2009 bei ANECON Software Design und Beratung G.m.b.H. Er ist dort im Bereich Test Center & Test Organisation tätig. Er hat in vielen unterschiedlichen Projekten Erfahrung mit der Organisation und dem Betrieb von Testumgebungen machen können. Das Entdecken neuer Tools und deren Möglichkeiten ist seine große Leidenschaft.