DevOps vs. Klassische IT
Schnell wachsenden Unternehmen nutzen DevOps, um am Puls der Zeit zu bleiben. Dabei nutzen sie hoch automatisierte Deployment-Prozesse, die es ihnen ermöglichen, schnell auf Feedback von Kunden oder Marktveränderungen reagieren zu können.
Mehr erfahrenWie genau unterscheidet sich DevOps vom klassischen IT-Modell?
Fähige, funktionsübergreifende Teams
DevOps ermöglicht es, dass Teams in unterschiedlichen Rollen (wie z.B. Entwickler, Betriebsleute, Tester und Businss-Analysten) zusammenarbeiten, um so bessere und zuverlässigere Produkte zu liefern. Dieser Ansatz unterscheidet sich fundamental zum klassichen IT-Modell, bei dem sich ein Team nur auf eine bestimmte Fähigkeit konzentriert. Durch die Einführung der DevOps-Kultur und die dafür notwendigen Tools & Methoden können DevOps Teams besser kommunizieren, auf Anforderungen ihrer Kunden schneller reagieren, das Vertrauen in ihre eigenen Anwendungen steigern und Geschäftsziele schneller erreichen.
Kleinere und häufigere (Teil-)Lieferungen
DevOps arbeitet mit kleinen (Teil-)Produkten, die so häufig wie möglich veröffentlicht werden — anstelle von wenigen großen Veröffentlichungen. Aus der DevOps-Perspektive sind "big bangs" zu riskant, zu komplex und zu aufwendig zu koordinieren. Wohingegen kleine Deployments einfach getestet und veröffentlicht werden können. Sollte mal etwas schief gehen, so können kleinere Deplyoments i.d.R. einfacher zurückgerollt werden. Zusätzlich bieten häufigere Veröffentlichungen auch die Möglichkeit, schneller auf sich ändernde Kundenanforderungen reagieren zu können.
Automatisierung
Die DevOps-Kultur setzt auf einen hohen Automatisierungsgrad, der es den Teams ermöglicht, sich auf kreative Aufgaben zu fokusieren anstatt Routineaufgaben zu erledigen. Bei einem DevOps-Ansatz wird jeder Commit integriert und automatisch getestet, bis er über die verschiedenen Umgebungen an den Endkunden vollautomatisiert ausgeliefert wird. Es ist jedoch anzumerken, dass eine vollständige Automatisierung i.d.R. nicht gewünscht ist. Der Automatisierungsgrad hängt von den Prozessen und Problemen der einzelnen Teams ab; eine Überautomatisierung kann sogar zu suboptimalen Ergebnissen führen. Unserer Einschätzung nach sollte jedes Team seine Anforderungen bewerten und Prioritäten definieren - einen universalen Lösungsansatz sehen wir leider nicht.
Herausforderungen bei der Einführung von DevOps
Als größte Herausforderung sehen wir die Notwendigkeit des Mentalitätswandels eines ganzen Unternehmens - von der Geschäftsleitung bis hin zu den Mitarbeitern. Das ist der Grund, warum es schwierig ist DevOps einzuführen oder gar erfolgreich anzuwenden. Ein Beispiel: In den meisten Unternehmen versuchen Entwicklungs- und Betriebsteams, gegensätzliche Ziele zu erreichen: Erstere werden zu Innovationen ermutigt, während letztere dazu angehalten werden, die Betriebsstabilität sicherzustellen. Es ist keine leichte Aufgabe, die unterschiedlichen Ziele neu auszurichten und die Teams zusammenzubringen.