Two tribes go to war - DevOps

Wenn man viele Jahre im Operating gearbeitet hat, kommen einem bestimmte Gesellschaftsformen schon so ziemlich seltsam vor. Der letzte Schrei ist: DevOps. DevOps ist die Abkuerzung fuer Software Development & IT Operation.

Posted by eumel8 on November 23, 2011 · 3 mins read

Wenn man viele Jahre im Operating gearbeitet hat, kommen einem bestimmte Gesellschaftsformen schon so ziemlich seltsam vor. Der letzte Schrei ist: "DevOps"


DevOps ist die Abkuerzung fuer Software Development & IT Operation. Es gibt sogar ganze Wikibeitraege darueber. Worum gehts? Im Prinzip geht es um die Abschaffung des klassischen IT Betriebes, also den Leuten, die Tag und Nacht den Kram am Laufen halten, den das Software Development zusammengezimmert hat. Das funktioniert manchmal recht gut, wenn man saubere Schnittstellen und Uebergabepunkte hat, klar definiert ist, was die Software leistet und wie sie reagiert, wenn sie ebend nichts mehr tut. Der Standard ist in Frameworks wie ITIL geregelt. Also, was passiert, wenn eine Stoerung auftritt, sich ein Kunde ueber einen Fehler beschwert oder das ganze System ueberlastet ist. Je nachdem wie das IT Operating aufgestellt ist, bekommt es die Dinge mit mehr Geld oder mehr Leuten in den Griff. Neben den zwei Totschlagargumenten gibt es aber auch noch ein drittes Indiz und das sind gute Leute. Die allgegenwaertige Waehrungseinheit ist da die Information. Was passiert wenn? Wie kam es zu diesem Fehler? Warum ist der Server ueberlastet? Auch da gibt es aus ITIL die Antwort: Root Cause Analyse - also Fehler im Nachgang bereden und daraus lernen.

Alles wunderschoen. Aber dennoch hat man wahrscheinlich ein gewisses Defizit zu dem, der den Kram programmiert hat. Und damit kommen wir zu einer weiteren Organisationseinheit: Dem Schattenbetrieb. Der Schattenbetrieb findet in den Reihen des Software Developments statt. Der Entwickler entwickelt also was, die Applikation geht in Betrieb, Fehlermeldungen und Logs werden automatisch an den Entwickler geleitet. Optimalerweise laesst sich die Software etwas "fernsteuern", also etwa mit anderen Parametern neu starten oder Requests auf eine andere Adresse umleiten. Das geht schon etwas in Richtung Trojanisches Pferd, was wild durch den fremden Garten galoppiert. Aus Produktionssicht wuerde ich es aber gerne mit meinem Auto vergleichen: Es gehoert zwar mir, aber abundzu faehrt jemand von den Ford-Werken damit rum, um sich von der Qualitaet des Fahrzeugs zu ueberzeugen oder selbstaendig kleinere Reparaturen durchzufuehren. Eigentlich eine Supersache, aber vielleicht fehlt ja gerade der Motor, wenn ich frueh auf Arbeit fahren will ;)

Wenns ums eigene Blechle geht, hoert ja fuer die meisten Leute der Spass auf. Das zaehlt auch fuers Computerblech. Eine normale Zusammenarbeit ist so natuerlich nicht mehr moeglich, wenn man den Betrieb autark und integer gestalten will. Informationen muessen transparent gehalten werden, wenn man allen Beteiligten auf demselben Niveau begegnen moechte.

Eine Trennung von Betrieb und Entwicklung hat sich sowieso bald erledigt. Wenn es mit Cloud Computing so weiter geht, hat sich die Infrastruktur soweit verselbstaendigt, dass Rechner mit Betriebssystem nach Bedarf automatisch installiert und Applikationen mit entsprechenden Softwarestaenden ausgerollt und in Betrieb genommen werden. Errorhandling und Monitoring laufen auch  weitestgehend automatisch statt. Die Organisationseinheit "Operating" ist so nicht mehr notwendig. Wie lange es dazu noch dauert? Nicht mehr allzu viel. Die Zukunft beginnt jetzt!