Erfolgreiches DevOps führt zu mehr Kundenzufriedenheit

Agilität und Kundenorientierung weiter gedacht führen zu DevOps. Die neue Methodik erfordert ein Umdenken, erhöht aber richtig eingesetzt die Produktivität und Kundenzufriedenheit. [...]

Klar definierte KPIs für das DevOps-Team erleichtern die Fortschrittskontrolle, führen zu einer kontinuierlichen Verbesserung und erhöhen so die Produktivität und die Kundenzufriedenheit. (c) Pixabay
Klar definierte KPIs für das DevOps-Team erleichtern die Fortschrittskontrolle, führen zu einer kontinuierlichen Verbesserung und erhöhen so die Produktivität und die Kundenzufriedenheit. (c) Pixabay

Agile Software-Entwicklungsmethoden wie Scrum und Kanban gehören heute zum Industriestandard. Nach anfänglicher Skepsis haben sie sich auf breiter Front durchgesetzt, weil sie schnellere Release-Zyklen ganz nahe an den Anforderungen des Kunden ermöglichen. Dadurch steigt die Qualität der Software-Services und damit die Zufriedenheit der Kunden. Der nächste logische Schritt heißt DevOps, ein Kunstwort aus Development und IT Operations. Auch hier überzeugen die Vorteile, die die Methodik bietet. Nur wenn die beiden ehemaligen „Silos“, die Software-Entwicklerteams und IT Operations, eng zusammenarbeiten, werden sie für ihre Kunden die bestmögliche Lösung entwickeln. DevOps-Teams sind im Durchschnitt 1,4 Mal innovativer als getrennt voneinander arbeitende Geschäftseinheiten (siehe „2019 Global Developer Report“ von GitLab). Auch Integrations- und Akzeptanztests, die in rund der Hälfte der Unternehmen zu Verzögerungen und damit zu einer drohenden verspäteten Auslieferung führen, lassen sich mit DevOps besser meistern. Insbesondere Integrationstests sind essenziell für eine vollständige Automatisierung des Deployment-Prozesses.

Cloud-Services mit extrem kurzen Release-Zyklen, Container und der Aufstieg von Managed Kubernetes zum Beispiel bei den Public-Cloud-Anbietern Amazon, Microsoft und Google zwingen Unternehmen dazu, alte Muster aufzubrechen und Teams zu bilden, die alle benötigten Rollen und Fähigkeiten abdecken und so die neue Realität besser abbilden. Der Betrieb der Software als Service gehört heute, zusammen mit Development und Deployment, direkt zur Wertschöpfungskette und bestimmt maßgeblich über den Markterfolg der Lösung. Denn eine Anwendung beziehungsweise ein Web-Service haben schließlich nur Wert, wenn sie performant und problemlos im produktiven Einsatz laufen.

Cross-funktionale Teams bilden

In der alten Welt konzentrierte sich die Software-Entwicklung auf die Anwendung, innovative, neue Features und eine kurze Time-to-Market. Ihr Job war nach der Ablieferung des neuen Releases erledigt. Der Fokus der Administratoren lag danach auf der Infrastruktur, auf 24/7-Verfügbarkeit, hoher Performance, kurzen Latenzzeiten und Stabilität. Die „Wall of Confusion“, das heißt der Verantwortungsübergang zwischen beiden Geschäftseinheiten wird in der neuen Welt mit Herausforderungen wie Continuous Delivery und Continuous Integration aber zunehmend obsolet, ja hinderlich. Starres Silodenken würde dazu führen, dass eine Geschäftseinheit die Versäumnisse der anderen zeit- und kostenintensiv ausbügeln muss. Je später das Feedback, desto größer die Schleife und desto teurer die Korrektur und Anpassung.

Veränderungen für Devs und Ops

DevOps ist jedoch kein Selbstläufer und verlangt Development und IT Operations einiges ab. Software-Entwickler werden sich stärker mit der Konfiguration von CI/CD-Pipelines und Containern, mit Fragen der IT-Sicherheit (DevSec) und mit der Auslieferung neuer Releases beschäftigen müssen. Neu für das DevOps-Team werden Infrastructure as Code, der Umgang mit der Versionsverwaltung und automatisierte Tests sein. Der IT-Dienstleister ConSol empfiehlt ein methodisches Vorgehen nach bewährten Best Practices.

Wie bei jedem Projekt startet man auch bei einem DevOps-Projekt mit einer klaren Bestandsaufnahme der Ist-Situation. Daran schließt sich die Auswahl der Projektwerkzeuge und des initialen DevOps-Technologie-Stack an. Standardisierte Projektwerkzeuge reduzieren Komplexität und erleichtern die Zusammenarbeit zwischen Entwicklung und Administration.

Danach wird über die Zusammensetzung des DevOps-Kernteams entschieden. Verfügen alle Mitglieder des Teams über die Qualifikation, die sie zur Erfüllung ihrer Aufgabe benötigen? Sind Schulungen zum Aufbau der erforderlichen Skillsets sinnvoll? Dieser Aspekt wird bei der Einführung von DevOps gerne vernachlässigt.

