Die IT ist seit jeher ständigen Veränderungen unterworfen. Anforderungen von Kunden und der Wunsch nach schneller Umsetzung und Einführung von neuen „Features“ wachsen von Tag zu Tag. Diese Wünsche der Kunden stehen in einem Gegensatz zu den klassischen Ansätzen der IT, in denen neue Releases teils monate- oder gar jahrelang im Voraus geplant werden. Zum Teil werden damit auch Anforderungen umgesetzt, welche bei Einführung schon wieder veraltet sind. Die IT ihrerseits versucht auf diese Herausforderung mit neuen Entwicklungsmethoden zu reagieren. So wird bereits in vielen Projekten der klassische Ansatz des Wasserfallmodells durch den Ansatz der agilen Softwareentwicklung ersetzt. Ziel dabei ist es, eine Software mit geringem bürokratischen Aufwand schnell und qualitativ hochwertig zu erstellen und stetig weiter zu entwickeln. Diese Vorgehensweise führt allerdings zwangsläufig zur nächsten Herausforderung, diese Software jederzeit fehlerfrei bereitstellen zu können. DevOps (Development & Operations) greift genau diesen Punkt auf und adressiert die Verzahnung zwischen agiler Entwicklung und zeitnaher Bereitstellung der Software.
DevOps - was steckt genau hinter dem Begriff?
Mittlerweile gibt es verschiedene Definitionen, die den Begriff DevOps beschreiben. Gemein ist aber allen das gemeinsame Ziel: Eine schnelle und stabile Bereitstellung von qualitativ hochwertiger Software. Hierzu möchte DevOps für eine effizientere und effektivere Zusammenarbeit der Bereiche „Development“, „IT Operations“ und „Qualitätssicherung“ beitragen. Zum Einsatz kommen dabei die unterschiedlichsten Tools, welche diesen neuen Ansatz unterstützen sollen. Man könnte nun meinen, durch den einfachen Einsatz einiger neuer Tools im Bereich der Codeverwaltung, des Test- und Change-Managements und des Monitorings wäre eine Einführung von DevOps zwangsläufig erfolgreich. Eine solche Interpretation wäre aber bereits der Beginn des Scheiterns einer DevOps – Einführung. Sicherlich haben all diese Werkzeuge ihre Berechtigung, jedoch sollten sie nur als Mittel zum Zweck angesehen werden. Eine Diskussion über eine Einführung sollte sich niemals nur auf den technologischen Teil beschränken. Denn einem Mitarbeiter ist es nur schwer zu erklären, warum sich Technologien, die jahrelang erfolgreich benutzt wurden, nun plötzlich durch einen neuen „unerprobten“ und ähnlich aufwendigen Prozess ersetzt werden, wenn man ihm das Ziel im Ganzen nicht vor Augen führen kann.
Einführung im Unternehmen
Eine erfolgreiche DevOps – Einführung ist folglich gebunden an das Verständnis der Mitarbeiter für den dahinter stehenden Mehrwert. Man könnte gar sagen, es benötigt einen Kulturwandel innerhalb eines Unternehmens. Denn seit jeher stehen die Ziele von Entwicklern und IT Operations in einem Gegensatz. Während Entwickler bestrebt sind durch häufige Releases neue Features möglichst schnell verfügbar zu machen, steht für Operations ein stabiles System im Vordergrund. Neue Funktionen bringen aus Sicht von Operations zunächst nur ein erhöhtes Ausfallrisiko mit sich. Wichtig ist es also diese individuellen Ziele zu einem gemeinsamen Ziel zu koordinieren. Es erfordert Verständnis für einander und echtes Team-Work zwischen Entwicklung und Operations.
Es wird sich zeigen, dass nicht alle Vorteile direkt nach einer DevOps-Einführung zum Tragen kommen. Oftmals benötigen die Teams Zeit sich von alten Gewohnheiten zu lösen und sich an die neuen Prozesse zu gewöhnen. Vermehrt wird man feststellen, dass bei der Einführung nicht alles perfekt läuft und es sowohl gedanklich als auch technologisch Verbesserungspotential gibt. Durch kontinuierliche und schrittweise Verbesserungen lässt sich DevOps aber langfristig zum großen Vorteil im Unternehmen nutzen.