ScholarGate
Assistent

DevOps und Continuous Delivery

DevOps und Continuous Delivery sind Praktiken, die Softwareentwicklung und Betrieb durch Automatisierung, schnelles Feedback und eine Deployment-Pipeline vereinen, die Software in einem kontinuierlich freigabefähigen Zustand hält.

Thema finden mit PaperMindDemnächstFind papers & topics
Tools & resources
Folien herunterladen
Learn & explore
VideoDemnächst

Definition

DevOps ist eine Reihe kultureller und technischer Praktiken, die Softwareentwicklung und IT-Betrieb integrieren, um den Lieferzyklus zu verkürzen, während Continuous Delivery die technische Disziplin der Automatisierung von Build, Test und Deployment ist, sodass Software jederzeit zuverlässig freigegeben werden kann.

Scope

Dieses Thema behandelt Continuous Integration und Continuous Delivery/Deployment Pipelines; Build-, Test- und Release-Automatisierung; Infrastructure as Code; Konfigurationsmanagement; Monitoring und Observability; die kulturelle Zusammenarbeit zwischen Entwicklung und Betrieb; und Metriken wie Deployment-Frequenz, Lead Time, Change-Failure-Rate und Mean Time to Recovery.

Core questions

  • Wie automatisiert eine Deployment-Pipeline den Weg vom Commit bis zur Produktion?
  • Welche Praktiken halten Software kontinuierlich freigabefähig, während die Qualität erhalten bleibt?
  • Wie unterscheiden sich Continuous Integration, Delivery und Deployment?
  • Welche Metriken zeigen zuverlässig die Software-Lieferleistung an?

Key theories

Deployment-Pipeline
Jede Änderung durchläuft eine automatisierte Pipeline aus Build, automatisierten Tests und gestaffeltem Deployment, was schnelles Feedback ermöglicht und sicherstellt, dass jede Version, die diese Pipeline besteht, ein Kandidat für die Freigabe ist.
Die drei Wege von DevOps
Kims Prinzipien beschreiben die Optimierung des Flusses von der Entwicklung zum Betrieb, die Verstärkung von Feedbackschleifen und die Förderung einer Kultur des kontinuierlichen Experimentierens und Lernens als Grundlage für hochperformante Technologieorganisationen.
DORA-Metriken zur Lieferleistung
Die Forschung identifiziert vier Schlüsselmetriken – Deployment-Frequenz, Lead Time für Änderungen, Change-Failure-Rate und Zeit zur Wiederherstellung des Dienstes –, die statistisch hoch- von geringperformanten Software-Lieferorganisationen unterscheiden.

Clinical relevance

DevOps und Continuous Delivery verkürzen Release-Zyklen von Monaten auf Stunden, reduzieren das Deployment-Risiko durch Automatisierung und kleine Batch-Größen und verbessern sowohl Stabilität als auch Durchsatz; empirische Studien verbinden diese Praktiken mit einer besseren Organisationsleistung.

Evidence & guidelines

Die jährlichen State of DevOps Reports und das Accelerate-Forschungsprogramm liefern empirische Belege dafür, dass Continuous-Delivery-Praktiken mit der Softwarebereitstellung und der Organisationsleistung korrelieren.

History

Der Begriff DevOps entstand um 2009 aus den Bewegungen Agile Systems Administration und Infrastructure as Code, mit dem Ziel, die Trennung zwischen Entwicklung und Betrieb aufzuheben. Humble und Farley kodifizierten Continuous Delivery im Jahr 2010, und nachfolgende empirische Forschung formalisierte die Metriken, die hochperformante Teams auszeichnen.

Debates

Continuous Deployment versus Continuous Delivery
Es wird diskutiert, ob jede bestandene Änderung automatisch in die Produktion deployt werden sollte (Continuous Deployment) oder eine manuelle Freigabeentscheidung abwarten sollte (Continuous Delivery); die Antwort hängt von der Risikotoleranz, dem regulatorischen Kontext und der Reife der automatisierten Verifizierung ab.

Key figures

  • Jez Humble
  • David Farley
  • Gene Kim
  • Nicole Forsgren
  • Patrick Debois

Related topics

Seminal works

  • humble2010
  • kim2016
  • forsgren2018

Frequently asked questions

Was ist der Unterschied zwischen Continuous Delivery und Continuous Deployment?
Bei Continuous Delivery ist jede Änderung, die die Pipeline besteht, freigabefähig, aber die Entscheidung, in die Produktion zu deployen, ist eine bewusste menschliche Handlung; bei Continuous Deployment ist dieser letzte Schritt ebenfalls automatisiert, sodass jede bestandene Änderung automatisch freigegeben wird.
Ist DevOps eine Rolle oder eine Praxis?
DevOps ist primär eine Reihe kultureller und technischer Praktiken, die Entwicklung und Betrieb umfassen, und keine einzelne Berufsbezeichnung; es als lediglich umbenannte Betriebsrolle zu behandeln, verkennt die Betonung auf gemeinsame Verantwortung und Automatisierung.

Methods for this concept

Related concepts