Definition „Development & Operations“ Was ist DevOps?
Anbieter zum Thema
Dem DevOps-Ansatz folgend sollen die grundverschiedenen IT-Bereiche der Softwareentwicklung, kurz Dev, und des IT-Betriebs, kurz Ops, enger zusammenrücken. Das Ergebnis: Eine beschleunigte Entwicklung und qualitativ hochwertige Deployments.

Allgemeine Begriffserklärung
Mit dem Begriff „DevOps“ ist ein Prozessverbesserungsansatz gemeint, der vor allem in der Systemadministration und in der Softwareentwicklung zur Anwendung kommt. Dabei ist DevOps ein sogenanntes Kofferwort, das sich aus den Wörtern „Development“ und „IT Operations“ zusammensetzt.
Dieser Ansatz hat zum Ziel, in den Bereichen Development (Entwicklung), IT Operations (IT-Betrieb) und Qualitätssicherung für eine effizientere und effektivere Zusammenarbeit zu sorgen. Hierzu werden spezielle Anreize, Werkzeuge (Tools) und Prozesse eingesetzt.
Durch die optimierte Zusammenarbeit der verschiedenen Teilbereiche soll die Geschwindigkeit der Softwareentwicklung und die Kooperation zwischen den einzelnen Teams verbessert werden.
Interpretationen des Begriffs
Mittlerweile wird der Begriff DevOps auf unterschiedliche Weise interpretiert. Im Allgemeinen versteht man darunter eine Art Philosophie, nach der die Bereiche Softwareentwicklung und IT-Betrieb hinsichtlich ihrer Kultur, ihrer Praxis und ihrer Werkzeuge auf das Engste zu verzahnen sind.
Durch dieses Vorgehen soll auf etwaige Veränderungen im Entwicklungsprozess möglichst schnell reagiert werden. Somit unterstützt der Ansatz die agile Softwareentwicklung. Während die agile Softwareentwicklung jedoch nur Erfolg hat, wenn das Team einen Wandel hinsichtlich der Art zu programmieren vollzieht, setzt die Umsetzung von DevOps einen Wandel in der Unternehmenskultur voraus.
Der Prozessverbesserungsansatz lässt sich auch als eine bereichsübergreifende Zusammenarbeit zwischen Entwicklern, Managern, Administratoren und Testern auffassen. Unter diesen Voraussetzungen wird auch der Kunde in den Entwicklungsprozess mit einbezogen.
DevOps unterstützt Continuous Integration
Wird Software entwickelt, folgt man in der Regel einem bestimmten Vorgehensmodell. Bekannte Vorgehensmodelle sind beispielsweise das V-Model oder das Wasserfallmodell. Seit 1991 gibt es zudem das Rapid-Application-Development-Modell (RAD-Modell), das auf einem iterativen Entwicklungsansatz und auf dem Prinzip des Prototyping basiert.
Die agile Softwareentwicklung wiederum greift Aspekte des RAD-Modells auf mit dem Ziel, den Entwicklungsprozess zu beschleunigen. Außerdem sorgt die agile Softwareentwicklung für mehr Flexibilität und für eine schnellere Anpassung an sich verändernde Anforderungen. Die Entwicklung des Codes und dessen Ausführung werden eng miteinander kombiniert, um Fehler rasch finden und beheben zu können.
Die Verzahnung von Codeentwicklung und -ausführung wird als Continuous Integration bezeichnet. Inzwischen gibt es auch spezielle Continuous-Integration-Software, deren Einsatz dafür sorgen soll, die Code-Qualität zu verbessern und die Software robuster zu machen.
DevOps ermöglicht Continuous Delivery
DevOps-Prozesse und -Methoden kombinieren den Ansatz der agilen Softwareentwicklung mit weiteren Prinzipien, wie beispielsweise dem des „Systems Management“, für das der IT-Betrieb die Verantwortung trägt. Das Ergebnis ist ein hochagiles Gesamtkonzept, das die Continuous Delivery der Software ermöglicht. Mit „Contininuous Delivery“ ist das kontinuierliche Ausliefern von Softwareversionen gemeint, die sich trotz ihrer kurzen Entwicklungszeit durch eine hohe Qualität auszeichnen.
DevOps erfolgreich einführen
Um DevOps mit Erfolg umzusetzen, sollten verschiedene Maßnahmen durchgeführt werden. So ist das Erstellen von Business Cases zu empfehlen. Diese Business Cases dienen dazu, die Notwendigkeit des Prozessverbesserungsansatzes zu belegen. Darüber hinaus steigern erfolgreiche Business Cases die Akzeptanz beim Management und beim Anwender.
Im Unternehmen und insbesondere in jedem Team, das am Entwicklungsprozess beteiligt ist, gilt es, eine Kultur der Zusammenarbeit zu etablieren. Auch sollte die Entwicklung der Software durch die Nutzung von Technologien zur Automatisierung unterstützt werden. Und nicht zuletzt sollte eine gemeinsame Metrik verwendet werden, um den Erfolg von Dev-Team und Ops-Team zu messen.
(ID:44445530)