DevOps
DevOps bringt Betrieb und Entwicklung enger zusammen, sodass die Software-Entwicklung schneller auf Anforderungen der Fachbereiche reagieren kann. Mit der neuen Auflage ITIL 4 wird sich DevOps künftig auch stärker auf ITIL-Prozesse auswirken.
Allianz zwischen Agile und ITIL
Mit DevOps sollen sich neue Anforderungen an die Software-Entwicklung möglichst schnell, günstig und mit hoher Qualität umsetzen lassen – auch im laufenden IT-Betrieb. Die Voraussetzung sind standardisierte und automatisierte Ende-zu-Ende-Prozesse von der Entwicklung bis zum Betrieb. So müssen Entwicklungsabläufe wie Build, Test und Deploy automatisiert werden. Auf technologischer Seite bedarf es gemeinsamer Software-Werkzeuge – etwa neue Tools im Bereich der Software-Entwicklung sowie die Nutzung vorhandener Management-Software aus dem operativen IT-Betrieb. Zudem ist es erforderlich, sich mit organisatorischen Änderungen sowie Mentalitätsfragen zu beschäftigen: Denn bei der Anwendung von DevOps übernehmen jeweils die Projektteams die gesamte Verantwortung vom Konzept über die erste Codezeile bis zur produktiven Software. Hier ist eine neue Art der Zusammenarbeit gefordert, um das Know-how aller Projektbeteiligten für alle nutzbar zu machen.
Das Ergebnis von DevOps ist eine effektivere und effizientere Zusammenarbeit von Entwicklung, Betrieb, Testing und Qualitätssicherung sowie die kontinuierlich schnellere Umsetzung von Anforderungen an Software. Das wiederum verkürzt Release-Zyklen und ermöglicht sogar neue Geschäftsmodelle.
Wann ist eine Organisation reif für DevOps?
Um ihren Reifegrad für den Einsatz von DevOps zu ermitteln, sollten Unternehmen die eingesetzten Applikationen und Services in Bezug auf ihre Komplexität und die erforderliche Agilität analysieren. Speziell für den DevOps-Einstieg sind Services mit geringer Komplexität geeignet, deren Anforderungen sich jedoch sehr dynamisch verändern. Für den Einstieg sollten Unternehmen daher komplexe Services vermeiden, die sich ohnehin nur selten verändern. Im Verlaufe der Nutzung und der Etablierung einer langfristigen DevOps-Strategie verändert sich dann der Reifegrad von Services. Dann unterstützt DevOps sogar bei hochkomplexen Services, die besonders agil sein müssen. Die Voraussetzung dafür ist, dass sich die Organisation und die Projektteams auf DevOps eingestellt haben und erfahren im Umgang sind.
Jedes Unternehmen muss selbst entscheiden, wann es mit DevOps starten möchte. Es gibt jedoch einige wichtige Kriterien bzw. Grundlagen, die den Erfolg von DevOps ausmachen. Dazu gehören Standardisierung und Automatisierung: Es sollten möglichst viele Abläufe standardisiert werden. Außerdem sollten Projektteams eine möglichst geringe Zahl von Software-Werkzeugen verwenden und die damit abgebildeten Abläufe stark automatisieren. Durch die Automatisierung beschleunigt sich der Übergang zu einem kontinuierlichen Bereitstellungszyklus. Die Virtualisierung von IT-Infrastrukturkomponenten beschleunigt zusätzlich die Automatisierung von Prozessen.
Was hat ITIL mit DevOps zu schaffen?
Der IT-Betrieb hat seine Prozesse in den vergangenen Jahren kontinuierlich am Regelwerk ITIL ausgerichtet. Darin sind die Prozesse rund um die IT-Leistungserbringung präzise beschrieben. Auch DevOps erfordert eine strukturierte Arbeitsweise. Sind ITIL und DevOps daher die perfekte Ergänzung oder doch eher konträr? Beides ist richtig. Das Manifesto for Agile Software Development und die Richtlinien aus ITIL ergänzen sich. So ist denn auch im neuen ITIL 4 Foundation Book zu lesen, dass agile Teams mit ITIL effektiver arbeiten können, um Deployments schneller und stabiler in die Live-Umgebung zu bringen.
DevOps hat insbesondere massiven Einfluss auf die Themen Problem, Change, Release und Configuration Management sowie Deployment Management und Change Control. Im Change Management verschiebt sich der Fokus zu Standard Changes, die automatisiert, prä-autorisiert und nach bekannten Verfahren durchgeführt werden. Damit wird das Change Advisory Board mit individueller Risikoprüfung zwar nicht obsolet, aber doch zur Ausnahme. Auch beim Release, Test, Configuration und Deployment Management liegt die Herausforderung darin, möglichst viele Abläufe zu automatisieren. Anders sind die schnellen Entwicklungszyklen gar nicht machbar.
So könnten Product Manager bzw. Product Owner die Rolle des Service Owner einnehmen. Scrum Master könnten als Change Manager agieren und in den kontinuierlichen Verbesserungsprozess (Continual Improvement) eingebunden werden, da auch sie sich mit Verbesserungen und Erfahrungswerten beschäftigen.
Das spätere Monitoring der Applikation im laufenden Betrieb sollte bereits bei der Entwicklung berücksichtigt werden, damit entsprechende Möglichkeiten zur Überwachung geschaffen werden. Und ohne einen kontinuierlichen Verbesserungsprozess kann auch DevOps nicht erfolgreich sein.
Die Einführung von DevOps bringt entscheidende Veränderungen mit sich, die sich ohne Governance und Richtlinien nicht bewerkstelligen lassen. Auch die neue Ausgabe des Regelwerks ITIL greift daher DevOps auf und berücksichtigt vor allem die Themen Agile, Lean und DevOps. Materna Monitor wird in weiteren Ausgaben über die aktuellen Entwicklungen rund um ITIL 4 und DevOps berichten.
DevOps in vier Schritten richtig einführen
Materna wendet ein vierstufiges Vorgehen an, um Kunden bei der Einführung von DevOps zu unterstützen.