Das richtige Umfeld für agile Methoden

DevOps-Erfolg ist eine Frage der Kultur

07.11.2018 von Martin Klapdor
Viele DevOps-Projekte sind nicht von Erfolg gekrönt. Laut Enterprise DevOps Survey 2017 räumten acht von zehn CIOs ein, dass ihre DevOps-Initiativen bislang gar nicht oder nur teilweise erfolgreich verliefen. Mit Schuld daran ist oft die Kultur in den betroffenen Unternehmen.

Im Wettlauf um die Digitalisierung sind agile Entwicklungsmethoden und vor allem der DevOps-Ansatz zu einem wichtigen Bestandteil in IT-Abteilungen geworden. So halten 88 Prozent der Unternehmen in Deutschland laut Umfrage des Softwareunternehmens CA Technologies agile Methoden und DevOps-Praktiken für erfolgsentscheidend bei der Digitalen Transformation. Vor allem die schnellere Entwicklungszeit von Software und Services stehen im Mittelpunkt von DevOps-Initiativen. Daneben verfolgen Unternehmen auch Ziele wie einen höheren Automatisierungsgrad, eine schnellere Marktreife und eine bessere Qualität von Services sowie geringere Investitions- und Betriebskosten. Dennoch haben bisherige DevOps-Projekte nicht den erhofften Erfolg gebracht. Laut Enterprise DevOps Survey 2017 geben acht von zehn CIOs an, dass ihre DevOps-Initiativen bislang gar nicht oder nur teilweise erfolgreich verliefen.

Damit die DevOps-Schleifen gut funktionieren, braucht es neben der Technik vor allem die richtige Kultur im Unternehmen.
Foto: Kalakruthi - shutterstock.com

Entwickler-Teams sollen neue Funktionalitäten und somit neue Software-Releases in hoher Geschwindigkeit bei höchstmöglicher Qualität und ohne Ausfallzeiten produzieren - Stichwort: Continuous Delivery. Möglich machen soll dies der Prozessverbesserungsansatz DevOps. Damit sollen sich einzelne Abläufe, genutzte Tools, Infrastruktur und alle beteiligten Mitarbeiter optimal aufeinander abstimmen lassen. Maximal optimiert, soll es der DevOps-Ansatz so möglich machen, mehrfach tagesaktuelle Software-Updates zu liefern.

Entscheidend dabei ist, dass das Entwickler-Team Hand in Hand mit dem Operations-Team (Ops, IT-Betrieb) zusammenarbeitet. Denn bei der Auslieferung neuer Releases treten typischerweise Spannungen zwischen beiden Teams auf. Während Developer darauf bedacht sind, dem Endnutzer neue Funktionen so schnell wie möglich zur Verfügung zu stellen, ist das Ops-Team primär auf Stabilität und das Minimieren von möglichen Ausfallrisiken mit Blick auf das gesamte IT-System fokussiert.

Lesen Sie mehr zum Thema DevOps:

Doch das Tempo, in dem digitale Services entwickelt und vom Nutzer gefordert werden, hat sich um ein Vielfaches erhöht – und wird durch die zunehmende Automatisierung noch zusätzlich befeuert. Darüber hinaus verstärkt der Paradigmenwechsel des DevOps-Ansatzes dieses Chaos noch weiter: lautete die Prämisse früher, ausfallsichere Anwendungen bereitzustellen, ist heute primär eine "safe-to-fail" Produktionsumgebung erforderlich. Sowohl die Tempoerhöhung im laufenden IT-Betrieb als auch der Paradigmenwechsel stellt IT-Operation-Teams vor große Herausforderungen – und führt folglich oft zu einem sprichwörtlich erhöhten Daten- und Verwaltungs-Chaos in Produktionsumgebungen.

Kulturelle Aspekte entscheiden über Erfolg oder Misserfolg

Eine enge Zusammenarbeit und Kommunikation zwischen den für die Service-Entwicklung und -Bereitstellung zuständigen IT-Teammitgliedern wird somit unerlässlich. Doch genau an dieser Stelle hapert es oft. So sind es vor allem kulturelle und kommunikative, weniger die technologischen Aspekte, warum DevOps-Ansätze scheitern. Bedenkt man zusätzlich, dass neben DevOps-Mitarbeitern auch SecOps, Quality-Assurance (QA), Systemarchitekten, DBAs, NetOps und Helpdesk beteiligt sind, erhöht sich das Potenzial für eine mögliche Fehlkommunikation weiter.

