Digitale Transformation DevOps: Im Wettlauf um die Digitalisierung
Im Wettlauf um die Digitalisierung sind agile Entwicklungsmethoden und vor allem der DevOps-Ansatz zu einem wichtigen Bestandteil in IT-Abteilungen geworden. Eine Mehrheit von Firmen hält diesen Prozessverbesserungs-Ansatz auf dem Weg der digitalen Transformation für unerlässlich.
Anbieter zum Thema

Laut Umfrage des Softwareunternehmens CA Technologies charakterisieren 88 Prozent der Unternehmen in Deutschland agile Methoden und DevOps-Praktiken, also die Synergie aus Development und Operations, als 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.
Unternehmen wollen hohes Innovationstempo erzielen
Mittels DevOps-Ansatz sollen Entwickler-Teams neue Funktionalitäten und somit neue Software-Releases in hoher Geschwindigkeit bei höchstmöglicher Qualität und ohne Ausfallzeiten produzieren (Continuous Delivery). Der Code wird vor der Implementierung erstellt, getestet und integriert. Möglich machen soll dies der Prozessverbesserungsansatz DevOps. Über diesen sollen einzelne Abläufe, genutzte Tools, Infrastrukturen und alle beteiligten Mitarbeiter optimal aufeinander abgestimmt werden.
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 gibt es typischerweise Spannungen zwischen beiden Teams. 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 das Minimieren von möglichen Ausfallrisiken mit Blick auf das gesamte IT-System fokussiert. 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. 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. 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. 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 weniger zeitintensiv 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. 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 rät 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.