Entwicklung und Operations in einem Ansatz vereint: DevOps rückt die einzelnen Teams in der IT näher zusammen. Doch wie genau funktioniert DevOps? Und was unterscheidet diesen Ansatz von anderen? Wir geben einen Überblick.
Die Bezeichnung „DevOps“ setzt sich zusammen aus den Begriffen „Development“ und „Operations“. In der Vergangenheit arbeiteten Entwicklungs- und Operations-Teams in der IT strikt getrennt voneinander und brachten meist wenig Verständnis füreinander auf. Langwierige Übergaben, Barrieren und Bürokratie erschwerten daher den Erfolg.
DevOps zielt darauf ab, diese Barrieren abzubauen und die Zusammenarbeit der einzelnen Teams zu verbessern. Dabei kommen verschiedene Methoden und Tools zum Einsatz. Längst beschränkt sich DevOps nicht mehr nur auf Entwicklungs- und Operations-Teams, sondern ist in sämtliche Unternehmensbereiche vorgedrungen.
DevOps lässt sich am besten durch eine endlose Schleife veranschaulichen. Die einzelnen Schritte sind miteinander verknüpft und die verschiedenen Teams arbeiten eng zusammen. Erhalten die Teams Feedback, setzt sich der Prozess erneut in Gang.
Diese Phasen sind Teil des DevOps-Prozesses:
Um die Software zu verbessern, kommunizieren die Teams regelmäßig miteinander. Vertreter des Operations-Teams nehmen beispielsweise an Design-Meetings teil und bringen dort ihre Erfahrungen ein. Auch auf anderen Ebenen tauschen sich die Spezialisten aus. Die Teams denken Veränderungen und Neuheiten mit und greifen regelmäßiges Feedback auf. Entwickler arbeiten stets an kleinen Updates, die unabhängig voneinander live gehen. Nur so können die Teams sichergehen, dass die Software die Erwartungen der Kunden und Stakeholder bestmöglich erfüllt.
Um DevOps noch besser zu verstehen, ist es sinnvoll, den Ansatz mit anderen zu vergleichen. In den folgenden Abschnitten zeigen wir Gemeinsamkeiten und Unterschiede zur Wasserfall-Methode und der agilen Arbeitsweise auf und stellen die beiden Weiterentwicklungen CloudOps und DataOps vor.
Wasserfall ist eine traditionelle Methode und beschreibt eine lineare Vorgehensweise in der Software-Entwicklung. Das Modell beinhaltet verschiedene Phasen, zum Beispiel Erfassung der Anforderungen, Analyse, Design, Coding, Testing, Operation, Deployment und Wartung. Diese sind strikt voneinander getrennt. Ist eine Phase abgeschlossen, folgt die nächste. Softwaretester prüfen den Code in einer isolierten QA-Umgebung. Sind alle Anforderungen erfüllt, wird der Code dem Operations-Team zur Verfügung gestellt und in der Produktion getestet.
In einem Wasserfall-Modell dauert es meist lange, eine Software zu veröffentlichen. Entwicklung und Operation arbeiten getrennt voneinander. Das bedeutet zum Beispiel, dass Software-Entwickler sich den Anforderungen der anderen Teams oft überhaupt nicht bewusst sind. Aufgrund dieser isolierten Arbeitsweise ist das Wasserfall-Modell nur wenig dynamisch und anpassungsfähig. Feedback lässt sich nur schwer umsetzen.
Der DevOps-Ansatz versucht hingegen, diese Barrieren abzubauen. Die einzelnen Schritte laufen hierbei nicht getrennt voneinander ab. Vielmehr handelt es sich um einen kontinuierlichen Prozess, in dem die Teams stetig entwickeln, integrieren, testen und optimieren. Alle Teams haben die Möglichkeit, Feedback zu geben. Dieses wird kontinuierlich umgesetzt.
Agile ist ein Ansatz aus der Softwareentwicklung. Eine erste Definition findet sich im Agile Manifesto. Agile Teams fokussieren sich darauf, Codes schnell und innerhalb eines definierten Zeitrums umzusetzen und bereitzustellen. Diese Zeiträume heißen „Sprints”. In jedem Sprint entwickelt und optimiert das Team weiter. Dieser Prozess stellt sicher, dass das Software-Projekt flexibel bleibt und sich den Veränderungen anpassen kann.
DevOps basiert auf der Agilen Arbeitsweise und deren Erkenntnis, dass Softwareentwicklung schnell und anpassungsfähig sein muss. Im Gegensatz zu DevOps-Teams arbeiten Entwickler und Operations in agilen Teams getrennt voneinander. DevOps und Agile lassen sich jedoch miteinander kombinieren.
Dann arbeiten Entwicklungs- und Operations-Teams zusammen, um eine optimale Software bereitzustellen. Was die beiden Ansätze noch unterscheidet:
Unternehmen verlagern ihre digitale Infrastruktur nach und nach in die Cloud. Hier setzt CloudOps an und transportiert den DevOps-Ansatz in Plattformen wie Amazon Web Services, Google Cloud und Azure. Cloud-basierte Plattformen sind ortsunabhängig. Teams können von überall auf sie zugreifen. CloudOps kann Prozesse daher beschleunigen und effizienter gestalten. Der Ansatz garantiert zudem Sicherheit. Daten können in der Cloud nicht verloren gehen und sind sogar dann verfügbar, wenn die Hardware beschädigt ist.
Auch DataOps basiert auf DevOps-Prinzipien und nutzt den technologischen Fortschritt, um die Qualität zu verbessern, Prozesse zu beschleunigen und die Zusammenarbeit zu optimieren. Dies gelingt nur, indem die Teams so viele Prozesse wie möglich automatisieren.
Während CloudOps den DevOps-Ansatz in die Cloud verlagert, basiert DataOps auf Data Analytics. Das DataOps Manifesto gibt eine Reihe an Prinzipien vor, wie Daten genutzt, ausgewertet, visualisiert und verwaltet werden. Diese sollen sicherstellen, dass persönliche und vertrauliche Informationen geschützt werden. Darüber hinaus formuliert das Manifesto, Rollen und Karrierepfade innerhalb von Organisationen.
DevOps ist ein relativ neuer Ansatz in der IT, genau wie die beiden Adaptionen CloudOps und DataOps. Diese Ansätze umzusetzen, kann sich für Softwareprojekte durchaus lohnen. Vor allem hilft DevOps dabei, die Kommunikation und Zusammenarbeit der einzelnen Teams zu stärken und somit folglich die Qualität im Team zu erhöhen. Dennoch lauern auf dem Weg dahin einige Stolperfallen. Um diesen Ansatz auf Teams und Projekte auszurollen, ist daher eine durchdachte Strategie und einige Vorbereitung nötig.
Wir unterstützen Sie gerne dabei und helfen Ihnen, DevOps erfolgreich in Ihrem Team einzuführen und umzusetzen. Lassen Sie sich von unseren Qualitätssicherungsexperten professionell und unverbindlich beraten!
Wir freuen uns, Ihnen bei Fragen weiterhelfen zu können.