Was ist Devops? Warum sprechen wir bei DevOps von 5 CALMS?
DevOps ist eine Methodik, die Praktiken zur Strukturierung der Zusammenarbeit zwischen Entwicklungs- und Betriebsteams innerhalb eines Unternehmens kombiniert. Der Begriff „DevOps“ selbst ist eine Kombination aus Entwicklung und Betrieb, verstanden als kollaborativer oder gemeinsamer Ansatz für die von diesen Teams durchgeführten Aktivitäten.
CALMS ist ein Rahmenwerk, das die Fähigkeit eines Unternehmens zur Übernahme von DevOps-Prozessen bewertet und eine Möglichkeit zur Erfolgsmessung während einer DevOps-Transformation bietet. Das Akronym wurde von Jez Humble, dem Mitautor von „The DevOps Handbook“, geprägt und steht für Culture, Automation, Lean, Measurement und Sharing.
Wie sind die 5 CALMS mit DevOps verbunden?
DevOps ist eine Methode, die darauf abzielt, die Arbeit während des Lebenszyklus der Softwareentwicklung zu verbessern. Man kann sich einen DevOps-Prozess als einen unendlichen Zyklus vorstellen, der die folgenden Phasen umfasst: Planen, Codieren, Erstellen, Testen, Freigeben, Bereitstellen, Betreiben und Überwachen.
Das CALMS-Framework deckt alle Interessengruppen innerhalb von DevOps ab, einschließlich Geschäfts-, IT-Betriebs-, QA-, InfoSec- und Entwicklungsteams, und wie sie gemeinsam automatisierte Prozesse liefern, bereitstellen und integrieren, die geschäftlich sinnvoll sind.
Das CALMS-Modell bietet einen guten Rahmen für den Vergleich des Reifegrads eines DevOps-Teams und ist somit wertvoll für die Beurteilung des Zustands von Teams im Hinblick auf den folgenden Wandel.
CALMS ist ein konzeptioneller Rahmen für die Integration von Entwicklungs- und Betriebsteams (DevOps), Funktionen und Systemen innerhalb einer Organisation. Das CALMS-Framework wird häufig als Reifegradmodell verwendet, um Managern bei der Beurteilung zu helfen, ob ihre Organisation für DevOps bereit ist und, falls nicht, was geändert werden muss.
Welche sind die 5 CALMS DevOps
John Willis und Damon Edwards prägten 2010 das Akronym CAMS, das später von Jez Humble zu CALMS erweitert wurde.
CALMS steht für:
- Culture (Kultur)
- Atuomation (Automatisierung)
- Lean (Geringhaltig)
- Measurment (Messung)
- Sharing (Teilung)
Jedes Teil des Puzzles trägt zum Erfolg eines wirklich auf DevOps ausgerichteten kulturellen Wandels bei.
Schauen wir uns die wichtigsten Aspekte der 5 CALMS gemeinsam an.
Culture
C steht für Culture, da der Kulturwandel als Kernstück jeder DevOps-Transformation betrachtet werden kann. Der Wandel muss von der obersten Führungsebene angenommen und durch eine konsequente und vorbildliche Führung in die Praxis umgesetzt werden.
DevOps ist nicht einfach ein Prozess oder ein anderer Entwicklungsansatz, sondern ein echter kultureller Wandel. Ein wesentlicher Bestandteil der DevOps-Kultur ist die Zusammenarbeit. Jedes Tool oder jede Automatisierung ist nutzlos, wenn Entwicklungs- und IT/Ops-Fachleute nicht zusammenarbeiten: DevOps löst keine Probleme, die mit Tools zusammenhängen, sondern Probleme, die mit Fachleuten, mit dem menschlichen Aspekt einer Aufgabe zusammenhängen.
Denn DevOps löst keine toolbezogenen Probleme. Sie löst die Probleme der Menschen.
Ein gemeinsames Ziel und ein Plan, um es gemeinsam zu erreichen, sind zwei Schlüsselfaktoren für die Förderung der Zusammenarbeit innerhalb und zwischen den Teams, dem eigentlichen Ziel der DevOps-Methodik. Die erfolgreichsten Unternehmen befürworten die Anwendung der DevOps-Kultur in allen Abteilungen und auf allen Ebenen des Unternehmens, denn DevOps ist nicht die Arbeit eines einzelnen Teams, sondern das Ergebnis der Zusammenarbeit aller beteiligten Teams.
Automation
Neben der Erhöhung der Geschwindigkeit und Qualität der Bereitstellung ist die Automatisierung der wichtigste Teil von DevOps: Sie ermöglicht eine schnellere und qualitativ hochwertigere Bereitstellung von Werten, was das Hauptziel der Methodik ist.
Die Automatisierung ist von grundlegender Bedeutung und sollte aus mehreren Gründen so weit wie möglich genutzt werden:
- Sie trägt dazu bei, manuelle und sich wiederholende Aufgaben zu eliminieren und zuverlässige Systeme für ihre Durchführung zu schaffen: Computer führen in der Tat strengere und zuverlässigere Tests durch als Menschen, so dass sie Fehler und Sicherheitslücken schneller aufdecken können.
- Durch die Automatisierung können einfachere Aufgaben automatisch erledigt werden, so dass Zeit für höherwertige Arbeiten bleibt, für die menschlicher Einsatz unerlässlich ist.
Lean
Wenn wir über Lean sprechen, beziehen wir uns auf zwei sehr unterschiedliche Aspekte: Kultur und Automatisierung.
Auf der einen Seite steht der abstrakte Aspekt von DevOps, die Philosophie, die dahinter steht, auf der anderen Seite der eher praktische Aspekt, die Automatisierung.
Eine DevOps-Mentalität erkennt überall Möglichkeiten zur kontinuierlichen Verbesserung.
Einige sind offensichtlich, wie z. B. die Durchführung regelmäßiger Retrospektiven zur Verbesserung der Teamprozesse, während andere subtiler sind, wie z. B. A/B-Tests verschiedener Onboarding-Ansätze für neue Produktnutzer.
Die Teammitglieder können die laufenden Arbeiten (WIP) visualisieren, die Losgrößen begrenzen und die Länge der Warteschlangen verwalten.
Measurement
Die Messung (Measurement) von Daten ist im Allgemeinen ein wichtiger Aspekt bei der Entscheidungsfindung, und bei DevOps liegt der Schwerpunkt ausschließlich auf bestimmten Metriken.
Schnelle Iteration funktioniert nur, wenn man weiß, wohin man will, und deshalb ist es notwendig, Daten bewusst zu sein: Das Messen und Verfolgen dessen, was im Softwareentwicklungsprozess getan wird, ist eine unverzichtbare Voraussetzung für faktenbasierte Entscheidungen.
Aus diesem Grund sammeln disziplinierte und gut organisierte Organisationen Daten über alles.
Eine große Menge an Daten wird Ihrem Team bei der Entscheidungsfindung helfen, aber diese Daten werden sich als noch nützlicher erweisen, wenn sie auch extern mit anderen Teams in der Organisation geteilt werden, um klare Fahrpläne zu erstellen und Unterstützung von allen am Prozess beteiligten Teams und, falls erforderlich, von allen Interessengruppen im Allgemeinen zu erhalten.
Sharing
Schließlich finden wir das S des Sharings:
Der Austausch von Wissen und bewährten Praktiken, die während des gesamten Prozesses erworben wurden, ist ein Schlüsselaspekt für den erfolgreichen Abschluss eines Projekts, da er ein gemeinsames Arbeiten ermöglicht.
Die Zusammenarbeit zwischen den verschiedenen Parteien führt zu einer Steigerung der Gesamtleistung des Unternehmens.
Eine Kultur, die den ständigen Austausch fördert, begünstigt kontinuierliches Lernen.
Schlussfolgerung
Aus diesem System von CALMS ergibt sich ein neues Konzept der Zusammenarbeit zwischen Programmierer und Systemingenieur in einem Unternehmen. Die Zusammenarbeit während des gesamten Produktionszyklus einer Anwendung schafft eine Umgebung, in der die Produktion selbst organisiert werden kann.
Die weit verbreitete Vorstellung, nach Abteilungen zu arbeiten, mag einigen Realitäten entsprechen, aber nicht allen.
Zusammenfassend lässt sich sagen, dass es bei DevOps darum geht, die Unternehmenskultur so zu verändern, dass man:
- Schneller fortsetzt
- Effizienter ist
- Effektiver zusammenarbeitet
- Sich in den fünf Grundsätzen (Kultur, Automatisierung, Schlankheit, Messung, gemeinsame Nutzung) widerspiegelt
Die Arbeit eines Entwicklers basiert auf ständigem Lernen angesichts der vielen Herausforderungen, die ein kollaboratives Umfeld bei der Verkürzung der Zeit zwischen der Produktion und der endgültigen Lieferung ermöglicht.
Wenn man sich für die fünf CALMS-DevOps-Säulen entscheidet, wird die Zusammenarbeit während des gesamten Produktionszyklus unweigerlich zu spürbar besseren Ergebnissen führen.
Lesen Sie auch unser Interview ITIL vs. DevOps mit dem erfahrenen Trainer Xavier Heusdens über seine Erfahrungen mit beiden Methoden.
Möchten Sie mehr erfahren? QRP International bietet die DevOps-Zertifizierung an. Zögern Sie nicht, uns für weitere Informationen zu kontaktieren.