Der Begriff DevOps, mit dem agile Arbeitsmethoden in den Arbeitsalltag einziehen, beschreibt eine Kombination aus Denkweisen, Praktiken und Tools, die es Unternehmen und Organisationen ermöglichen, Anwendungen und Dienste schneller und einfacher bereitzustellen. Der Begriff bezieht sich auf einen Ansatz zur Prozessverbesserung, der hauptsächlich im IT-Betrieb, vor allem in der Systemadministration im Zusammenspiel mit der Softwareentwicklung, eingesetzt wird. Es ist ein sogenanntes Kofferwort, das sich aus den englischen Begriffen für „Entwicklung“ und „IT-Sicherheitsbetrieb“ ableitet. DevOps hat das Ziel, in den Bereichen Implementierung, IT-Sicherheitsbetrieb und Qualitätssicherung für eine effizientere und effektivere Zusammenarbeit zu sorgen. Zu diesem Zweck werden spezielle Anreize, Instrumente und Prozesse eingesetzt. DevOps richtet sich methodisch sowohl an die Technik als auch auf die Prozessebene und stellt klassische ITIL-Prozesse wie Incident Management, Change Management oder Release Management auf den Prüfstand. ITIL (IT System Infrastructure Library) beschreibt eine strukturierte Prozesssammlung von Best Practices für das Service Management von IT-Systemen. IT Service Management oder ITSM ist seit mindestens 20 Jahren als Best Practice in der IT etabliert. Es ist ein Modell, das die zuverlässige Bereitstellung von Informationstechnologie als Dienstleistung für den Kunden als Ziel propagiert.

Motivation und Entstehung

Der Ansatz entstand aus dem erkenntnistheoretischen Denken, dass standardisierte Prozesse heute nicht mehr ausreichen, um wettbewerbsfähig zu bleiben. Der Übergang dorthin erfordert einen Wandel der Kultur und der Denkweise, denn traditionelle Unternehmen haben ihre, meist vor langer Zeit, etablierten Ansätze. Die Softwareentwickler-Communities auf der einen Seite und die IT/Ops-Experten auf der anderen Seite verfolgten unterschiedliche, oft konkurrierende Ziele, gehörten verschiedenen Abteilungen an, wurden nach verschiedenen KPIs (Key Performance Indicators) bewertet und arbeiteten auf verschiedenen Etagen oder sogar in verschiedenen Gebäuden. Es bedarf eines gemeinsamen Verständnis der Aufgaben, der Akzeptanz und der guten Zusammenarbeit der Entwickler. Der Kern von DevOps ist die Überwindung der Trennlinien zwischen zwei ehemals sehr isolierten Geschäftsbereichen, der Entwicklung und dem IT-Betrieb. Das Konzept basiert auf einer Kultur der Zusammenarbeit zwischen gemeinsamen Teams. Einfache Prozesse werden mit einem DevOps-Ansatz zunehmend programmierbar und dynamisch. Er zielt darauf ab, die Vorhersehbarkeit, Effizienz, Sicherheit und Wartbarkeit von Betriebsprozessen zu maximieren. Die Auswirkungen auf den IT-Betrieb nach der Einführung von DevOps wird in einem Artikel bei Heise Developer beleuchtet.

Praxis

Der Übergang zu DevOps erfordert einen grundlegenden Wandel der Unternehmenskultur und der Denkstrukturen. Unter anderem sind die Entwickler nun für mehr Prozesse verantwortlich. Es verändert die Denkweise, indem es alle Entwicklungsprozesse berücksichtigt und die Grenzen zwischen Entwickler- und Betriebsteam überwindet. Neu ist die Beschäftigung mit Automatisierung sowie die Handhabung von Versionsmanagement und automatisierten Tests. Entwickler im IT-Betrieb müssen sich möglicherweise an neue, bereichsübergreifende Key Performance Indicators (KPIs) und damit an gemeinsame Anreizkennzahlen anpassen. Oftmals agieren Unternehmen dabei in ihren Projekten nach Scrum in kleineren Teams von 5-9 Mitarbeitern, die autonom arbeiten dürfen.

Der DevOps-Kreislauf

Vorteile

Die schlechte Nachricht ist, dass es keine Magie ist und Transformationen nicht über Nacht stattfinden. DevOps selbst ist kein Instrument, aber Softwaretools für die automatisierte Automatisierung und Messung sind wesentliche Bestandteile einer erfolgreichen Implementierung. Aber das Herz dieser Anstrengung sind die Mitarbeiter und die Art und Weise, wie sie mit anderen zusammenarbeiten. Vorbei sind die Zeiten, in denen die IT-Abteilung einmal im Jahr ein größeres Update durchführen konnte. Noch relevanter sind die Konzepte der kontinuierlichen Verbesserung und Fehlerabdeckung. Dank der agilen Entwicklung ist die kontinuierliche Verbesserung zum Thema geworden. Diese Idee finde sich auch in ITIL Version 3 mit dem Prozess „Continual Service Improvement“, wobei dieser Prozess auf den IT-Betrieb gemünzt war. Zu den versprochenen Vorteilen von DevOps gehören mehr Vertrauen, schnellere Software-Releases, eine schnellere Beseitigung kritischer Softwarefehler und eine bessere Verwaltung ungeplanter Aufgaben. Vollständige Transparenz und nahtlose Kommunikation sorgen für minimale technische Ausfallzeiten und eine stark beschleunigte Problemlösung für DevOps-Teams. 

Auf kultureller Ebene verspricht DevOps zufriedenere, produktivere Mitarbeiter und Teams, mehr individuelles Engagement und bessere Möglichkeiten zur persönlichen Entfaltung und Weiterentwicklung. Auf der wirtschaftlichen Ebene geht es darum, die Bereitstellung neuer zusätzlicher Funktionen, stabilerer Anwendungen, effizienterer Prozesse und mehr Raum für Innovationen zu beschleunigen. Gerade die wirtschaftlichen Vorteile machen die Einführung von DevOps für viele Unternehmen attraktiv.

Nachteile

Die Vorteile werden ohnehin viel häufiger diskutiert als die Nachteile, da technische, kulturelle und wirtschaftliche Vorteile viel prägnanter behandelt werden können. Nicht alle Mitarbeiter sind immer offen für solche Veränderungen. Meistens sind die noch immer meist strengen Hierarchien in den Unternehmen in Deutschland ein Hindernis auf dem Weg zur erfolgreichen Einführung von DevOps. Dennoch bleibt die Tatsache bestehen, dass es aus dem Wunsch heraus entstanden ist, Softwareentwicklungen schneller zu liefern und damit auf dem deutschen Markt lukrativ zu bleiben.

Erfahrungen mit DevOps

Erfahrungsgemäß braucht eine Umstellung der Unternehmenskultur seine Zeit – und vor allem ist Geduld gefragt, denn oftmals muss DevOps in vielen kleinen Schritten sukzessive eingeführt werden. Wichtig ist vor allem, dass im Unternehmen geeignete Rahmenbedingungen geschaffen werden. Dinge wie Vertrauen und respektvoller Umgang müssen vorgelebt werden. Dann lassen sich die unter dem Punkt „Nachteile“ beschriebenen Bedenken und Probleme leichter aus der Welt schaffen. Oftmals findet es in der Praxis schon statt, ohne dass es so genannt wird und zeigt so, dass es sich immer mehr in den Unternehmen etabliert.