DevOps ist heute in aller Munde. Von manchen als "next big thing" gesehen, von anderen als buzzword-verdächtiges Geldgrab.
Definition: Aber was ist DevOps wirklich?
DevOps ist die Abkürzung von Development und Operations. Anders ausgedrückt handelt es sich um die Verbindung zweier Bereiche, die zwar miteinander zu tun haben, aber klassisch meistens für sich stehen. Wenn wir uns jedoch von dieser Abkürzung lösen, ist DevOps viel mehr: es handelt sich um eine neue Unternehmenskultur, bei der die schnelle Auslieferung von qualitativ hochwertiger Software im Vordergrund steht. Diese wird durch die Verbindung von Development und Operations erreicht.
Im vorherigen Absatz wurde auch der Haupt-Vorteil angedeutet: eine hohe Auslieferungsrate, die nicht mit geringerer Qualität einhergeht. Die großen US-Unternehmen - Amazon, Netflix & Co. - machen genau dies vor. Insbesondere von Amazon ist bekannt, dass dort beim Continous Deployment- Ansatz minütlich mehrere Deployments in der Live-Umgebung stattfinden.
Um eine solch schnelle Auslieferung zu erreichen,sind mehrere Schritte erforderlich, von denen einige im Folgenden kurz angerissen werden.
Einsatz von DevOps
Prozesse
Manche Unternehmen sehen DevOps als Tool oder als Software, aber da - wie beschrieben - DevOps eine neue Unternehmenskultur ist, greift dieser Ansatz wesentlich zu kurz. Es spielen für die Einführung im Unternehmen vor allem die entsprechenden Prozesse eine wesentliche Rolle. Alle Prozesse, die die Entwicklung, den Betrieb und die Auslieferung von der Entwicklung in den Betrieb betreffen, müssen gegebenenfalls angepasst werden. Dies ist zwar einfacher, wenn bereits agile Prozesse existieren, die Agilität ist aber nur ein erster Schritt. Die agilen Prozesse betreffen aber zunächst die Entwicklung (und den Bereich Test) - die Prozesse zur Auslieferung (= Delivery) müssen hier somit einen weiteren Weg zurücklegen. Dies ist vielleicht leichter zu verstehen, wenn die entsprechenden Tools und die Prozesskette betrachtet wurden.