Definition „Kontinuierliche Auslieferung“

Was ist Continuous Delivery?

| Autor / Redakteur: Ilan_r_r / Stephan Augsten

Continuous Delivery zeichnet sich dadurch aus, dass Updates und andere Software-Änderungen in kleinen Paketen ausgeliefert werden.
Continuous Delivery zeichnet sich dadurch aus, dass Updates und andere Software-Änderungen in kleinen Paketen ausgeliefert werden. (© Cybrain - stock.adobe.com)

Der Begriff der Continuous Delivery beschreibt eine Sammlung von Techniken, Prozessen und Werkzeugen, mit deren Hilfe kurze Entwicklungszyklen und die schnelle Auslieferung von Software-Updates oder produktiven Endsystemen ermöglicht werden.

Die Idee hinter dem Begriff Continuous Delivery lässt sich am besten mit einer auf Knopfdruck abrufbaren Software vergleichen. Wenn der Kunde eine aktuelle Version seiner Software wünscht, muss er diese nur anfordern.

Bei klassischen Entwicklungssystemen bzw. -ansätzen war und ist das nicht möglich. Die Software wurde zunächst programmiert, dann getestet und evaluiert und weiteren Überarbeitungen und Prüfungen unterzogen, ehe sie beim Kunden ankam.

Continuous Delivery verändert dieses System und sorgt durch die kontinuierliche Überprüfung aller Änderungen und durch die automatisierten Tests für eine jederzeit lauffähige Software. Der Kunde kann somit tatsächlich in beinahe jedem Entwicklungsstand der Software die aktuelle lauffähige Version anfordern und erhält ein überprüftes und getestetes System ohne Fehler. Somit lassen sich die Prozesse deutlich beschleunigen und verschlanken, was vor allem wirtschaftliche Vorteile mit sich bringt.

Von der Idee bis zum Kunden mittels Continuous Delivery

Der Prozess der Continuous Delivery wurde erstmals im Jahr 2006 in einem Vortrag von Jez Humble, Chris Read und Dan North erwähnt. Humble und David Farley haben das Thema deutlich vertieft in ihrem Buch „Continuous Delivery“ aus dem Jahr 2010. Ziel war und ist es, von der anfänglichen Idee bis zum Endprodukt eine möglichst kurze und variable Kette zu schaffen, die dank andauernder Überprüfungen enorm belastbar ist.

Die in der ursprünglichen Wahrnehmung aufeinanderfolgenden Prozesse von Entwicklung, Qualitätskontrolle und Auslieferung werden nicht mehr als große Einheiten verstanden, sondern als miteinander verzahnte Kleinsteinheiten mit entsprechend geringem Lastaufwand. Somit ist es möglich, Entwicklungsschritte zu beschleunigen und neue Funktionen schneller zu implementieren.

Radikale Automatisierung für umfassende Software-Standards

Das große Problem bei der Software-Entwicklung liegt vor allem in den umfassenden Tests, welche jede Software vor der Freigabe durchlaufen muss. Diese führen, vor allem bei umfangreichen Tests, häufig zu Stopp-Phasen in der Entwicklung und sind somit mit dem Begriff der Continuous Delivery nicht zu vereinbaren.

Auf der anderen Seite können die Tests aber auch nicht ausgelassen werden, da eine Kompatibilität und Lauffähigkeit der entwickelten Software gewährleistet werden muss. Dieses Problem umgeht die Continuous Delivery durch die Implementierung von automatisierten Testsystemen in kleinsten Schritten.

Bei Änderungen oder Erweiterungen an der Software werden diese Anpassungen sofort und automatisiert getestet und überprüft. Somit entsteht eine Kette der Qualitätssicherung, welche bei Fehlern und Schwierigkeiten sofort die Ursache der Fehler aufzeigen kann. Aufgrund der kleinen Entwicklungsschritte zwischen jedem Testverfahren sind die Änderungen einfach zu identifizieren, was die Fehlersuche minimiert.

Automatische und manuelle Tests und Freigabeschritte

Im Rahmen der Continuous Delivery wird versucht sowohl funktionale als auch nicht funktionale Anforderungen an die entwickelte Software mittels unterschiedlicher Testtypen mit einem sehr hohen Grad an Automatisierung zu validieren. Die Tests werden hierbei in mehreren Stufen organisiert und nacheinander für jeden aktuellen Stand der Software durchgeführt.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Code Signing-Prozesse absichern