Klare, messbare Ziele definieren

Klar definierte KPIs für das DevOps-Team erleichtern die Fortschrittskontrolle, führen zu einer kontinuierlichen Verbesserung und erhöhen so die Produktivität und die Kundenzufriedenheit. Zu den Business-relevanten KPIs zählen unter anderem: die „Lead Time“, das heißt die Zeit vom Start der Entwicklung eines Features bis zu dessen Fertigstellung und Deployment sowie die Häufigkeit und Dauer der Deployments. Hinzu kommen Performance-Parameter wie der Daten-Durchsatz und die Antwortzeiten im produktiven Einsatz sowie technische Parameter wie Speicherbedarf und Prozessorauslastung. Hilfreich ist zudem, ein Lastprofil des ausgerollten Service zu erstellen mit dem Ziel, eine optimale Performance und möglichst kurze Latenzzeiten zu erreichen und um unerwartete Über- und Unterlast zu erkennen, um dann darauf reagieren zu können (zum Beispiel durch Hochskalieren des Clusters). Fehler beziehungsweise Unzulänglichkeiten im Betrieb sollten so schnell wie möglich erkannt und behoben werden.

Die Erfahrung hat gezeigt, dass eine auch vom Top-Management getragene gemeinsame DevOps-Vision den Erfolg von DevOps-Projekten beflügelt. DevOps ist nicht nur eine neue Methodik zur Verbesserung von Prozessen, ihr muss auch eine neue Unternehmenskultur zugrunde liegen. Entwickler und Administratoren müssen jeden Tag enger zusammenarbeiten und miteinander kooperieren. Dabei hilft auch räumliche Nähe. DevOps-Teams sollten außerdem ihr Projekt weitgehend selbst organisieren und eigene Budget-Verantwortung übernehmen.

DevOps-Praxistipps

Agilität weiter gedacht führt zwangsläufig zu DevOps. Unternehmen stoßen bei der praktischen Einführung der neuen Methodik jedoch häufig auf unterschiedliche Herausforderungen. So ist es ratsam, die Komplexität einer Anwendung, die mit DevOps entwickelt und bereitgestellt werden soll, im Blick zu behalten: Je komplexer die Anwendung, desto schwieriger gerät die Einführung von DevOps. Wie komplex eine Anwendung ist, lässt sich unter anderem über die Anzahl und Komplexität der Schnittstellen messen.

Auch für die Integration von Legacy-Anwendungen ist in der Regel eine sowohl kosten- als auch zeitintensive Migration nötig. Hinzu kommt, dass Legacy-Anwendungen teilweise unzureichend dokumentiert oder die Dokumentationen veraltet und falsch sind.

Besonderes Augenmerk sollte außerdem auf ein gutes Verständnis der Business-Prozesse, die mit der Anwendung interagieren, und auf eine adäquate Testabdeckung dieser Business-Prozesse gelegt werden. Zur Durchführung von automatisierten Tests für die Qualitätssicherung in der CI/CD- Pipeline sind unter anderem die Open Source Frameworks Citrus und Sakuli 2 von Consol eine ausgezeichnete Wahl. Nach erfolgreich absolvierten Tests besteht das Ziel darin, das neue Release automatisch auszurollen und in die bestehende IT-Landschaft zu integrieren, ohne dass die Mitarbeiter des Unternehmens ihre Arbeit unterbrechen müssen. Das Ziel heißt Zero Downtime.

Die Einführung von DevOps mag anfangs mit der Aufgabe alter Gewohnheiten und mit Umdenken verbunden sein. Aber es lohnt sich, diese Herausforderungen anzunehmen. Mit DevOps steigern Unternehmen ihre Produktivität, modernisieren und automatisieren ihre IT-Infrastruktur schneller, sind insgesamt innovativer und werden dafür mit zufriedeneren Kunden belohnt.

*Dr. Christoph Ehlers ist Technical Lead Software Engineering beim IT-Dienstleister Consol.


Mehr Artikel

News

Bad Bots werden immer menschenähnlicher

Bei Bad Bots handelt es sich um automatisierte Softwareprogramme, die für die Durchführung von Online-Aktivitäten im großen Maßstab entwickelt werden. Bad Bots sind für entsprechend schädliche Online-Aktivitäten konzipiert und können gegen viele verschiedene Ziele eingesetzt werden, darunter Websites, Server, APIs und andere Endpunkte. […]

Frauen berichten vielfach, dass ihre Schmerzen manchmal jahrelang nicht ernst genommen oder belächelt wurden. Künftig sollen Schmerzen gendersensibel in 3D visualisiert werden (c) mit KI generiert/DALL-E
News

Schmerzforschung und Gendermedizin

Im Projekt „Embodied Perceptions“ unter Leitung des AIT Center for Technology Experience wird das Thema Schmerzen ganzheitlich und gendersensibel betrachtet: Das Projektteam forscht zu Möglichkeiten, subjektives Schmerzempfinden über 3D-Avatare zu visualisieren. […]

Be the first to comment

Leave a Reply

Your email address will not be published.


*