DevOps: Was ist das und welche Vorteile bringt es für Ihr Geschäft?
Amazon gehört zu den frühen Adepten und eifrigen Unterstützern der DevOps-Bewegung – der neuen Realität der Softwareentwicklung.
Genauso wie Fords Fließband die Fertigungsindustrie in die neue Ära katapultierte, verändert die DevOps-Kultur die Geschwindigkeit, Qualität und Agilität der technologischen Produktion. In einer neuen Artikelreihe wird das Infopulse-Team erläutern, warum die Einführung von DevOps der ultimative Weg für Unternehmen ist, wettbewerbsfähiger und agiler zu werden, um hochwertige Software schneller, billiger und effizienter zu entwickeln.
Was ist DevOps?
DevOps besteht aus einer Reihe von Verfahren, die eine bessere Zusammenarbeit und eine weitgehende Automatisierung der Prozesse zwischen den Betriebs- und den Entwicklungsteams fördern. Die Best Practices von DevOps können jedoch auch auf andere Unternehmensbereiche ausgeweitet werden.
“Dev” ist eine Abkürzung für Entwickler, QA-, Produkt- und andere Teams, die an der Lieferung der Software beteiligt sind. “Ops” ist ein Oberbegriff für die Fachleute aus dem Betrieb – Systemingenieure, Administratoren, Release- und Netzwerkingenieure, Sicherheitspersonal und andere Berufe.
Die essentiellen DevOps-Praktiken sind darauf gerichtet, das Hin und Her zwischen diesen beiden Abteilungen zu beseitigen, indem neue Kommunikationsstandards eingeführt und eine engere Zusammenarbeit, eine reibungslosere Integration und die Automatisierung von Prozessen mit geringem Wert gefördert werden. Es ist eine Denkweise, die darauf abzielt, die „Mauer“ zwischen den beiden Teams zu durchbrechen und sie in einer effektiven Einheit zusammenzufassen, die neue Produkte bei weniger Beteiligten und weniger Arbeitsstunden schneller liefern kann.
Zusammenfassend lässt sich sagen, dass:
- DevOps eine Kulturphilosophie ist, die neue Methoden der Zusammenarbeit zwischen verschiedenen Abteilungen voraussetzt.
- DevOps eine Reihe von Best Practices darstellt, bei denen Teams neue Software schneller und fehlerfreier entwickeln, testen und bereitstellen können.
- DevOps die Verwendung von neuen Tools zur Automatisierung von Null-Wert-Geschäftsprozessen und die Eliminierung ineffizienter manueller Routinen vorsieht.
DevOps fördert die Einführung neuer Verfahren, die von Natur aus kontinuierlich sind und zerstückelte und kontinuierliche Verbesserungen des Softwareentwicklungsprozesses und letztendlich des Produkts selbst im Flow ermöglichen.
Die Einbindung von DevOps bedeutet, dass Ihr Unternehmen dazu bereit ist, eine fortlaufende, abteilungsübergreifende Konversation über die Stärkung der aktuellen Geschäftsprozesse, die Einführung neuer Verfahren und die aktive Verkündigung einer verstärkten Zusammenarbeit, des Wissensaustauschs und des Experimentierens zu etablieren.
Der Mehrwert von DevOps
Das ultimative Ziel von DevOps ist, Unternehmen in die Lage zu versetzen, robustere Umgebungen für ihre Produkte in kürzerer Zeit zu erstellen. Leistungsstarke DevOps-Teams können im Vergleich zu leistungsschwächeren Kollegen oder denjenigen, die sich der DevOps-Bewegung noch nicht angeschlossen haben, Folgendes erreichen:
- 46-mal häufigere Bereitstellung von Code;
- 440-mal kürzere Durchlaufzeit von der Verpflichtung bis zum Deployment;
- 96-mal schnellere Wiederherstellung nach Ausfallzeiten;
- 5-mal niedrigere Änderungsfehlerrate (erfolglose Änderungen sind 1/5-mal wahrscheinlicher).
Der besondere Reiz von DevOps besteht darin, dass Sie die Geschwindigkeit (Time-to-Market; Einsatzhäufigkeit) für die Produktstabilität nicht mehr eintauschen müssen und umgekehrt. Das DevOps-Framework trägt dazu bei, dass Sie Schritt für Schritt die Fähigkeit entwickeln, mit den entsprechenden Best Practices für DevOps beide Parameter auf hohem Niveau zu behalten.
Für Unternehmen bedeutet das drei spezifische Gruppen von Vorteilen:
1. Technische Vorteile:
- Weniger komplexer Projektmanagementprozess;
- Schnellere Problemlösung;
- Reibungslose und beschleunigte Produktlebenszyklen mit kontinuierlicher Lieferung.
2. Kulturelle Vorteile:
- Motivierte, glücklichere und produktivere Teams;
- Mehr Mitarbeiter bei dem Arbeitseinsatz;
- Verbesserte berufliche Entwicklungsmöglichkeiten und abteilungsübergreifender Wissensaustausch.
3. Vorteile für das Geschäft:
- Verkürzte Markteinführungszeit für neue Produkte und Funktionen;
- Stabilere fehlerresistente Betriebsumgebung;
- Optimierte abteilungsübergreifende Zusammenarbeit und Kommunikation;
- Mehr Zeit für kundenorientierte Innovationen und neue Funktionen statt Konzentration auf Wartung und Behebung bekannter Fehler.
So funktioniert DevOps
Die DevOps-Bewegung ist tief in zwei Ansätzen verwurzelt – Agile und Lean.
Ursprünglich waren Entwicklungsteams ausschließlich für die Erstellung des Produkts verantwortlich, während das “Ops”-Personal mit dem “was auch immer danach passieren wird” zu tun hatte. Agile Softwareentwicklungspraktiken waren darauf ausgerichtet, diese Lücke zu schließen, und führten zu einem inkrementellen Vorgehen bei der Projektplanung.
Die Arbeit wurde nach dem Mehrwert für das Geschäft und die Kunden priorisiert. Entwicklungsteams wurden ermutigt, eng mit den Kunden und anderen Teams zusammenzuarbeiten. Bereichsübergreifende Teams übernahmen die Arbeit an einer bestimmten Produktfunktionalität über einen festgelegten Zeitraum hinweg.
Die DevOps-Bewegung hat die agilen Praktiken noch einen Schritt weiter vorangebracht und die Nutzung der Agile-Prinzipien über die “Codierung” hinaus auf den gesamten Lieferzyklus ausgedehnt.
Bei der DevOps-Philosophie leisten die Teams Folgendes:
Under the DevOps philosophy teams:
- finden bei jeder Gelegenheit neue Wege zur Automatisierung von geringwertigen, langsamen und manuellen Prozessen;
- wollen die Ergebnisse früh und oft freigeben;
- haben eine Reihe von spezifischen KPIs und messen sorgfältig den Erfolg jeder neuen Änderung;
- handeln nach dem Prinzip: “Qualität ist nicht Etwas, das am Ende fix gemacht wird”.
Das Ziel von DevOps ist die Optimierung der Geschwindigkeit, der Akzeptanz und der schnellen Reaktion der Teams auf Veränderungen, um ihnen dabei zu helfen, einen messerscharfen Fokus auf den Wert der einzelnen Aktionen zu legen.
Darüber hinaus basiert die DevOps-Kultur auf dem Konzept eines Wertstroms. Ein Wertstrom stellt alle Schritte dar, die zum Erstellen und
Liefern von etwas Wertvollem (Funktion, Produkt) an den Verbraucher unternommen werden.
In traditionellen Unternehmen sind alle Wertströme in der Regel in drei Phasen unterteilt:
- Strategie – Ideenfindung und Erstellen einer grundlegenden Liste von Anforderungen für die zusammengetragenen Funktionen;
- Entwicklung – Schreiben des Codes, Testen und Debuggen neuer Add-ons;
- Lieferung – Planung der endgültigen Version, Einholen der Benutzerrückmeldung usw.
Verschiedene Teams sind für bestimmte KPIs und Aufgaben in jeder Phase verantwortlich. Die Projektinformationen werden nur teilweise ausgetauscht und sind nicht vollständig in den Rest des Wertstroms integriert. Entwickler, Betriebs- und Strategieteams verwenden unterschiedliche Tools und geben nicht immer das gesamte erforderliche Wissen an die anderen Teams weiter.
DevOps sieht einen Wechsel zu einem einheitlichen Wertstrom vor. Das bedeutet, dass alle Menschen, Werkzeuge, Prozesse und Informationsaustauschmechanismen in einer einzigen “Quelle der Wahrheit” zusammengeführt werden. Alle Mitarbeiter, die an der Bereitstellung der Software beteiligt sind, sollten einen ununterbrochenen Zugang zu Informationen und Erkenntnissen haben, die für die Entscheidungsfindung erforderlich sind. Der Übergang zu einem einheitlichen Wertstrom wird erleichtert, indem man die drei wichtigsten DevOps-Prinzipien befolgt, die im nächsten Abschnitt beschrieben werden.
Drei DevOps-Prinzipien
Die Sicherung einheitlicher Wertströme setzt die folgenden drei DevOps-Prinzipien voraus:
Der Erste Weg ermöglicht einen schnellen Arbeitsfluss von links nach rechts von der Entwicklung bis zum Betrieb bei dem Kunden. Alle Arbeiten sind sichtbar und in kleine Aufgaben aufgeteilt, die in bestimmten Intervallen ausgeführt werden.
Dabei werden dreierlei Ziele verfolgt:
- Beseitigung der Möglichkeit, einen bekannten Fehler an ein anderes Team (Ops) zu übergeben.
- Permanente Suche nach neuen Wegen, die bestehenden Arbeitsabläufe zu verbessern und Reibungen zu vermeiden.
- Verhinderung, dass eine lokale Optimierung (oder ein Problem) jemals zu einem globalen Fehler wird.
Der Zweite Weg fördert die Schaffung einer konstanten Rückkopplungsschleife von rechts nach links in allen Phasen des Wertstroms.
Die wichtigsten Ergebnisse sind hierbei die folgenden:
- Entwicklung eines besseren Verständnisses für alle Kunden und Benutzer (intern und extern).
- Verstärkung der Rückkopplungsschleifen, damit Probleme schneller erkannt und behoben werden.
- Anwendung neuen Wissens dort, wo es benötigt wird, damit Produkteigentümer ein System erstellen können, in dem Probleme entdeckt und behoben werden können, bevor ein größerer Fehler auftritt.
Der Dritte Weg geht von der Etablierung einer Kultur mit hohem Vertrauen aus, die das ständige Experimentieren und Verbessern aktueller Best Practices fördert; es ist ein wissenschaftlicher Ansatz zur Risikobereitschaft, damit die Teams sowohl von Erfolgen als auch von Misserfolgen lernen.
Die positiven Auswirkungen des Dritten Weges sind:
- Ein Arbeitsumfeld, in dem Teams zum Experimentieren und Riskieren ermutigt werden, was wiederum dazu führt, dass sie schneller als der Wettbewerb lernen und den Markt beherrschen.
- Multiplizierung von neuem Wissen: Lokale Entdeckungen können leicht in globale Verbesserungen umgewandelt werden.
- Jeder im Unternehmen kann auf die kumulative Erfahrung aller anderen zugreifen und von ihr profitieren.
Diese drei Prinzipien bilden die Grundlage für eine ausgereifte DevOps-Kultur und werden durch die Best Practices von DevOps unterstützt. Wenn Sie mehr darüber erfahren möchten, wie Ihre Organisation von der DevOps-Einführung profitieren kann und welcher exakte Mehrwert dadurch generiert wird, zögern Sie nicht, einen Entdeckungstermin mit unseren Experten zu vereinbaren.