Diesem Aspekt wird auch bei der Messung des Reifegrads von DevOps-Initiativen eine hohe Bedeutung beigemessen. Ähnlich den Prinzipien des Software Capability Maturity Model (SW-CMM) und des vom Software Engineering Institute (SEI) der Carnegie Mellon Universität eingeführten IDEAL-Modells wird die Reife von DevOps demnach durch zwei Schlüsselattribute beeinflusst. Beide sind für das reibungslose Funktionieren einer DevOps-Organisation entscheidend.

  1. Das erste Schlüsselattribut ist die kulturelle Dimension. Die Herausforderung besteht darin, dass jedes Team – ob IT-Betrieb, QA- oder Entwickler-Team – naturgemäß eigene, spezifische Zielsetzungen verfolgt. So fokussieren sich Developer meist auf die Anzahl der Releases, die kontinuierlich erstellt werden können. Das QA-Team testet hingegen Anwendungsszenarien, wobei die Ausfallsicherheit des gesamten IT-Betriebs für das Ops-Team die höchste Priorität hat. Ist also eine DevOps-Organisation noch nicht entsprechend zusammengewachsen, konzentrieren sich die jeweiligen Teams eher auf die Optimierung ihrer eigenen Bereiche und eingesetzten Technologien wie Versionskontrollmanagement, kontinuierliche Integration, automatisiertes Testen, Deployment und Konfigurationsmanagement.

  2. Das zweite Schlüsselattribut für den DevOps-Reifegrad ist der Grad der Transparenz innerhalb einer Organisation – und zwar darüber, welche Technologien eingesetzt werden.

Sichtbarkeit bei allen Beteiligten muss gewährleistet sein

Die Etablierung einer effektiven Feedback-Schleife, einer durchgängigen Sichtbarkeit und Transparenz innerhalb der DevOps-Organisation ist also absolut erfolgskritisch. Dies lässt sich an einem typischen Beispiel veranschaulichen: Entwickler schreiben Code und bauen diesen zusammen, danach folgt die Qualitätssicherung, in der der Code getestet wird. Anschließend überwacht der Release-Manager die Integration und die Auslieferung (Deployment).

An diesem Punkt findet jedoch das Operations-Team ein Softwareproblem, das ab einer bestimmten Skalierung negative Auswirkungen hat. Das Entwicklerteam muss also den zugrundeliegenden Fehler schnell identifizieren können und neuen Code schreiben, der dann in der Produktionsumgebung korrekt funktioniert. Gibt es jedoch von Anfang an eine bessere Transparenz innerhalb der Prozesse und hat jeder Beteiligte Einsicht in das System, kann das Dev-Team bereits selbst mögliche Fehler erkennen. Diese müssten dann nicht erst im Nachhinein vom Ops-Team entdeckt werden. Somit könnte der gesamte Bereitstellungs- und Auslieferungs-Prozess beschleunigt und Feedbackschleifen wesentlich effektiver gestaltet werden.

Die Sichtbarkeit ist in diesem Fall also ein erfolgskritischer Teil des gesamten Prozesses und ermöglicht allen Beteiligten ein gemeinsames Bild der Lage. Doch weil Unternehmen historisch gewachsen oft eine Vielzahl von Netzwerk-, Infrastruktur- und Application-Performance-Management-Tools einsetzen, wird die Ansicht auf Systemebene über alle Schichten des Service-Stacks und deren Abhängigkeiten hinweg verschleiert. Um also den im Rahmen von DevOps-Initiativen benötigten Überblick zu erhalten, brauchen Unternehmen einen Einblick in alle Interdependenzen der Infrastruktur-Subsysteme und -Anwendungen.

Smart Data sorgen für Durchblick

Hierbei können insbesondere intelligente Daten (Smart Data) eine wesentliche Rolle spielen. Intelligente Daten sind Metadaten. Sie sollen Auskunft darüber geben, wie Leitungsdaten (Wire Data), beispielsweise Netzwerk- und Leistungsinformationen, verwaltet und verarbeitet werden. Smarte Daten analysieren dabei jedes IP-Paket, das während eines Entwicklungszyklus über das Netzwerk läuft und helfen dabei, ein gemeinsames Lagebild für alle am Prozess beteiligten Mitarbeiter zu schaffen. Daraus lassen sich auch Erkenntnisse gewinnen, wie sich Anwendungen innerhalb ihres Netzwerks verhalten und optimiert werden können.

Somit können DevOps-Teams Anomalien schneller erkennen und auf mögliche Sicherheits- und Performance-Probleme reagieren. Für 73 Prozent der IT-Entscheider hat daher das Monitoring – insbesondere für Anwendungen im Kundenkontakt – laut Analystenhaus Forrester eine hohe Bedeutung. Darüber hinaus appelliert das Analystenhaus einen "Single Point of Truth" einzurichten und auf ein einzelnes Monitoring-Tool zu setzen.

DevOps-Initiativen wirken sich positiv auf IT-Performance aus

DevOps-Initiativen sind vor allem dann erfolgreich, wenn Organisationen es schaffen, Silodenken aufzulösen, allen Beteiligten eine gemeinsame Sicht auf Prozesse und Systeme zu ermöglichen – und vor allem eine Kultur der Zusammenarbeit und der kontinuierlichen Kommunikation zu etablieren. Werden diese Herausforderungen gemeistert, wirkt sich der DevOps-Ansatz laut des State of DevOps Report 2017 von Puppet sowohl finanziell positiv als auch leistungssteigernd aus. So müssen leistungsstarke DevOps-Organisationen 21 Prozent weniger Zeit für ungeplante Arbeiten und Nacharbeiten aufwenden – und haben 44 Prozent mehr Zeit für andere Arbeiten, um etwa neue Funktionen zu entwickeln oder Code zu erstellen.