Schneller reagieren, flexibel agieren: Devops für die öffentliche Verwaltung – Fragen an Laszlo Lück
Was verbirgt sich hinter der Bezeichnung „Devops“?
Laszlo Lück: „Devops“ setzt sich aus den beiden Wörtern Development und Operations zusammen. Das bedeutet, dass Entwicklung und Betrieb einer Anwendung eng miteinander verzahnt sind und dass die betriebliche Konfiguration einer Anwendung oder einer Anwendungslandschaft von den Entwicklern übernommen werden. Das klingt zunächst einfach. Tatsächlich bringt das eine ganze Reihe von Veränderungen mit sich. Die Umstellung des Vorgehensmodells hin zu einer agilen Softwareentwicklung ist nur eine davon.
Neben dem agilen Vorgehensmodell: Welche weiteren Veränderungen ergeben sich aus der Einführung von Devops?
Laszlo Lück: Die wichtigsten Merkmale sind Test Driven Development, Domain Driven Design, eine Vertikalisierung der Softwarearchitektur, der Einsatz cloudbasierter Technologien und nicht zuletzt Continuous Integration und Continuous Delivery. Es geht also um weit mehr, als dass die Entwickler ein wenig mehr machen und der Betrieb weniger. Devops bedeutet eine Veränderung der Kultur und der Strukturen, beispielsweise was die Rolle des PMO (Projektmanagement-Office) und die Einbindung der Stakeholder betrifft. Zuallererst muss sich etwas in den Köpfen und zwar in den Köpfen aller Beteiligten und Verantwortlichen ändern.
Das klingt durchaus komplex. Warum also sollte eine Organisation, eine Behörde diese Veränderung angehen? Welche Vorteile bietet Devops?
Laszlo Lück: Der Zugewinn durch Devops und dem damit verbundenen hohen Automatisierungsgrad liegt vor allem in der Geschwindigkeit. Das heißt, Änderungen bzw. Anpassungen der Software erfolgen in einer sehr hohen Frequenz. Die Software geht produktiv, sobald Tests und Deployment erfolgreich sind. Neue Technologien können problemlos in die bestehende Softwarelandschaft implementiert werden und Fehler nach ihrer Entdeckung sehr schnell behoben werden. Das alles wird auch in der öffentlichen Verwaltung immer wichtiger! Das hat sich gerade jetzt in der Pandemie gezeigt, gilt aber ebenso in normalen Zeiten.
Was steht einer Einführung dann entgegen?
Laszlo Lück: Ich denke, dass die Zeit für eine Umstellung jetzt gekommen ist, da die Krise den Druck verschärft und die Veränderungsbereitschaft gefördert hat. Allerdings: Devops macht man entweder ganz oder gar nicht. Daher gilt es, die Gunst der Stunde zu nutzen und Lösungen zu finden für die strukturellen Hürden, die es durchaus gibt: Da ist zum einen die institutionelle Trennung von Softwareentwicklung und Betrieb. Beides liegt in der Regel nicht in den Händen der Behörde, sondern bei ihren IT-Dienstleistern. Aber auch rechtliche Fragen beispielsweise hinsichtlich der Haftung (wer trägt Schuld an einem Fehler) im Betrieb sowie SLA, also Service-Level-Agreements, sind zu klären. Darüber hinaus gibt es in den Häusern keine Erfahrung mit Devops und daher auch niemanden, der den Veränderungsprozess steuern und begleiten kann. In jedem Falle braucht es aufgrund der hohen Komplexität bei allen Beteiligten eine große Bereitschaft, Wissen aufzubauen. Für all diese Punkte gilt es Lösungen zu finden, daher ist die Umstellung keineswegs unmöglich. Entscheidend ist, dass Continuous Integration und Continuous Delivery als fester Bestandteil der betrieblichen Automatisierung des Software-Liefer- und Deliveryprozesses von der Führung gewollt ist. Noch einmal: Am Ende ist vieles einfacher, und es kann viel schneller – auf Fehler oder neue Anforderungen – reagiert werden.
Wenn die Hürden aus dem Weg geräumt sind: Wie sieht der integrierte Prozess von Entwicklung und Betrieb nun konkret aus?
Laszlo Lück: Der Entwickler setzt beispielsweise eine Userstory im Zuge eines Sprints um, die dann getestet und anschließend über eine Versionsverwaltung eingespielt wird. Im Zuge der Continuous Integration werden die Änderungen am Code sofort gebaut und damit ein lauffähiges Artefakt erstellt, das nochmals durch die sogenannte Build-Pipeline getestet wird. Damit wird sichergestellt, dass die Anpassungen mit dem restlichen Code kompatibel sind. Danach kommt das Continuous Delivery ins Spiel: Das Artefakt wird in sogenannten Test-Umgebungen eingesetzt, und es werden vollautomatisierte Integrations-Tests durchgeführt. Wenn diese abgeschlossen sind, wird das Artefakt in die Produktivumgebung gespielt. Dabei gibt es keine festen Abstände für die Übergabe an den Betrieb mehr.
Und welche Rolle hat der Betrieb?
Laszlo Lück: Der Betrieb stellt die Serverlandschaft in Form einer großen Blackbox (z.B. in einer Private Cloud) zur Verfügung, die über definierte Schnittstellen angesprochen werden kann. Die Softwareartefakte, die in Form von Containern bereitgestellt werden, werden vom Betrieb entgegengenommen und einfach gestartet, da alle notwendigen Konfigurationen für den Betrieb der Applikation sich ebenfalls im Container befinden. Konfigurationen zu externen Systemen bspw. Datenbanken, werden durch den Betrieb vorgegeben und beim Start der Container für die entsprechende Umgebung geladen. Der Betrieb hat die Aufgabe die (Hardware-) Ressourcen zu überwachen und dann agieren bevor Engpässe im Gesamtsystem auftreten.
Was müssen Behörden bei ihrer Entscheidung für eine Umstellung noch beachten?
Laszlo Lück: Der Aufwand für die Umstellung ist durchaus hoch, sowohl finanziell als auch zeitlich. Denn Devops verändert die Zusammenarbeit aller Teams eines Software-Projektes, nicht nur technisch und organisatorisch, sondern auch hinsichtlich des Vertrauens und des Zusammenspiels. Dafür braucht es unbedingt ein Management, das nicht nur Devops verstanden hat, sondern es vor allem auch lebt.