Continuous Delivery (CD)

Concept

Was ist das?

Continuous Delivery, oft abgekürzt als CD, ist ein Verfahren, bei dem Codeänderungen automatisch in eine Abnahmeumgebung (oder, im Fall von Continuous Deployment, in die Produktion) eingespielt werden. CD beinhaltet Verfahren, mit denen sichergestellt wird, dass die Software vor dem Einsatz ausreichend getestet wird, und bietet eine Möglichkeit, Änderungen zurückzunehmen, wenn dies notwendig ist. Continuous Integration (CI) ist der erste Schritt zur Continuous Delivery (d.h. Änderungen müssen sauber zusammengeführt werden, bevor sie getestet und bereitgestellt werden).

Probleme, die damit gelöst werden

Die Bereitstellung zuverlässiger Updates wird bei der Anpassung zu einem Problem. Idealerweise würden wir sie häufiger bereitstellen, um den Endnutzern einen besseren Nutzen zu bieten. Wenn wir dies jedoch manuell tun, entstehen bei jeder Änderung hohe Transaktionskosten. Um diese Kosten zu vermeiden, haben Unternehmen in der Vergangenheit seltener Updates veröffentlicht und damit mehr Änderungen auf einmal vorgenommen, was das Risiko erhöht, dass etwas schief geht.

Wie es hilft

CD-Strategien schaffen einen vollständig automatisierten Weg zur Produktion, der die Software testet und mit verschiedenen Implementierungsstrategien wie Canary oder Blue Green Deployment bereitstellt. Auf diese Weise können die Entwickler den Code häufig einsetzen und haben die Gewissheit, dass die neue Version getestet wurde. In der Regel wird bei CD-Strategien eine trunk-basierte Entwicklung verwendet, im Gegensatz zu feature branching oder pull requests.