Agile Breakfast Nr. 8 – DevOps

“Programmierst Du noch oder betreibst Du schon?” Unter diesem Motto fand am 14.03. das achte Agile Breakfast im Wasserturm Stromeyersdorf in Konstanz statt. Nachdem sich die Teilnehmer mit Butterbrezel und Kaffee gestärkt hatten, informierte dieses Mal Jean-Pierre König, Head of Technology bei MeMo News, über Motivation und Prinzipien der DevOps-Bewegung.

Aus eigener Erfahrung konnte er dabei vom Einsatz der Prinzipien, Methoden und unterstützenden Tools in der Praxis berichten.

Von der “Wall of Confusion”

Auch heute noch erleben wir die Trennung zwischen den Prozessen der Softwareentwicklung und dem Betrieb in vielen Entwicklungsprojekten. Oft ist der Betrieb dabei nicht nur in der Verantwortung einer anderen Abteilung, sondern gänzlich “outsourced”. An der dazwischenliegenden Schnittstelle werden Informationen in Betriebskonzepten und Prozessbeschreibungen dokumentiert, Verantwortlichkeiten und SLAs definiert und Zuständigkeiten abgegrenzt. Unverständnis für die Belange der anderen Seite und ein anwachsender Stapel von Regularien lassen so schnell eine undurchsichtige “Wall of Confusion” entstehen.

Über agile SW-Entwicklung

2012, 11 Jahre nach der Entstehung des agilen Manifest, haben agile Methoden und Techniken ihren festen Platz in der Softwareentwicklung gefunden. In unterschiedlicher Ausprägung haben sie die meisten Projekte und Unternehmen erreicht. Allerorten treffen sich Entwickler zum “Daily Standup”, werden Anforderungen in Form von Userstories erfasst und Software in kurzen Entwicklungszyklen gemeinsam mit Auftraggebern und Nutzern entwickelt.
Das Softwareentwicklungsteam “wirft” seine Software-Artefakte zu definierten Zeitpunkten über die “Wall”, um dann all zu oft festzustellen, dass da doch noch ein, zwei Kleinigkeiten angepasst werden müssen, bevor die Software produktiv genutzt werden kann. Betriebsthemen wie die Beachtung von Abhängigkeiten zwischen Softwarepaketen, Sicherheits- und Skalierungsaspekte wurden während der Entwicklungsphase oft ausgeblendet. Diese müssen nachgebessert werden und machen die  angestrebte Verkürzung der “Time-To-Market” schnell zunichte.

Agilisierter Wasserfall

Agilisierter Wasserfall

Zu DevOps

Die unter dem Betriff “DevOps” entstandene Bewegung hat sich zum Ziel gesetzt, die beschriebenen Hürden zu beseitigen und Methoden, Prinzipien und Werkzeuge zur Integration von Entwicklung, QA und Betrieb zu etablieren. Im Fokus steht dabei die Verbindung von Entwicklungsabteilung und Systembetrieb unter Zuhilfenahme agiler Praktiken sowie die vollständige Automatisierung der Betriebsprozesse, um schnelle Entwicklungs- und Releasezyklen bei gleichzeitiger Risikominimierung zu gewährleisten. Das Projekt-Team übernimmt dabei von der ersten Zeile Code bis zum erfolgreichen Produktivbetrieb gemeinsam die Verantwortung.

Konkret bedeutet dies, dass Betriebsthemen bereits mit dem ersten Sprint ihren festen Platz im Entwicklungsprozess einnehmen und gemeinsam mit den Softwareartefakten entwickelt und getestet werden. Der gesamte Prozess von der Entwicklung bis zur Installation der Software wird dabei automatisiert, so dass dieser jederzeit ohne Aufwand wiederholbar ist. Tools wie Puppet und Chef helfen beim Aufsetzen und Konfigurieren von Servern, Loadbalancern, Betriebssystemen und Datenbanken. Beim Konfigurieren, Paketieren und Ausrollen der Softwareartefakte unterstützen RunDeck, capistrano oder Fabric. Sämtliche benötigen Konfigurationseinstellungen, Skripte, Zertifikate, schlicht alles was für eine vollständige Installation erforderlich ist, wird im Repository abgelegt und gemeinsam mit den Softwareartefakten versioniert. Genau wie in der agilen Softwareentwicklung gilt hier “fail fast – fail early – fail often” was bedeutet, dass möglichst jeder Commit sofort eine automatisierte Installation der Software anstößt und somit jeder erzeugte Fehler unmittelbar erkennbar und auf seine Ursache rückführbar ist.
In der Folge verschwimmen die Grenzen zwischen einzelnen Releases zusehends, “Continous Delivery“, das kontinuierliche Ausrollen von neuen Features und Bugfixes, wird Realität.

Continuous Delivery

Continuous Delivery

Fazit

Das Thema DevOps stößt auf reges Interesse

Das Thema DevOps stößt auf reges Interesse

Auch dieses Mal war das Agile Breakfast wieder sehr gut besucht und das Thema entfachte schnell eine rege Diskussion zu Einsatz und Machbarkeit im Projektalltag. Die Qualitätssicherung der ausgelieferten Software war hierbei ein viel diskutierter Punkt der gerade bei sicherheitsrelevanten Anwendungen und Anwendungen mit Anbindung an Legacy-Systemen noch viele Fragen aufwirft.

Bei der Realisierung agiler Softwareprojekte ist die vollständige Automatisierung der Prozesse zur Inbetriebnahme sicher ein logischer Schritt hin zu kürzeren Entwicklungszeiten und der Verbesserung der vielzitierten “Time-To-Market“. Auch Heute setzen wir in vielen Projekten bereits erfolgreich Methoden und Werkzeuge zur Automatisierung des Softwarerollouts ein. Neben gemeinsamen Begriffsdefinitionen gibt das Thema DevOps hier neue Denkanstöße, regt Diskussionen an und rückt die Integration von Entwicklung und Betrieb stärker in den Fokus der agilen Softwareentwicklung.

Vielen Dank an dieser Stelle an Jean-Pierre für den interessanten und kurzweiligen Vortrag und den sehr gelungenen Überblick zum Thema DevOps.

Links zum Thema

Agile Breakfast Nr. 8 - DevOps, 5.0 out of 5 based on 3 ratings

Tags: ,

Kommentar schreiben:

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *


+ 7 = elf

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>