Endlich agil dank DevOps
Qualitätssicherung bereits zu Beginn der Entwicklung
com! professional: Was können sich Unternehmen von DevOps versprechen?
Gerst: Der Vorteil ist, sehr viel agiler zu sein, was die digitalen Schnittstellen hinsichtlich Entwicklung und Time-to-Market für neue Funktionalitäten und Fehlerbeseitigung angeht. Sprich: Der Mehrwert für den Kunden lässt sich deutlich schneller liefern. Die Kosten für neue Features sinken, weil sich diese Schnelligkeit in der Regel nur durch Automatisierung erreichen lässt. Und wird DevOps richtig umgesetzt, steigt auch die Qualität der Produkte.
com! professional: Wieso steigt durch Automatisierung am Ende die Qualität des Produkts?
Gerst: Das Schlagwort lautet Shift Left, eine Methode, bei der die Qualitätssicherung bereits zu Beginn des Entwicklungsprozesses involviert wird. So können Fehler und Probleme viel früher erkannt werden. Die Bugs tauchen nicht mehr erst in der letzten Stufe des Migrationstests oder gar erst in der Produktion auf, sondern schon bei den Programmierern.
com! professional: Wie sollten CIOs an das DevOps-Thema herangehen? Gibt es eine Blaupause für die perfekte, die schnellste oder die effektivste Umsetzung?
Gerst: Das ideale Modell ist natürlich ein sehr spannendes Thema. Ob es die eine Blaupause gibt, wie man es idealerweise macht, das kann ich nicht sagen. Was wir bei unseren Kunden sehen ist, dass DevOps meistens anhand bestimmter Projekte und Initiativen umgesetzt wird.
com! professional: Haben Sie ein Beispiel parat?
Gerst: Zu unseren Kunden gehört beispielsweise eine grosse Bank, die eine Homebanking-App herausbrachte, die allerdings von Kunden sehr schlecht bewertet wurde. Da eine Homebanking-App für eine Bank mittlerweile mit das Wichtigste überhaupt ist, landete das Problem beim Executive Level. Dort wurde nach Möglichkeiten gesucht, die App zu verbessern und schneller mit neuen Funktionen auszustatten. Entsprechend wurde ein Programm initiiert, das sich ausschliesslich auf die Verbesserung der Homebanking-App fokussierte.
Bei der Prüfung stellte sich relativ schnell heraus, dass die App zwar problemlos um neue Features hätte erweitert werden können, die vielen daran angeschlossenen Backends aber die entsprechenden Funktionalitäten gar nicht bereitstellen konnten oder die Integration in der nötigen Geschwindigkeit schlicht überhaupt nicht möglich war.
Gerst: Der Kunde setzte ein Projektteam auf, dessen Kern aus dem Banking-App-Team bestand, in das aber Personen aus verschiedenen anderen Bereichen wie Operations, Netzwerk, Firewall und den Backend-Applikationen hineingezogen wurden. Das ist bereits der DevOps-Ansatz: die Leute zusammenbringen, miteinander sprechen lassen, Kontakt halten. Gleichzeitig gab es Zieldefinitionen, um alle zur Mitarbeit zu bewegen. Die Ziele der Firewall-Entwickler wurden etwa daran gemessen, wie gross die End-to-End-Durchlaufzeit von neuen Releases war. Die Einzelvorgaben wurden wiederum so aufeinander abgestimmt, dass alle Teilteams für dasselbe Ziel arbeiteten.
Dieser Projektansatz hat dann tatsächlich dazu geführt – unter Zuhilfenahme von Technologie wie Release Automation –, dass alle Projektbeteiligten zusammenarbeiteten. Die App wurde einerseits erheblich und entscheidend verbessert. Andererseits wurde die Zeitspanne für neue Features drastisch gesenkt. Vom Zeitpunkt der ersten Änderung am Code bis zum Operations verging nur noch eine Woche, inklusive Testing. Zuvor waren es vierzehn bis fünfzehn.
com! professional: Was wurde aus dem Projektwissen?
Gerst: Der Kunde übertrug es in eine Art Center of Excellence, hin und wieder auch DevOps-Center genannt. Das halte ich für das beste Modell.
com! professional: Gibt es weitere Beispiele?
Gerst: Das Schweizer Telekommunikationsunternehmen Swisscom, das eine Spezialfunktion für digitales Fernsehen entwickelt hat, wollte Änderungen, angefangen beim Frontend der App und im Web bis hin zu den Backend-Systemen, schnell durchziehen, um permanent neue Features herausbringen zu können. Dazu hat das Unternehmen nicht nur alle relevanten Leute in einem Team organisiert, sondern sie auch physisch in einem Gebäude konzentriert und sie dort intensivst zusammenarbeiten lassen.
com! professional: Lassen sich die Beispiele auf einen Nenner bringen?
Gerst: Will man erfolgreich sein, muss zunächst eine Sponsorship geschaffen werden. Das sehen wir bei unseren Kunden immer wieder. Es muss das Bewusstsein auf allen Unternehmensebenen vorhanden sein, bei der Entwicklung schneller werden zu wollen. Und dann müssen die Leute zusammenarbeiten und auch zur Zusammenarbeit gebracht werden. Sie benötigen einen Anreiz. Normalerweise redet der Firewall-Experte nicht mit dem Entwickler – auf jeden Fall nicht regelmässig – und normalerweise sind sie auch nicht die besten Freunde. „Müssen wir wirklich schon wieder einen Port öffnen?“ und ähnliche Fragen sind nicht selten. Sie alle müssen ein gegenseitiges Verständnis füreinander aufbauen. Das geschieht automatisch, wenn sie permanent zusammenarbeiten.
com! professional: Das heisst, die Kommunikation ist die eigentliche Essenz des DevOps?
Gerst: Die Kommunikation in Verbindung mit entsprechenden Anreizen. Und wir haben mittlerweile Technologie, die dabei unterstützen kann. Release Automation, eines unserer Tools, konzentriert sich darauf, wie ein Stück Code, wenn es einmal im Developing getestet wurde, über die einzelnen Stages ins Operations gelangt. In Release Automation lässt sich ein Workflow mit allen Beteiligten definieren. Das ist zum einen vorteilhaft, um es tatsächlich schnell ablaufen zu lassen. Zum anderen ist es aber auch eine Single-Version-of-the-Truth. Das heisst, ich habe für mein bestimmtes Thema einen definierten Prozess, den sich jeder anschauen kann. So ist klar, was wann abzuarbeiten ist, etwa die Checkpoints und Meilensteine mit den jeweiligen Verantwortlichen.
Jeder weiss stets, was gerade passiert. Die ideale Basis zu einer vereinfachten Kommunikation.