Release-Prozesse stecken voller möglicher Fehlerquellen, die es auszuräumen gilt. Das Release Management ist deshalb heute ein wichtiger Bestandteil der Softwareentwicklung und gewinnt aktuell immer mehr an Relevanz.
Eine CI/CD-Pipeline soll DevOps-Prozesse reibungslos gestalten, in der Realität hapert es aber an einigen Stellen.
Beim iterativen Vorgehen, das durch die Einführung von agilen Methoden etabliert wird, nimmt der zeitliche Abstand zwischen neuen Softwareversionen ab. Im Idealfall wächst die Häufigkeit von Releases im gleichen Maße an. Mehrere Releases innerhalb einer Woche oder sogar innerhalb eines Tages sind keine Seltenheit mehr.
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)
E-Book zum Thema
Unser eBook „Container-Orchestrierung“ befasst sich mit den Container-Cluster-Managern Docker Swarm, Kubernetes und Mesosphere.
Kommen Microservice-Architekturen zum Einsatz, steigt die Komplexität der Releases durch die Menge der unterschiedlichen Artefakte an. Die einzelnen Dienste werden in vielleicht sogar in verschiedenen Umgebungen ausgerollt, für die jeweils unterschiedliche Zugänge, Tools und Schnittstellen erforderlich sind.
Durch die gestiegenen Anforderungen an das Release Management beansprucht der Release-Prozess im Entwicklungszyklus immer mehr Ressourcen. Hier kommt der Faktor Automatisierung ins Spiel: Bei manuellen Releases würden die Effizienzgewinne verpuffen, welche sich in der Softwareentwicklung aus agilen Methoden und Microservices ziehen lassen. DevOps wird eingesetzt, um diese Herausforderung zu meistern.
Im Folgenden erfahren Sie mehr über die Grundlagen des (agilen) Release Managements, wie sich dieses in einer Cloud-basierten CI/CD Pipeline realisieren lässt und welche konkreten Anwendungsfälle für die Implementierung relevant sind.
Release Management im DevOps-Kontext
Der Release-Prozess lässt sich mit der folgenden kurzen Definition beschreiben, die die zwei wesentlichen Aspekte beinhaltet: Ein Software-Release-Artefakt wird innerhalb einer bestehenden Produktionsumgebung in Betrieb genommen. Wie erfolgreich die Inbetriebnahme ist, hängt dabei von beiden Seiten ab.
Das Release Management hat dabei die Aufgabe, die Schritte im Release-Prozess vorzugeben sowie Code und Dokumentation auf ihre Qualität hin abzusichern. Ein standardisierter Ansatz für das Release Management findet sich bei ITIL (IT Infrastructure Library) im Abschnitt „Service Management Practices“.
ITIL ist im Hinblick auf DevOps nicht unumstritten, obwohl – oder gerade weil – es eine lange Historie vorweisen kann. So wird argumentiert, ITIL sei veraltet und werde durch einen modernen DevOps-Ansatz obsolet gemacht. Eine solche radikal anmutende Sichtweise ist jedoch keine rein technische Entscheidung und muss auch von Unternehmensstrukturen mitgetragen und unterstützt werden.
In hybriden und hochskalierten Umgebungen stehen konventionelle Prozessstandards wie ITIL dem DevOps-Ansatz jedoch keineswegs entgegen; vielmehr stellen sie eine sinnvolle Ergänzung dar, um die Qualität der schnell aufeinander folgenden Releases hochzuhalten. Die primäre Zielsetzung bei ITIL – nämlich die Integrität der Live-Umgebung zu schützen und sicherzustellen, dass nur geprüfte Komponenten ausgerollt werden – ist auch bei DevOps beziehungsweise Continuous Delivery eine notwendige Bedingung.
Arbeitet die Softwareentwicklung mit Scrum, ist das Release Management in jedem Sprint mit einbezogen. Statt von „Release“ wird in diesem Kontext jedoch von „Inkrement“ gesprochen. Ziel ist schließlich, dass jeder Sprint am Ende ein funktionsfähiges Produkt hervorbringt. Agile Methoden berücksichtigen jedoch nicht die speziellen Anforderungen des Betriebs. Um diesen besser gerecht zu werden, schlägt das Scrum Institute einen Sprint-übergreifenden Release-Plan vor, der mit dem Backlog vergleichbar ist.
Strategien der Release-Planung in DevOps
Die DevOps-Methodik ordnet die Möglichkeiten der Release-Planung in vier Strategien ein, welche aufsteigend nach Effizienz beziehungsweise Reifegrad sortiert werden:
Release Windows (langsame Abfolge) – Bei dieser, in der Vergangenheit oft genutzten Strategie stehen den Entwicklerteams bestimmte Zeitfenster zur Verfügung, in denen ihre Artefakte in den Betrieb gehen dürfen. Ein großer Nachteil hierbei ist, dass die Releases zeitlich deutlich auseinanderliegen, was eine schnelle Reaktion auf neue Anforderungen oder auch Fehlerkorrekturen erschwert. Handelt es sich um eine Applikation, die global und durchgehend verfügbar sein soll, ist es zudem nicht einfach, Zeitpunkte mit niedriger Auslastung für die Release Windows zu finden.
Release Train – Hinter dem Release Train verbirgt sich die Metapher einer Zugstrecke, auf der zu bestimmten Zeiten verschiedene Züge abfahren und auch zu definierten Zeiten ihr Ziel erreichen. Dieses gedankliche Modell soll vor allem in Szenarien helfen, in denen verschiedene Teams und Abteilungen zusammenarbeiten. Die Release Trains koordinieren die jeweiligen Release-Prozesse und stimmen sie aufeinander ab. Ein Nachteil hierbei ist, dass ein eher starrer Zeitplan entsteht, der sich schlecht auf rasch ändernde Anforderungen anpassen lässt. Unnötiges Warten auf den nächsten Release Train führt außerdem zu einer Verschwendung an Zeit und Ressourcen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Release Windows (schnelle Abfolge) – Die Nachteile der beiden oben dargestellten Strategien lassen sich kompensieren, indem der zeitliche Abstand zwischen den Release Windows verkürzt wird. Hierdurch steigt jedoch auch der Aufwand für die Koordination, wodurch die kürzere Time to Market wiederum mit personellen Ressourcen „erkauft“ werden muss.
Kontinuierliche Releases – Continuous Delivery ist bei DevOps der Idealzustand. Sie ist erreicht, wenn Continuous Integration (CI) und Continuous Deployment (CD) nahtlos ineinander übergehen. Jede Änderung im Quelltext wird automatisch qualitätsgesichert und bis in die Produktionsumgebung ausgeliefert, was die Time to Market enorm beschleunigt.
Architektur einer Continuous Delivery Pipeline.
(Bild: AUSY Technologies Germany AG)
Wie ein vollumfassender Continuous-Delivery-Prozess in einer Cloud-Umgebung aussehen kann, zeigt die vorangestellte Grafik.
Die Artefakte, die über eine klassische CI-Pipeline gebaut werden und die ersten Stufen der Testpyramide erfolgreich passiert haben, werden automatisch versioniert und der ersten Stage zugeordnet. Wenn die CI-Pipeline nur bis zum Komponententest laufen kann, ist diese erste Stage in der Lage mehrere Komponenten in einem Integrations oder Ende-zu-Ende Test zu validieren. War der Test erfolgreich, wurde das Qualitygate der Stage passiert und die Komponenten werden der nächsten Stage zugeordnet.
Dieses Verfahren kann so oft wiederholt werden, wie es sinnvoll erscheint. Es führt letztlich im immer gleichen Verfahren von den Dev und Test Stages auf die Preprod und auf die Prod Stage. Durch das in den Artefakten integrierte Konfigurationsmanagement mit Infrastructure-As-Code und versionierten Umgebungseigenschaften, werden die Stages durch ein Release automatisch und nachweisbar korrekt konfiguriert.
Das Ziel einer echten CI/CD Pipeline ist es, den Übergang von Softwareentwicklung und Betrieb vollkommen reibungslos ablaufen zu lassen. Mit der Verbindung von DevOps, Git (GitOps) und Infrastructure as Code rückt diese ambitionierte Zielsetzung der Realität ein ganzes Stück näher. Das Betriebsteam übergibt dabei die Umgebungskonfiguration in die Cloud-Umgebung, sodass der gesamte Prozess in der Cloud abläuft. Versionierung, Installation und Tests laufen automatisch ab.
Allerdings ist dies in der Praxis eher selten anzutreffen, da in der Regel noch gewisse personelle und organisatorische Hürden bestehen. Zudem kann Continuous Delivery das volle Potenzial nur mit einem hohen Automatisierungsgrad ausschöpfen. Dies gelingt zwar mit der entsprechenden technischen Expertise und praktischen Erfahrungen, aber gerade hieran fehlt es momentan noch vielen Unternehmen.
Thomas Strauß
(Bild: StefanFreundFotografie)
* Thomas Strauß ist seit 2018 als Software-Architekt und Teamleiter für die AUSY Technologies Germany AG tätig. Sein Interessensschwerpunkt liegt auf verteilten Systemen mit hoher Bandbreite sowie Cloud-Architekturen im Speziellen. Im Rahmen des Technologie-Managements bei AUSY Technologies befasst er sich intensiv mit technologischen Innovationen. Thomas Strauß schloss den Studiengang Informationswissenschaft an der Universität des Saarlands mit einem Magister ab.
E-Book zum Thema
Container-Orchestrierung
eBook „Container-Orchestrierung“
(Bild: Dev-Insider)
Container haben die DevOps-Idee revolutioniert. Dazu bedarf es eines Container-Clusters nebst zugehöriger Verwaltungsinstrumente. Wir nehmen den Platzhirsch Kubernetes und seine direkten Konkurrenten genauer unter die Lupe.