Ich übe und berate DevOps seit fast fünf Jahren als Berater bei verschiedenen Kunden. Vor meiner derzeitigen Position war ich in den Bereichen Softwareentwicklung, Web-Betrieb und Systemadministration tätig. Meiner persönlichen Erfahrung nach gibt es DevOps in vielen Varianten.
Organisationsmuster
DevOps-Antimuster:
NoOps und NoDevs - nicht unbedingt DevOps im engeren Sinne. Diese Teams erstellen und betreiben jedoch Software, ohne dass eine Trennlinie zwischen Entwicklung und Betrieb besteht. Die Herausforderungen bei diesen Teams werden immer größer. Entwicklungsteams sind möglicherweise erfahrene Softwareentwickler, aber Anfänger und umgekehrt.
Die DevOps-Brücke - hier wird einem oder mehreren Teams die Verantwortung übertragen, die Arbeit von den Entwicklungsteams zu übernehmen und sie zu " produzieren ", um sie betriebsbereit zu machen. Die Herausforderung besteht darin, dass es zwei Übergaben gibt: Entwicklung → DevOps und DevOps → Betrieb.
Das DevOps-Team - Dies kann möglicherweise funktionieren, wenn das Team für die Erstellung von Tools verantwortlich ist, die das DevOps-fähige Betriebsmodell unterstützen. Es sollte jedoch wahrscheinlich als "Tools-Team" oder "Plattform-Team" bezeichnet werden.
DevOps Patterns:
Embedded DevOps - allgemein als Platform Engineering bezeichnet - ist in meinem Kopf jemand im Team, der verantwortlich ist, aber nicht für die Bereitstellung von Automatisierung, Tools und Infrastruktur für die Bereitstellung und Bereitstellung der Lösung verantwortlich ist, manchmal auch für den Betrieb der Software Letzteres ist eigentlich repräsentativ für DevOps.
Institutionalisierte DevOps - wo ein Projektteam gemeinsam für die Entwicklung und den Betrieb eines Softwarepakets verantwortlich ist, das gemeinsame Eigentümerschaft und positive Rückkopplungsschleifen aufbaut.
Praktiken Methoden Ausübungen
Die tatsächliche Praxis von DevOps baut auf mehreren anderen Praktiken auf, nämlich:
Jede der oben genannten Praktiken baut auf der anderen auf. Es ist jedoch möglich, dass keine Praktiken befolgt werden. Dies bedeutet, dass ein wichtiger Feedback-Zyklus fehlt, der möglicherweise auf eine "verpasste Gelegenheit" hindeutet. Das Hauptunterscheidungsmerkmal zwischen der Befolgung anderer Praktiken und DevOps ist der Betrieb von Software in der Produktion .
Die drei Wege
In The Phoenix Project beschreiben Gene Kim und seine Co-Autoren die drei Möglichkeiten von DevOps :
Systemdenken
Der Erste Weg betont die Leistung des gesamten Systems im Gegensatz zur Leistung eines bestimmten Arbeits- oder Abteilungssilos - dies kann eine so große Abteilung (z. B. Entwicklung oder IT-Betrieb) oder eine so kleine Abteilung (z. B. ein einzelner Mitarbeiter) sein (Entwickler, Systemadministrator).
Meiner Erfahrung nach erreicht es dieses Ziel, Entwickler dazu zu bringen, betriebliche Belange und nicht-funktionale Anforderungen zu berücksichtigen. Dies ist ein wesentlicher Bestandteil der kulturellen Aspekte von DevOps.
Verstärkung von Rückkopplungsschleifen
Bei der zweiten Methode geht es darum, die Rückkopplungsschleifen von rechts nach links zu erstellen. Das Ziel fast jeder Initiative zur Prozessverbesserung ist es, Feedback-Schleifen zu verkürzen und zu verstärken, damit notwendige Korrekturen kontinuierlich vorgenommen werden können.
Ich erreiche dies im Allgemeinen durch kontinuierliche Integration / Bereitstellung / Bereitstellung und gemeinsame Überwachung und Alarmierung. Daher passt es sehr gut zur Tool- Komponente von DevOps.
Kultur des kontinuierlichen Experimentierens und Lernens
Beim Dritten Weg geht es darum, eine Kultur zu schaffen, die zwei Dinge fördert: kontinuierliches Experimentieren, Eingehen von Risiken und Lernen aus Fehlern; und zu verstehen, dass Wiederholung und Übung die Voraussetzung sind, um zu meistern.
Dies passt sehr gut in den Kulturraum , obwohl es stark von Werkzeugen und Prozessen abhängt, damit die Kultur wachsen kann.