DevOps kann einmal als Rolle oder als Prozess (oder Kultur) verstanden werden. Bei der Rolle geht es um eine dedizierte Person die DevOps lebt und bei dem Prozess um die Zusammenarbeit von IT-Operations und Softwareentwicklung [2].
DevOps als Rolle
Die Arbeit von eines DevOps besteht darin, unternehmensweite Tools und Prozesse zu entwickelt, die von anderen Teams verwendet werden können. Die Kunden der DevOps sind die eigenen Entwickler. Dabei sind die Entwickler-Teams im gesamten Lebenszyklus der Software für diese verantwortlich. Hier gilt der Grundsatz: You build it, you run it. Das heißt aber nicht, dass die Softwareentwickler alle Schichten der Infrastruktur beherrscht werden müssen [1].
Schnittstellen und Automatisierung
Alle Tools müssen Self-Service unterstützen. Das heißt die Entwickler können selbst Tools wie CI und CD konfigurieren und ausführen. Es ist keine Zuarbeit nötig. Es ist alles automatisiert [1].
DevOps Erfolg messen
Wie kann man den Erfolg von DevOps messen?
Hier einige Gedanken dazu:
– Anzahl und Kosten der Tools zum Deployen.
– Anzahl und Kosten der Tools zum Testen.
– Anzahl und Kosten der Alerting, Monitoring und Logging Systeme.
– Anzahl manueller Eingriffe bei der gesamten Softwareentwicklung.
– Wartungsaufwand
– Wie lange dauert es ein Server aufzusetzen?
– Wie viele Schritte hat der Deployment Prozess und wie viele Mitarbeit sind daran beteiligt?
– Wie viele Entscheidungen werden von Mitarbeiter getroffen? (z.B. beim Deployen eines neuen Releases) (Grad der automatisierten Entscheidungen)
Fehlerkultur
Es muss ein Raum geschaffen werden, wo DevOps und Entwickler Fehler machen dürfen.
Root-Rechte
Ein Ansatz ist, dass niemand mehr auf dem Produktivsystem Root-Rechte besitzt, weil alles automatisiert deployed wurde. Ein manueller Eingriff sollte nicht mehr nötig sein [1].
Offene Punkte
– Monitoring, Alerting, Logging (jedes Team oder eins)
– Rufbereitschaft (jedes Team oder eins): bei kleine Start-Ups in den Teams, bei großen Unternehmen, dedizierte Teams
– SLO, SLI
[1] https://www.heise.de/select/ix/2018/12
[2] https://www.sigs-datacom.de/uploads/tx_dmjournals/mueller_OS_DevOps_14_japT.pdf