Sicherheit im Entwicklungsprozess

Code Signing-Prozesse absichern

Heutzutage ist fast jedes Unternehmen von Software abhängig. Entweder produzieren Unternehmen die Software als Hauptprodukt oder Add-on-Produkt, oder sie verwenden sie für kritische interne digitale Infrastrukturen. Die von ihnen produzierte oder verwendete Software ist gemeinsam mit ihrer Marke und ihrem Ruf allgegenwärtig. Daher ist der Schutz der Software genauso wichtig wie das Verriegeln der Haustür. lesen

Was ist Bitbucket?

Definition „Atlassian Bitbucket“

Was ist Bitbucket?

Mit Bitbucket können kleine und große Teams ihre Softwareprojekte kollaborativ verwalten. Das von Atlassian entwickelte Tool unterstützt Git und Mercurial für die Versionskontrolle. lesen

Agile Methoden in großen Unternehmen

Klare Strukturen – so wird agiles Arbeiten zum Erfolg

Agile Methoden in großen Unternehmen

Agiles Arbeiten mausert sich zum Standard in der Softwareentwicklung. Allerdings besteht bei allzu hastiger Einführung agiler Methoden die Gefahr, über die eigenen Füße zu stolpern. Doch Hindernisse und Anfangsprobleme lassen sich methodisch aus dem Weg räumen. lesen

DevOps – alles agil, oder was?

Agile und klassische Prozesse im Vergleich

DevOps – alles agil, oder was?

Bei dem ganzen Hype um DevOps und Agile vergisst man schnell, dass sich die klassische Softwareentwicklung manchmal besser eignet. Ein Vergleich zweier Software-Produktionsstraßen im Kontext klassisch versus innovativ zeigt die Grenzen der Agilität auf. lesen

6 Gründe für Spinnaker bei Cloud-Deployments

Continuous Delivery in der Cloud, Teil 2

6 Gründe für Spinnaker bei Cloud-Deployments

Die Open-Source-Software Spinnaker ergänzt gängige CI-, sprich Continuous-Integration-Tools um Komponenten zur Umsetzung von Continuous Delivery (CD) in Multi-Cloud-Umgebungen. Es gibt viele gute Gründe für den Einsatz von Spinnaker, hier die sechs wichtigsten. lesen

Cloud Native Development – grenzenloses Potenzial

Programmieren in der und für die Cloud

Cloud Native Development – grenzenloses Potenzial

Statt die Cloud nur zu nutzen, wird im Zuge des Cloud-native Development direkt für die Nutzung programmiert. Im Endergebnis stehen leistungsstarke und skalierbare Lösungen, die Entwicklern erlauben, sich auf die eigentliche Anwendung zu konzentrieren. lesen

Das Deployment-Tool Spinnaker unter Cloud Foundry

Continuous Delivery in der Cloud, Teil 1

Das Deployment-Tool Spinnaker unter Cloud Foundry

Was nützt es agil zu sein, wenn fertig entwickelte und den Integrationstest erfolgreich absolvierte Code-Änderungen nicht schnell genug ausgeliefert werden können? Das Open-Source-Tool Spinnaker ist dabei eine wertvolle Unterstützung. lesen

Was ist Cloud Native?

Definition „Cloud-native Anwendung“

Was ist Cloud Native?

Cloud Native ist ein agiles und effizientes Konzept, um Software zu entwickeln und Neuerungen möglichst schnell zum Nutzer auszuliefern. Der Betrieb der Anwendung wird direkt über die zugrunde liegende Cloud-Plattform realisiert. lesen

DevQOps – eine Frage der Qualität

Code Quality Testing als DevOps-Stütze

DevQOps – eine Frage der Qualität

DevOps-Strategien etablieren sich immer weiter, haben ihr volle Leistungsfähigkeit jedoch noch nicht zwingend erreicht. Was auf dem Weg zum nächsten Evolutionsschritt fehlt, ist der maximale Qualitätsanspruch. Willkommen im Zeitalter der DevQOps. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45015879 / Definitionen)