DevOps gibt es seit fast zwei Jahrzehnten. Obwohl sich die Methode in dieser Zeit stark weiterentwickelt hat und man meinen möchte, DevOps ist gelernter Standard in den IT-Teams, kann von einer universellen Erfolgsformel keine Rede sein.
Deshalb haben sich verschiedene Experten zusammengetan und sechs Fehler herausgearbeitet, die es zu vermeiden gilt.
Viele Möglichkeiten, aber auch viele Unwägbarkeiten
Isaac Sacolick, Präsident von StarCIO, war damals begeistert von der Möglichkeit, die Bereitstellung von Software weitgehend zu automatisieren und Spannungen zwischen Entwicklungs- und IT-Teams abzubauen. Dennoch kritisierte er anfangs, dass DevOps zu entwicklungsfokussiert sei. Auch Fragen hinsichtlich Verantwortlichkeiten im Zuge von DevOps und den grundlegenden Veränderungen durch die Methodik blieben zunächst unbeantwortet.
Sacolick kam zu dem Schluss, dass viele CIOs unsicher sind, welche Praktiken priorisiert werden sollten. Deshalb ließen sie sich von vereinfachten Implementierungen irreführen, die nicht den komplexen Anforderungen großer Unternehmen entsprechen. Herausforderungen wie Multi-Cloud-Architekturen und der Druck zur beschleunigten Einführung von KI beeinflussten zudem die DevOps-Strategien.
Zudem würden viele CIOs bei der Implementierung zunächst auf Tools und vernachlässigen den notwendigen kulturellen Wandel setzen, moniert der IT-Experte. Dieser Wandel erfordere aber eine enge Zusammenarbeit zwischen Entwicklung und Betrieb. Nur so ließen sich Agilität in der Entwicklung und Stabilität im Betrieb verbessern.
DevOps sind mehr als nur IT
Naresh Duddu von Infosys sieht dies genauso und warnt die CIOs, DevOps fälschlicherweise als reine IT-Implementierung zu betrachten. Dabei würden sie die Kulturveränderung hin zu mehr Zusammenarbeit und kontinuierlicher Verbesserung vernachlässigen. Vielmehr sollten DevOps-Praktiken auch auf
die gesamte Wertschöpfungskette,
Kundenfeedback,
Sicherheit,
Skalierbarkeit sowie
Compliance und Governance ausgerichtet werden.
Für eine erfolgreiche DevOps-Implementierung müssten CIOs deshalb eine Kultur fördern, die den Workflow betont und DevOps-Praktiken in bestehende Governance-Frameworks wie ITIL integriert, um Agilität und Compliance sicherzustellen, sagt Gabby Menachem von ServiceNow.
Auch Rick Boyce von AND Digital warnt, dass eine IT-Projektmentalität DevOps behindern und die Geschäftsziele gefährden kann. Wenn DevOps als isolierter IT-Prozess behandelt würde, verlangsamen sich Produktzyklen und die Abstimmung zwischen Entwicklung und Geschäftszielen leidet. Eine Kultur der Zusammenarbeit und geteilten Verantwortung hingegen verbessert die Produktqualität, verkürzt die Markteinführungszeit und erhöht die Anpassungsfähigkeit, so der Experte.
Führung bedeutet Etabliertes zu Hinterfragen
Sacolick wiederum empfiehlt, dass Führungskräfte ihr Verständnis von Schlüsselpraktiken wie Agile Softwareentwicklung, DevOps und Produktmanagement hinterfragen sollten. Zusätzlich gelte es, sich der Unterschiede in den Kernprinzipien, Methoden und Tools bewusstzuwerden.
Wichtig sei darüber hinaus, die Meinungen der Mitarbeiter einzuholen und für ein Gleichgewicht zwischen Innovation und Betriebsstabilität zu sorgen. Das bilde den Kern jeder DevOps-Kultur.
Weiterhin fand Sacolick heraus, dass einige DevOps-Teams zu stark auf schnelle, kontinuierliche Bereitstellung (CI/CD) setzen, indem sie kurz getaktet Code in Produktion bringen. Diese Praxis ist jedoch nicht immer geeignet da
wirklich robuste Tests oft teuer sind,
Stakeholder die Kosten nicht immer verstehen und
Endnutzer häufige Bereitstellungen während Spitzenzeiten nicht tolerieren.
CIOs müssten deshalb sicherstellen, dass DevOps-Teams über die nötigen Sicherheits-, Beobachtungs- und Automatisierungsfähigkeiten verfügen, um hohe Serviceziele zu erreichen. Oft würden allerdings Abkürzungen genommen, um die Bereitstellung zu beschleunigen, was jedoch häufig auf Kosten der Qualität geht.
Tests von Mensch und Maschine sind unerlässlich
Wie massive Fehlschläge aussehen können, zeigt das CrowdStrike-Desaster. Ein fehlerhaftes Update legte 8,5 Millionen Windows-Computer lahm und zog damit erhebliche finanzielle Schäden nach sich.
Dies sollte CIOs als Warnung dienen, DevOps-Teams nicht ohne ausreichende Tests, Rollback-Möglichkeiten und eine gewisse Überwachung zu schnell arbeiten zu lassen. Laut dem State of DevOps Report 2023 erreichen nur 18 Prozent der Unternehmen Spitzenleistungen, indem sie bei Bedarf bereitstellen und schnell auf Fehler reagieren. Viele andere Unternehmen stellen dem Report zufolge Software-Releases seltener bereit, haben aber immer noch höhere Fehlerraten und längere Wiederherstellungszeiten. Diese Benchmarks sollten bei der Implementierung von DevOps beachtet werden, so der Präsident von StarCIO.
Kalkuliertes Risiko ist Trumpf
Sacolick empfiehlt, dass CIOs einen risikobasierten Ansatz verfolgen und die Auswirkungen auf Unternehmen, Kunden und Mitarbeiter verstehen sollten, bevor sie anwendungsspezifische Strategien für die kontinuierliche Bereitstellung festlegen.
Anwendungen, die für häufige, kontinuierliche Bereitstellungen zugelassen sind, sollten über robuste Testszenarien, verbesserte Beobachtbarkeit und eine sogenannte Canary-Release-Strategie verfügen, um Risiken zu minimieren. Letztere dient dazu das Risikos bei der Einführung einer neuen Softwareversion in der Produktion zu verringern. Hierbei wird die Änderung langsam an eine kleine Untergruppe von Benutzern ausgerollt, bevor sie für die gesamte Infrastruktur und für alle verfügbar gemacht wird.
Zu wenig Erfahrung für Endbenutzer und Entwickler
DevOps-Praktiken konzentrieren sich oft stark auf Automatisierung wie CI/CD und Infrastruktur als Code, so Sacolick. Darüber würden CIOs möglicherweise vergessen, in Maßnahmen zu investieren, die das Benutzererlebnis, die Abstimmung mit Geschäftsbeteiligten und das Entwicklererlebnis verbessern. Feature Flags bieten, so der Experte, Potenzial für sichere Bereitstellungen und A/B-Tests. Sie würden aber oft nur zur Kontrolle des Benutzerzugangs verwendet.
Ein weiteres Problem, dass der ehemalige CIO sieht, ist die Überlastung von Entwicklern durch Aufgaben wie Infrastrukturautomatisierung, Tests und Sicherheitsfunktionen, was ihre Produktivität senken könnte. Rob Whiteley von Coder warnt davor, dass das "Shift Left"-Prinzip zwar Automatisierung fördert, aber oft die kognitive Belastung der Entwickler erhöht und ihre Produktivität beeinträchtigt.
Deshalb empfiehlt Sacolick, CIOs sollten Fragen stellen und Diskussionen darüber führen, wie sich DevOps-Praktiken auf Menschen auswirken, einschließlich Kunden, Endbenutzer, Mitarbeiter und Entwickler. Darüber hinaus sollten sie sich auch mit den Rollen und Verantwortlichkeiten auseinandersetzen und die Definition eines Governance-Modells überwachen. Nur so lasse sich eine Überlastung aller Beteiligten vermeiden sowie Lücken in den Verantwortungsketten schließen.
Eigenentwicklung ist ein zweischneidiges Schwert
Die Möglichkeit für Teams, ihre eigenen Plattformen, Werkzeuge und Technologien auszuwählen, kann zwar zu besseren Ergebnissen führen, birgt jedoch Risiken wie erhöhte technische Verschuldung und mehr Komplexität, wenn keine Standards etabliert würden. Laut dem DORA-Forschungsprogramm von Google Cloud unterstützt Plattform-Engineering die Entwicklung wiederverwendbarer, konfigurierbarer Self-Service-Komponenten, um DevOps-Standards zu schaffen.
Der "2024 State of DevOps Report" zeigt, dass 78 Prozent der Unternehmen seit mindestens drei Jahren Plattform-Engineering-Gruppen eingerichtet haben, was letztendlich zu höherer Produktivität, besserer Softwarequalität, schnelleren Bereitstellungen und stabileren Anwendungen führt, und hilft, den Fokus auf Geschäftsziele zu bewahren.
Intern muss die Balance gefunden werden
Lukas Gentele, CEO von Loft, betont, dass Automatisierung wichtig ist, aber nicht alle Probleme löst, insbesondere wenn die Architektur eigentlich nicht für skalierbare Umgebungen geeignet ist.
Sacolick empfiehlt deshalb, CIOs sollten mit ihren DevOps-Teams ein Gleichgewicht zwischen Selbstorganisation, Experimentieren mit neuen Technologien und der Schaffung von Standards finden. Zudem sollten sie die Rollen von Unternehmensarchitekten und Delivery Leaders berücksichtigen und deren Zusammenarbeit bei Fragen zu DevOps-Plattformen und -Methoden fördern.
Ohne gutes Personal lässt sich nichts entwickeln
Experten haben zudem herausgefunden, dass trotz der Möglichkeit für Teams, DevSecOps-Prinzipien zu erlernen, viele Unternehmen nicht genügend Personal haben, um proaktive Risiken zu minimieren und robuste Sicherheitsmaßnahmen zu etablieren. So weist Moti Gindi von Apiiro darauf hin, dass viele CIOs fälschlicherweise denken, dass Anwendungssicherheit lediglich die Verwaltung einer Liste von Schwachstellen umfasst, während die Priorisierung von Abhilfemaßnahmen oft reaktiv erfolgt.
Bill Murphy von LeanTaaS wiederum warnt, dass DevOps-Teams möglicherweise zu wenig auf Datensicherheit achten, was sich negativ auf den Ruf und die Geschäftschancen eines Unternehmens auswirken könne. Andrea Malagodi, CIO von Sonar, betont zudem, dass der Einsatz von KI zur Codegenerierung nützlich sein kann.
Jedoch muss sichergestellt werden, dass sich Teams auf gutes Design, geeignete Architekturmuster und rigorose Code-Tests konzentrieren, um Qualitäts- und Sicherheitsstandards einzuhalten.
CIOs sollten deshalb, so Sacolicks Empfehlung, Produktmanager und Entwicklungsleiter dazu anregen, ihre Roadmaps auch mit Informationen zu Prioritäten für neue Funktionen, dem Risiko neuer technische Schulden und Aspekten wie Risikominderung ergänzen.
Unternehmen sollten zudem eine Strategie für das Versionsmanagement entwickeln und regelmäßig überprüfen, wie jedes Team Prioritäten setzt und Risiken angeht, während sie durch Automatisierung und kontinuierliche Tests die Bereitstellungshäufigkeit erhöhen.
Versäumnis, die DevOps-Rolle des CIO zu definieren
CIOs machen überdies häufig den Fehler, sich erst nach schwerwiegenden Problemen wie Systemausfällen, fehlgeschlagenen Implementierungen oder Sicherheitsverstößen mit DevOps zu befassen.
David Brooks von Copado betont, dass CIOs oft dazu neigen, die Diskussion über DevOps an weniger erfahrene Teammitglieder zu delegieren, obwohl es dabei darum geht, dem Unternehmen schnell und zuverlässig Mehrwert zu liefern, was für die digitale Transformation entscheidend ist.
Da DevOps seit vielen Jahren etabliert ist, sollten CIOs die unterschiedlichen Visionen und Ansätze ihrer Teamkollegen berücksichtigen. Sie sollten proaktiv an der Definition der DevOps-Kultur mitwirken, die Zusammenarbeit mit den Teams regelmäßig gestalten und Praktiken fördern, die den Geschäftsanforderungen entsprechen.