Der Begriff DevOps zirkuliert bereits seit 2009 auf Veranstaltungen, in den Blogs und Fachzeitschriften dieser Welt und doch herrscht immer noch keine komplette Einigkeit über seine Bedeutung. Das Silbenwort, das sich aus Development und Operations zusammensetzt, steht oft genug unter dem Verdacht, ein weiteres Buzz-Wort unter vielen zu sein. Im Gegensatz zur agilen Softwareentwicklung gibt es kein offizielles schriftliches Manifest. Manch einer vermutet darunter ein Tool oder einen Standard – nichts dergleichen. DevOps ist eine Kultur, eine Ansammlung von Ideen, die an sich kein Novum sind. Aber ein paar Gedanken an DevOps zu verlieren, ist im Hinblick auf mindestens zwei Grundprinzipien lohnend: Agilität im Betrieb und Zusammenarbeit zwischen Entwicklung und Betrieb.
Geburtsstunde von DevOps
Seine offizielle Geburtsstunde hat DevOps im Jahre 2009 im belgischen Gent erlebt. Patrick Dubois gab den Anstoß, indem er die erste gleichnamige Zweitageskonferenz auf die Beine stellte: die DevOpsDays. Die Ideen der Bewegung waren zu diesem Zeitpunkt nicht neu. DevOps fungierte sozusagen nur als Etikett, als Katalysator von Strömungen, und schlug ein wie eine Bombe. Seitdem gibt es DevOpsDays fast rund um den Globus.
Agile Infrastruktur
Wahrscheinlich haben die großen Internetdienste die DevOps-Bewegung hervorgerufen, als Administratoren anfingen, die Prinzipien der agilen Softwareentwicklung auf den Betrieb zu übertragen. Es entstanden Begriffe wie "Agile Systemadministration" oder "Agile Operation" – eine grundlegende Änderung der Arbeitsweise im Betrieb.
Dev und Ops arbeiten zusammen
Dass es zwischen Development und Betrieb zu Kollisionen kommt, ist wohlbekannt. Viel zu oft verbringen die Abteilungen dann mehr Zeit mit Schuldzuweisungen als mit Problemlösungen.
Noch vor den ersten DevOpsDays teilten John Allspaw und Paul Hammond ihre Erfahrungen beim Fotodienst Flickr in einem Vortrag namens 10+ Deploys per Day – Dev and Ops Cooperation at Flickr und riefen Begeisterungen hervor. Sie zeigten die Vorteile einer Zusammenarbeit zwischen Entwicklung und Betrieb in allen Phasen des Zyklus.
Dev und Ops sind als generische Begriffe zu verstehen. Unter Ops verstecken sich nicht nur der Systemadministrator, sondern natürlich auch der Datenbankadministrator sowie weitere Teildisziplinen, die zum stabilen Betrieb einer Software beitragen. Ähnlich verhält sich Dev: Vom Entwickler bis hin zum Produktmanagement über die Qualitätssicherung sind alle Mitarbeiter gemeint, die in irgendeiner Weise an der Erstellung einer Software beteiligt sind.
Definition
DevOps wirft einen ganzheitlichen Blick auf den Softwarebereitstellungsprozess entlang des gesamten Zyklus. Es ist eine Verlängerung der agilen Prinzipien über die Grenzen des Codes hinweg auf die gesamten IT-Services – von der Produktion bis zum Betrieb. DevOps richtet Ziele, Prozesse und Werkzeuge von Entwicklung und Betrieb zueinander aus und verbessert damit die Zusammenarbeit.
Die vier Säulen von DevOps KulturNichts funktioniert ohne Kultur. DevOps ist vor allem das – eine Kultur, eine Intension, ein gemeinsamer Nenner, der Entwicklung und Betrieb verbindet und Informationssilos vermeidet. Gemeinsame Werte sind die Grundlage einer guten Zusammenarbeit, die auf Verständnis, Vertrauen und Respekt basiert. Denn mit den wohlbekannten Schuldzuweisungen "es ist dein Code" oder "es ist deine Maschine" ist man bislang nicht unbedingt weitergekommen. Teil dieser Kultur ist es auch, Fehler zu erlauben. Denn daraus kann man lernen, wenn das Finger-Pointing nicht ablenkt. AutomatisierungBei immer wiederkehrenden Tätigkeiten ist eine Automatisierung sinnvoll. So werden menschliche Fehler vermieden. Durch die gewonnene Transparenz gewinnt auch die Qualitätskontrolle an Qualität und die Mitarbeiter können sich auf wichtigere Aufgaben konzentrieren. DevOps-Anhänger bezeichnen die Automatisierung als Infrastructure as a Code. Ein netter Nebeneffekt: Automatisierung sorgt auch für ein gegenseitiges Vertrauen im Projekt. Die Automatisierung zwingt das Projektteam gewissermaßen, vorauszuschauen und den Betrieb frühzeitig einzubinden. Für Entwicklung und Betrieb herrschen demnach die gleichen Deployment- und Konfigurationsregeln. MessungWerte entscheiden über die Qualität eines Produkts, nicht das Bauchgefühl. Das Treffen von Entscheidungen anhand von Messwerten gehört zu einem wichtigen Aspekt von DevOps. DevOps braucht allerdings neue Messkriterien, die für die gemeinsame Leistung von Betrieb und Entwicklung gelten. TeilenMenschen mit verschiedenen Hintergründen besitzen oftmals auch unterschiedliches Wissen und andere Fähigkeiten. Indem sie sich austauschen, lernen sie voneinander und lösen Probleme viel erfolgreicher. Die Voraussetzung dafür: die Bereitschaft zu teilen. |



