Kolumne für Netzwerk Südbaden, Ausgabe Februar 2022
Der Begriff DevOps steht für einen Prozessverbesserungsansatz, der vor allem in der Softwareentwicklung zur Anwendung kommt. Er setzt sich aus den Wörtern „Development“ (Entwicklung) und „Operations“ (Betrieb) zusammen. Ziel von DevOps ist es, die Bereiche Softwareentwicklung und operationaler IT-Betrieb miteinander zu verbinden und Bereichsegoismen zu überwinden, um eine vereinfachte und effizientere Zusammenarbeit zu ermöglichen. Kurz gesagt: beim DevOps-Modell arbeiten Entwicklungs- und Betriebsteams über den gesamten Lebenszyklus von Softwareanwendungen – also von der Entwicklung über das Testen und die Bereitstellung bis hin zum Betrieb – zusammen.
Einfach veranschaulichen lässt sich das DevOps-Modell beispielsweise anhand der Montagelinie eines Autobauers. Vor Markteinführung eines neuen Fahrzeugmodells durchläuft dieses eine Reihe von Phasen: Entwicklung (i.d.R. orientiert an zuvor erhobenen Kunden- bzw. Marktbedürfnissen), Montage, Testungen und Qualitätsprüfungen. Gemäß den Plänen aus der Entwicklung wird in einem Prozess am Montageband das Auto zusammengebaut, lackiert und anschließend für den Verkauf freigegeben.
Dieser Prozess lässt sich weitestgehend auf die Erstellung von Software übertragen. Zunächst wird hier der Softwarecode für eine neue Funktion oder App geschrieben und anhand zahlreicher Tests auf Fehler überprüft. Besteht der Code alle Tests kann er für Benutzer freigegeben werden. Auch eine DevOps-Pipeline setzt sich also aus den Phasen Entwicklung, Erstellung, Testung und Bereitstellung zusammen. Durch die Verzahnung der Bereiche Entwicklung und Betrieb wird die Kooperation gefördert und in großen Teilen automatisiert, damit Software schneller die Marktreife erlangt und ausgeliefert werden kann. Erkennen Sie die Analogie zum Fließband?
Beim DevOps-Modell, das die Zusammenarbeit über den gesamten Softwareentwicklungszyklus beschreibt, handelt es sich im Grunde genommen um eine Endlosschleife. Von der Planung über Code-, Build-, Test- und Release-Phase, Bereitstellung, Betrieb und Überwachung schließt sich der Kreislauf wieder durch die Rückmeldung der Erfahrungswerte in die Planung. Im Idealfall führt DevOps folglich zu der Entwicklung einer Software die exakt den Nutzeranforderungen entspricht, zeitnah bereitgestellt werden kann und bereits bei der ersten Anwendung reibungslos funktioniert.
Das DevOps-Modell basiert auf Lean-Prinzipien, d.h. es trägt maßgeblich dazu bei, bereichsübergreifend Prozesse zu optimieren, Verschwendung zu reduzieren und die Wertschöpfungskette effizienter zu gestalten. Im Zentrum stehen dabei immer die Kunden und ihre Bedürfnisse.
Die Einführung eines DevOps-Modells führt in der Regel zu kleineren, jedoch wesentlich häufigeren, Softwareupdates als zuvor und damit zu einem der wichtigsten DevOps-Vorteile: der hohen Weiterentwicklungsgeschwindigkeit. Diese ermöglicht es Unternehmen, wesentlich schneller veränderten Marktanforderungen gerecht zu werden, Innovationen umzusetzen und Geschäftsziele effizienter zu erreichen – und sich dadurch bedeutende Wettbewerbsvorteile zu sichern.
Der Autor
Julian Sayer ist Vorstand für Vertrieb, Marketing und Entwicklung des Freiburger Hostingunternehmens und Cloud Solution Providers Continum AG. Als AWS und Microsoft Azure Partner versteht sich die Continum AG als „Anwalt“ des Kunden und unterstützt Unternehmen auf dem sicheren Weg in die Cloud.