Quantcast
Channel: Kompetenzen – NTT DATA Blog Europe
Viewing all articles
Browse latest Browse all 155

DevOps – für wen ist es relevant und ist es mehr als nur ein neuer IT Trend?

$
0
0

Was ist DevOps und warum wird es vielfach als Lösung für alle Probleme angesehen? Warum ist seine Schwäche gleichzeitig ein großer Vorteil und wieso ist eine bewusste Auseinandersetzung mit dem Thema nicht nur für IT-Unternehmen wichtig? Diese Fragestellungen möchte ich in diesem Beitrag beleuchten.

Starten wir zunächst mit der vermeintlich einfachsten Frage: Was ist DevOps? Zunächst einmal ist es ein Begriff, der aus der Welt der Software-Entwicklung kommt und aus den Begriffen Development und Operations zusammengesetzt ist. Während das Development sich um die Software-Entwicklung als solches, d.h. Programmierung und „Bauen“ der Anwendung beschäftigt, bezieht sich das Operations auf den operativen Betrieb der vom Development entwickelten Anwendung, d.h. das Einspielen der Anwendung, die Pflege der Infrastruktur und die Überwachung der laufenden Anwendung.

Naturgemäß ergibt sich hier ein Interessenskonflikt zwischen den beiden Disziplinen. Während Entwickler gerne Lösungen für interessante, neue Problemstellungen finden möchten, strebt der Betrieb eine stabile Lösung mit möglichst wenigen Fehlern an. Die Zusammenführung der Begriffe bedeutet also zunächst einmal das Bestreben, Dev und Ops näher zu bringen, die Konflikte zwischen den beiden aufzulösen und auf ein gemeinsames Ziel zu fokussieren.

„You build it, you run it“ ist ein vielzitiertes Zitat von Werner Vogels (CEO Amazon Web Services), das ausdrückt, dass sich die Verantwortlichkeiten innerhalb des Software-Lebenszyklusses verschieben. Wurden Neu- und Weiterentwicklungen bis vor wenigen Jahren noch sprichwörtlich „über den Zaun“ zum Operations-Team und auftretende Fehler von diesem wieder zurück an das Development Team geworfen, so wird nun dieser Zaun abgebaut und ein engerer Austausch und eine enge Zusammenarbeit gefördert. Ziel ist es, dass die Entwicklung schon mit Fokus auf den produktiven Betrieb und den Endkunden erfolgt. Gleichzeitig werden auch die Entwickler selber in die Pflicht genommen, um den Betrieb der Applikation sicherzustellen. Es geht also darum, die Lösung als Gesamtprodukt zu betrachten und die Verantwortung für das Ergebnis zu übernehmen.

Vielfach trifft man auf den Glauben, dass durch die Einführung von DevOps alle Probleme innerhalb der IT gelöst werden können. Aber DevOps sorgt nicht automatisch für besseren Code oder ein besseres Management. Insbesondere zu Beginn der Einführung von DevOps wird es möglicherweise sogar kurzzeitige Effizienzverluste oder Widerstände gegen die veränderte Arbeitsweise geben. Das ist aber ganz normal und liegt in der menschlichen Natur und dem evolutionär geprägten Instinkt Veränderungen zu vermeiden. Wie bei jeder größeren Änderung, bedarf es einer gewissen Anlauf- und Lernphase, um sich in den neuen Prozessen und Strukturen zurecht zu finden. Eine Einführung von DevOps muss daher auch vom Top-Management mitgetragen werden, damit es erfolgreich sein kann. Denn DevOps ist kein reines Vorgehensmodell sondern letztlich in erster Linie eine Philosophie, die sich in der Unternehmenskultur und in den Köpfen der Mitarbeiter widerspiegeln und entsprechend gelebt werden muss.

Damit sind wir bei der vielleicht größten Schwäche von DevOps: es werden grundsätzlich keine festen Vorgaben gemacht oder Frameworks zur Verfügung gestellt, die es ermöglichen DevOps nach einem festen Schema einzuführen. Genauer betrachtet ist dies aber auch ein sehr wesentlicher Vorteil von DevOps. Im Gegensatz zu den großen, zum Teil schon überholten IT Trends der Vergangenheit, werden bei DevOps keine Vorgaben gemacht. Es wird ein Ziel vorgegeben, welches erreicht werden soll. Dabei kann der Weg hin zu mehr Effizienz und zur Steigerung der Leistung der IT und des Unternehmens als solches für jedes Unternehmen sehr unterschiedlich sein.

Gleichzeitig ist DevOps nicht nur relevant für große, reinrassige IT Unternehmen, wie Google oder Facebook, sondern für nahezu jedes Unternehmen, das Software zur Abwicklung der eigenen Prozesse einsetzt und diese selber betreibt. Diese Flexibilität macht DevOps nicht nur zu einer Modeerscheinung, sondern zu einem zukunftsorientierten Ansatz.

Was DevOps für Unternehmen bringen kann, zeigen Beispiele aus der Praxis. Vielfach wird hier auf Unternehmen, wie Netflix und Co. verwiesen, die Vorreiter auf diesem Gebiet sind. Ein Hauptbestandteil der Strategie ist die Umsetzung von Automatisierung über große Teile der Prozesskette hinweg. Sobald ein Entwickler Code ins Code Repository eincheckt, läuft eine Kette von automatischen Aktionen ab. Beispielsweise wird die Anwendung gebaut und auf einer Integrationsumgebung deployed und automatisiert getestet. Je nach Unternehmen werden noch manuelle Tests der neuen Funktionalitäten auf einer Testumgebung durchgeführt, die möglichst produktionsnah oder sogar identisch mit der Produktionsumgebung ist. Es kann aber auch mithilfe unterschiedlicher Deployment-Strategien (Canary, Blue-Green) ein Test direkt auf der Produktion erfolgen, indem z.B. zunächst nur wenige oder ganz bestimmte Nutzer die neue Version nutzen. So können Unternehmen wie Netflix mehrere hundert Mal am Tag vollautomatisiert deployen und sehr schnell auf eventuelle Fehler reagieren. Vor allem können sie so neue Funktionalitäten in einer bislang nicht gekannten Geschwindigkeit in die Produktion bringen und sich so entscheidende Wettbewerbsvorteile gegenüber der Konkurrenz sichern.

Das heißt ausdrücklich nicht, dass DevOps für jedes Unternehmen und für jede IT der optimale Ansatz ist. Jedes Unternehmen ist individuell und steht vor eigenen Herausforderungen. Es kann durchaus sein, dass aufgrund des Businessmodells, der zur Verfügung stehenden Mitarbeiter oder anderen Faktoren DevOps nicht optimal für Ihr Unternehmen ist. Aber es ist von immenser Wichtigkeit, diese Entscheidung bewusst zu treffen und sich mit dem Thema intensiv auseinander zu setzen. Ein Ignorieren dieses Trends könnte im Zweifel sogar fahrlässig bis unternehmensgefährdend sein, wenn die Konkurrenz plötzlich schneller und agiler am Markt agiert.

Eventuell sind es schon kleine, pragmatische Schritte in Richtung DevOps, die ein Unternehmen nach vorne bringen. Eine Vollautomatisierung des Prozesses ist sicherlich nicht von heute auf morgen umzusetzen, aber Teilprozesse, wie z.B. die Optimierung der Entwicklungsprozesse und Automatisierung von Deployments durch entsprechende Tools, ist längst kein Hexenwerk mehr und kann durch Nutzung von fertigen Plattformen, wie z.B. der Altemista Cloud, schnell und vergleichsweise risikoarm umgesetzt werden.


Viewing all articles
Browse latest Browse all 155