Wie sich Devops erfolgreich in der IT etabliert

Sergei Popov, 123RF

Weg von der Insel

Devops – das Schlagwort markiert einen globalen Trend und zieht dabei – wie oft in solchen Fällen – eine Menge Trittbrettfahrer an, die den Begriff dann irreführend für so manch bizarres Marketingkonzept verwenden. Was aber meint Devops wirklich? Wem nützt es und wie?
Das Titelthema im ADMIN 04/14 "Vernetzt speichern" sind Netzwerkdateisysteme, etwa Samba 4, verteilter Storage mit Ceph & GlusterFS und der Unix-Klassiker ... (mehr)

Devops beschreibt die Auflösung der Teamgrenzen zwischen Development und Operations mit dem Ziel, gemeinsam schneller, besser und innovativer zu sein. In den letzten vier Jahren wurde die Annäherung und Verschmelzung von Entwicklung (Dev) und Operating (Ops) zu einem globalen Trend, der sich mehr und mehr auch in konservativen IT-Bereichen durchsetzt.

Der Begriff Devops hat seinen Ursprung in einer seit 2009 organisierten Veranstaltung in Gent, Belgien [1]. Leute mit Einfluss und inspirierenden Ideen, allen voran Patrick Debois, trafen sich damals für gemeinsame Vorträge und Workshops zu den ersten Devops-Days und markierten so den Startpunkt für eine heute weltumspannende IT-Bewegung.

Dabei war die Idee, die überall verbreitenten Grabenkämpfe zwischen Development und Operations durch aktive Zusammenarbeit zu beseitigen, nicht neu. Doch nun ermöglichten aufkommende neue Tools auch einen neuen Blick über den Tellerrand des jeweiligen Lagers. Die Zeit war reif. Ziel dieses Artikels ist es, etwas Klarheit in den Begriff zu bringen, zu schauen, wer hinter der Bewegung steht, und die damit verbundenen Möglichkeiten, aber auch Voraussetzungen zu verdeutlichen.

Silodenken in der IT

Ob und wie sehr ein Admin in Silos gefangen ist, wenn er über unternehmerische Prozesse nachdenkt, hängt in großen Teilen von der Unternehmensgröße und der erlebten Kultur ab. Dass Mitarbeiter eigene Zuständigkeiten von denen anderer abgrenzen, ist eine Notwendigkeit, die eine bestimmte Teamgröße mit sich bringt. Natürlich kann nicht jeder gleichzeitig SAN-Storage administrieren, Netzwerke verwalten, Oracle-Cluster konfigurieren und Java-Programme ausrollen. Strukturen stellen sicher, das einzelne Bereiche von Unternehmen unabhängig von einander agieren und funktionsfähig bleiben.

Das Hin und Her zwischen Entwicklung und Betrieb ist nicht selten ein etablierter Bestandteil des täglichen Miteinanders. Ob nun die Entwickler nicht sauber dokumentiert haben oder der Betrieb einfach nur unfähig ist, die Software zu installieren, lässt sich dabei meist nicht final klären. Sicher ist zum Schluss nur, das oft viel mehr Energie in gegenseitigen Schuldzuweisungen verpufft, als in die eigentliche Problembeseitigung fließt.

Hat man vor einigen Jahren noch nach dem Wasserfall-Prinzip [2] und in großen Iterationszyklen vor sich hinentwickelt, wird heute zunehmend in kleineren Iterationen – häufig täglich – neue Software ausgeliefert. Konnte man sich früher nach einem unglücklichen Release noch einige Wochen in der Kantine aus dem Weg gehen, steht heute der Entwickler am nächsten Tag schon wieder vor der Tür und möchte ein neues Release ausgerollt bekommen. In so einer agilen Welt offenbaren sich organisatorische Schwächen in der Zusammenarbeit sehr schnell und beeinflussen die Flexibilität des Unternehmens negativ.

Darüber hinaus gibt es jede Menge künstlich erzeugte Verantwortungsinseln. Die strikte Etablierung von ITIL-kompatiblen Prozessen [3] und die damit verbundenen Verantwortungsabgrenzungen haben so manchen IT-Bereich in die absolute Handlungsunfähigkeit navigiert. Wenn der Ausfall eines Webservers die Konsultation eines Notfallkomitees nötig macht, ist definitiv etwas falsch gelaufen.

Wege zur Zusammenarbeit

Die Idee von Devops ist in kleinen Unternehmen und produktbezogenen Startups quasi überlebenswichtig und fest verwurzelt. Je nach Marktstellung und Branche ist die übergreifende Zusammenarbeit von Entwicklern und Administratoren zunehmend eine wirtschaftliche Notwendigkeit, um den schnellen Innovationszyklen qualitativ gerecht zu werden. Verglichen mit traditionellen Unternehmen wie Banken oder Versicherern, die ein- oder zweimal im Jahr neue Versionen in die Produktion überführen, ist beispielsweise ein E-Commerce-Anbieter oft stündlich zur Aktualisierung seiner Webapplikationen gezwungen. Diese Gegebenheiten zwingen die IT bereits früh zur agilen Zusammenarbeit (Abbildung 1). Dass die Devops-Kultur gerade in diesen produktbezogenen Unternehmen besonders stark verwurzelt ist und auch weiterentwickelt wird, ist auch eine Folge der dynamischen Wettbewerbssituation.

Abbildung 1: Entwickler und Admins sitzen in einem Boot. Je besser sie ihre Schlagzahl aufeinander abstimmen, je schneller kommen sie voran.

Anders sieht es jedoch aus, wenn die Mitarbeiter jahrelang an differenzierte Strukturen gewöhnt sind. Bekannte Grenzen zu überschreiten, erfordert allerdings nicht zwingend eine groß angelegte Umstrukturierung. Neben einem für das agile Vorgehen geeigneten Produkt oder Service ist vor allem die Schaffung von Service-bezogenen Teams von entscheidender Bedeutung. Dabei ist besonders auf die Eignung der beteiligten Mitarbeiter zu achten, um den Erfolg zu ermöglichen. Neben Lernbereitschaft und Neugierde, die bisherigen Grenzen zu überschreiten, ist Kommunikationsbereitschaft das wichtigste Attribut.

Neben den richtigen Prozessen und Mitarbeitern ist vor allem aber auch Geduld gefragt. Wie bei allen anderen agilen Prozessen gelingt die Einführung nicht über Nacht und wird auch Fehlschläge, Ausfälle und Frustrationen mit sich bringen. Neben Investitionsbereitschaft ist es ganz entscheidend, die Anpassungsfähigkeit der eigenen Mitarbeiter und die des Unternehmens zu kennen, um sich realistische Ziele zu setzen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Google+

Ausgabe /2019