Der aspectra-Blog seit 2012

DevOps – ein (Alb)Traum?

Der Begriff DevOps ist nun schon seit einiger Zeit in aller IT-Munde. Zumindest bei jenen, die sich eine bessere Zusammenarbeit zwischen Softwareentwicklern und Softwarebetreiber wünschen. Für die einen ist die DevOps-Bewegung ein Traum, für die anderen (noch?) ein Albtraum.

Dev vs Ops

Entwickler sind bemüht, Kundenwünsche so rasch als möglich umzusetzen und sichtbar zu machen. Damit dies schnell und in Eigenregie geschieht, stehen den Entwicklern Tools wie z.B. Docker zur Verfügung. So können Entwickler ihren Kunden in hoher Kadenz neue Releases einer Webanwendung real zeigen und die Kunden können die Funktionen in einer Abnahmeumgebung testen. Je häufiger neue Features so sichtbar werden, desto positiver werden die Entwickler wahrgenommen.

Betreiber wiederum sind bemüht, Anwendungen so sicher und performant zu betreiben, dass eine Kundenanwendung den Anwendern 7x24 zur Verfügung steht. Veränderungen in einer Betriebsumgebung sind aus Sicht Betreiber ein Risiko und werden gemieden. Kein Wunder, wird nämlich aufgrund einer Veränderung die Verfügbarkeit beeinträchtigt, fällt das direkt auf den Betrieb zurück.

Der Vergleich der Aufgaben von Entwicklung und Betrieb zeigt, dass beide Gruppen entgegengesetzte Anreize haben. Die Entwicklung ist an schnellen und häufigen Releases interessiert, der Betrieb hingegen würde Releases am liebsten vermeiden. Beide Seiten verfolgen damit das gleiche Ziel, nämlich ihren eigenen Wert für einen Kunden zu beweisen. Genau das kann aber zu Konflikten führen.

Zusammenarbeit und Automatisierung

Damit das Ziel von schnellen und sicheren Veränderungen an einer Anwendung erreicht werden kann braucht es primär gegenseitigen Respekt und genseitiges Vertrauen. Natürlich ist es aber auch ein erklärtes Ziel von DevOps, die Automatisierung von Vorgängen im IT-Betrieb und die gemeinsame Nutzung von Tools zwischen Entwicklung und Betrieb zu fördern. Beispielsweise können die Entwickler ihre verwendete Konfiguration der Infrastruktur (z. B. als Puppet-Manifeste) an den Betrieb weitergeben und mit diesem abstimmen. Oder aber Entwicklung und Betrieb entwickeln den Infrastrukturcode direkt gemeinsam und vermeiden so Inkompatibilitäten zwischen den Entwicklungs-, Test- und Produktivumgebungen.

DevOps, ja aber

Die aktuelle Hauptsorge rund um DevOps sind jedoch die z.T. nach wie vor grossen Unterschiede von Entwicklungs- Test und Produktionsumgebungen. Dank Tools wie Docker kann zwar ein Entwickler logisch voneinander getrennte Komponenten auf seinem Notebook betreiben und dem Kunden vorstellen. Sind dann aber plötzlich Firewalls, gehärtete Systeme sowie verteilte Systeme in einer Produktion im Einsatz so tauchen unerwartete Schwierigkeiten auf. Zum Beispiel „sehen“ sich Anwendungen nicht mehr, Anwendungsdaten können nicht auf einem System gespeichert werden oder der Loadbalancer kann nicht gesteuert werden und leitet Anfragen willkürlich an einzelne Server.

DevOps Themen werden die IT in den nächsten Jahre fordern. Denn letztendlich ist es das Business, welches immer mehr in kürzerer Zeit und zu tieferen Kosten umgesetzt haben möchte. Dies müssen Entwickler und Betreiber zuerst verstehen und sich dann gemeinsam an den Tisch setzen und so Lösungen und Prozesse erarbeiten, um dieses Ziel zu erreichen.
   

Suche