Die DevOps-Bewegung

Agilität, Software Engineering, Webdesign

Die DevOps-Bewegung

DevOps-Lifecycle

Was ist DevOps?

DevOps kann als eine Denkweise und Methodik sowie Kultur einer effektiven und effizienten Zusammenarbeit zwischen Applikationsentwicklung (Development) und IT-Betrieb (Operations) bezeichnet werden.

Der Begriff DevOps ist ein Kunstwort aus den beiden Wörtern Development und Operations.

Die Werte von DevOps

Die Grundlage für eine effizientere Zusammenarbeit bilden fünf Grundprinzipien, welche unter dem Begriff CALMS (Culture, Automation, Lean, Measurement, Sharing) zusammengefasst werden.

Diese Prinzipien sind Bestandteil vom DevOps-Lifecycle und bezeichnen jeweils die Aspekte, welche zur Einführung und Umsetzung von DevOps relevant sind:

  • Culture: Unternehmenskultur mit Vertrauen, Lernbereitschaft und Informationsaustausch
  • Automation: Automatisierung von Arbeitsprozessen und Vorgehensweisen
  • Lean: Schlank und transparent bei der Prozessoptimierung und Wertgenerierung
  • Measurement: Messung mit Bewertungskriterien und Einheitlichkeit
  • Sharing: Teilen von Wissen und Erkenntnissen

Stossrichtungen und Zielsetzung

  • Kerngedanke ist die Integration aller an der Software-Entwicklung, Einführung und Betrieb beteiligten Personen (Business/Nutzer, Entwickler, Tester, Systemadministratoren, Systembetrieb) in einen durchgängigen, hoch automatisierten Arbeitsablauf.
  • Hauptfokus und eigentliches Ziel ist die zeitnahe Entwicklung, Test und Betrieb von Software.
  • Hohen Stellenwert haben dabei kurze Entwicklungszyklen, integrierte Qualitätssicherungssysteme, unmittelbare Feedback-Zyklen und die unterbrechungs- und fehlerfreie Produktion.
  • Entwicklung, Tester und Produktion arbeiten an einem gemeinsamen Ziel: Nämlich n Releases einer Software innerhalb eines bestimmten Zeitraums produktiv dem Nutzer in hoher Qualität zur Verfügung zu stellen. Hohe Qualität umfasst sowohl die Eignung für den Benutzer, Absenz von Fehlern als auch die effektive Verfügbarkeit/Stabilität.

Was spricht für DevOps?

Durch die Entwicklung und Automatisierung einer kontinuierlichen Lieferpipeline fördert DevOps die Zusammenarbeit zwischen Entwicklungs- und Betriebsteam.

Die Ziele von DevOps sind:

  • Höhere Geschwindigkeit für den End-to-End-Prozess (-> Kontinuierliche Lieferpipeline)
  • Neue Releases können schneller ausgerollt, neue Features schneller eingeführt werden (-> Kürzere Time-to-Market)
  • Kürzere Problemlösungszeit
  • Automatisierung von Vorgängen
  • Qualitätssteigerung der ausgerollten Software

Prinzipien und Praktiken

Prinzipien

  • Entwicklung und Test auf produktionsähnlichen Staging-Umgebungen
  • Auslieferung mit wiederholbaren, zuverlässigen Prozessen
  • Überwachung und Validierung der Betriebsqualität
  • Etablierung und Nutzung von Feedback-Zyklen

Praktiken

  • Continuous Integration
  • Continuous Delivery
  • Continuous Testing
  • Continuous Monitoring und Feedback

Literatur & Links