Lieber Laszlo, 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.
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.
Interviewpartner
Laszlo Lück verfügt als Lead-IT-Consultant bei msg Public Sector über langjährige Erfahrung beim Aufbau von Microservice-orientierten Architekturen, bei der Entwicklung von IT-Software mit funktionalen Programmiersprachen, dem Entwurf von komplexen IT-Systemen und hat in verschiedenen Projekten den Change von klassischen zu modernen Vorgehensmodellen begleitet.