Applikationsentwicklung in Zeiten von DevOps

Die Mischung macht’s

Unternehmen müssen Software-Anwendungen möglichst schnell und kostengünstig auf den Markt bringen. In der Praxis entstehen häufig Reibungsverluste zwischen der agilen Anwendungsentwicklung und dem IT-Betrieb, der auf hohe Verfügbarkeit und Stabilität ausgelegt ist. Hier setzt DevOps an.

Je besser der Mix aus Teams, Tools und Infrastruktur aufeinander abgestimmt ist, desto schneller sollen Organisationen ihre Software in einer besseren Qualität ausliefern können. Der Beweis: Amazon. Bei dem Online-Versandhändler und Betreiber von Cloud-Diensten wurde im Mai 2011 mithilfe eines Continuous-Deployment-Ansatzes durchschnittlich alle 11,6 Sekunden ein neues Deployment angestoßen, wobei durchschnittlich 10 000 Hosts gleichzeitig ein Deployment erhielten.

Wer braucht schon alle 11,6 Sekunden ein Deployment? Aber vielleicht im Tages- oder Wochenrhythmus. Eine Antwort scheint DevOps zu sein. Das Konzept – ein Kunstwort aus Development (Dev) und Operations (Ops) – ist eine konsequente Weiterentwicklung agiler Verfahren, die sich durch eine andere Art von Betrieb und Verwaltung von Anforderungen bei größerer Eigenverantwortung der Teams auszeichnet.

Infrastructure as Code

Die Einführung von DevOps ist zunächst ein kultureller und organisatorischer Veränderungsprozess. Es muss ein teamübergreifendes agiles Zielbild verankert werden, was vor allem für Betriebsteams eine Abkehr von etablierten Arbeitsweisen bedeuten kann. Konkret: Interaktion zwischen Menschen zählt mehr als Prozesse und Werkzeuge. Funktionierende Software schlägt Dokumentation und Reagieren auf Veränderungen hat Priorität vor dem Befolgen eines Plans.

Die konsequente Automatisierung auf Infrastrukturebene wird bei DevOps als „Infrastructure as Code“ bezeichnet: Systemumgebungen werden über Skripte und Automatisations-Tools aufgebaut. So kann Zeit gespart und spürbare Qualitätssteigerungen erreicht werden, da Entwicklungs-, Integrations-, Test- und Produktivumgebung exakt gleich aufgebaut sind. Auch Testprozesse verbessern sich, da selbst komplexe Umgebungen kurzfristig auf- und wieder abgebaut werden können – und sich bezüglich Testdaten immer gleichen. Erfahrungen aus Entwicklung, Qualitätssicherung und Betrieb werden kombiniert, Umgebungen als Code in der Source-Verwaltung vorgehalten, umfangreiche Tests automatisiert und komplexes Betriebs-Know-how in Skripten abgelegt. Manuelle Eingriffe zwischen dem Einchecken von Code bis zum Betrieb werden konsequent vermieden. Der einzelne Entwickler übernimmt so die Verantwortung für das Produktiv-Deployment seines Artefakts.

Reich mir doch mal den Zollstock

Klassische Vorgehensmodelle gehen davon aus, dass Software erfolgreich entwickelt werden kann, wenn zu Beginn die Konzepte nur hinreichend präzise ausgearbeitet sind. Agile Ansätze organisieren Anforderungen anders. Bei der Methode Scrum beispielsweise werden sie im Product Backlog als User-Storys durch den Product Owner verwaltet. Dieser priorisiert und präzisiert sie regelmäßig, auch Product Backlog Grooming genannt, um neuen Anforderungen und Bedingungen Rechnung zu tragen. Dieser Ansatz stellt eine deutliche Verbesserung dar, jedoch muss der Product Owner die Bedarfe der Anwender gut einschätzen können, um richtige Entscheidungen zu treffen.

Das permanente Monitoring der produktiven Lösung im DevOps liefert auch hier einen Lösungsansatz. Wird jede neue Funktion als Experiment verstanden und dabei das Nutzerverhalten gemessen, kann ihr Erfolg bewertet werden. Zukünftige Entscheidungen des Product Owners werden wesentlich verbessert, da sie sich auf Fakten stützen. Das Monitoring umfasst also neben Informationen zu Performance, Robustheit etc. auch solche zum Nutzerverhalten. Das DevOps-Team kann dadurch sowohl technische Optimierungen als auch die fachliche Weiterentwicklung als Teil eines kontinuierlichen Verbesserungsprozesses vorantreiben.


Dieser Artikel erschien in der direkt informiert 03/2016. Weitere Artikel aus der Ausgabe lesen Sie hier: direkt informiert 03/2016, Schwerpunkt: Vertrauen

0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.