iX Special 2019
S. 82
Softwareentwicklung
DevOps

Was bedeutet DevOps heute?

Eng verknüpft

Konstantin Diener

Viele Firmen verstehen unter DevOps reines Tooling. Dabei ist die kulturelle Veränderung sehr viel wichtiger. Aber auch beim Tooling hat sich in den letzten Jahren einiges verändert.

Tools und Technik sind immer noch ein erhebliches Element dessen, was heute als DevOps gilt. Inzwischen findet das Tooling in der Cloud statt. Daneben hat in den letzten zehn Jahren die Größe der Deployment-Einheiten stark abgenommen. Gleichzeitig ist ihre Anzahl enorm gestiegen (siehe Abbildung 1). Bestand damals eine Anwendung in der Regel aus einer oder wenigen Deployment-Einheiten, zum Beispiel einer EAR-Datei, sind Anwendungen heute aus vielen Dutzend kleiner Einzel­teile aufgebaut. Bei diesen kleinen Einzelteilen handelt es sich oft um Microservices. Ein sehr kleiner Service kapselt eine oder we­nige fachliche Problemstellungen (Bounded Context), enthält technisch aber alle Bestandteile, wie einen Webserver und so weiter, um autonom einsatzfähig zu sein.

Anzahl und Größe von Deployment-Einheiten 2009 und 2019 (Abb. 1)

Beschleunigt wurde diese Entwicklung durch das Aufkommen von Containertechniken, in erster Linie Docker. Dieser Technikansatz ermöglicht es erstmals auf einfache Weise, alle notwendigen Softwarezutaten transportierbar in einen Container zu packen und ohne Installation auf einer beliebigen Basisplattform auszuführen. Besonders mächtig wird er dadurch, dass es eine Vielzahl verschiedener fertiger Container-Images gibt (gängige Betriebssysteme, Application-Server etc.), die sich einfach um eigene Komponenten und Konfigurationen ergänzen lassen.

Ein zweiter Turbo für die immer kleinteiliger werdenden Anwendungen sind die wachsenden Technikangebote der Anbieter von Public Clouds und Managed Services. War es vor zehn Jahren noch absolut üblich, einen Datenbankcluster, einen Such­index oder eine NoSQL-Datenbank selbst aufzusetzen, zu be­treiben und zu patchen, kommen heute immer öfter Managed-Service-­Angebote zum Einsatz. Einige behaupten, was vor zehn Jahren die Suche nach einer passenden Java-Bibliothek war, sei heute die Suche nach einem passenden Managed-Service-Angebot. Für alle denkbaren Anwendungsfälle existierten entsprechende Managed Services. Dazu gehören etwa Messaging, Sprachausgabe, Caching, Authentication, relationale Datenbanksysteme, NoSQL-Datenbanken, Suchindizes, File Storage und viele mehr. Diese Services können zu einem sinnvollen Preis angeboten werden, weil sie in der Regel auf Basisservices der großen Public-­Cloud-Anbieter wie AWS basieren.

Kommentieren