Was bedeutet eigentlich „DevOps“?
Ob auf Konferenzen oder im Internet, der Begriff „DevOps“ begegnet uns an den verschiedensten Stellen immer wieder. Warum? IT-Unternehmen sind oft geprägt von verzögerten Projekten, fragwürdiger Produktqualität und verpassten Deadlines. Mit DevOps sollen allerlei Herausforderungen im IT-Umfeld bewältigt werden.
Was ist DevOps wirklich?
DevOps ist kein Tool, keine Software und auch keine Technologie. Es ist weder eine Methodik noch ein Prozess. DevOps wird als Unternehmenskultur mit bestimmten Prinzipien verstanden, die ein Unternehmen anstrebt und langfristig verfolgt.
Der Begriff stellt sich zusammen aus Development (Dev), welcher für die Softwareentwickler steht, und Operations (Ops), stellvertretend für den IT-Betrieb. Die Kombination aus beiden soll einen Prozessverbesserungsansatz in den Bereichen Softwareentwicklung und Systemadministration ermöglichen. Anhänger dieser Unternehmenskultur schätzen Zusammenarbeit, Experimentierfreude und Lernbereitschaft. Genauer gesagt wird eine effektivere und effizientere Zusammenarbeit verschiedener Bereiche angestrebt: Development, Operations und Qualitätssicherung. Diese verfolgen das Ziel einer schnellen Umsetzung von stabiler, hochwertiger Software. Angefangen beim Konzept bis hin zum Kunden oder Anwender.
Begriffserklärung
DevOps lässt momentan noch eine große Bandbreite an Interpretationen zu, was oft zu Missverständen führt. Grundsätzlich besteht Einigkeit darüber, dass sich mit DevOps eine effizientere und reibungslosere Zusammenarbeit von Development und Operations realisieren lässt.
John Willis, ein Veteran der DevOps-Bewegung, beschreibt das Gerüst der Management-Strategie mit fünf Grundprinzipien:
- Culture: Gegenseitiges Vertrauen, stetiger Informationsfluss, Lernbereitschaft
- Automation: Automatisierung bestimmter Arbeitsvorgänge
- Lean: Vermeide Verschwendung, generiere Wert, Transparenz, ganzheitliche Prozessoptimierung
- Measurement: Einheitliche Bewertungskriterien (auch über die Applikation und ihre Komponenten hinaus)
- Sharing: Bereitschaft, Wissen zu teilen, voneinander zu lernen und Erkenntnisse proaktiv mitzuteilen
Diese fünf Bestandteile bilden die Grundlage für eine effizientere Zusammenarbeit und eine bessere Qualität des Endproduktes. DevOps ist zwar selbst kein Werkzeug, jedoch bilden Software-Tools zur Automatisierung und dem Messen wichtige Bausteine bei einer erfolgreichen Implementierung. Das Herz von DevOps sind aber die Mitarbeiter. Besonders ihre Art und Weise, wie sie mit anderen zusammenarbeiten.
DevOps in der Praxis
In erster Linie ist DevOps eine Philosophie und ein Konzept. Das Konzept setzt sich aus gegenseitigem Aufgabenverständnis, Akzeptanz und guter Zusammenarbeit der Entwickler zusammen. Erst im zweiten Schritt geht es um Organisatorisches – IT-Verantwortliche müssen die Strukturen und Verantwortungen anpassen, damit die Vorteile des Konzepts realisiert werden.
Mit dem Ansatz von DevOps werden agile Methoden auf den IT-Bereich übertragen und Standardmodelle für die Softwareentwicklung und IT-Betrieb miteinander verbunden. Weil die Verfahren im gesamten Software-Prozess identisch sind, entstehen kürzere Release-Zyklen und das Risiko von ungetesteten Elementen sinkt.
Mitarbeiter sollten in möglichst viele Entscheidungsprozesse mit einbezogen werden. Besonders wenn es um die Entscheidung der unterstützenden Tools geht, denn die sorgen am Ende für die tägliche Zufriedenheit.
Je mehr die DevOps-Philosphie gelebt wird, desto mehr verbessert sich die gesamte IT-Performance. Gegebenenfalls müssen „Wanderer“ zum Einsatz kommen, die mehrere Seiten verstehen und zwischen Widersprüchen Interesse vermitteln können.
Anzumerken ist, dass kein Unternehmen von heute auf morgen interne Strukturen und Entwicklungsprozesse umschmeißt und nach neuen, agileren Methoden arbeitet. Eine Einführung von DevOps trägt nicht sofort Früchte, sondern wird mit der Zeit an Wert gewinnen.