DevOps ist die Zukunft
Am 18. Januar findet bei Digicomp in Zürich der Cloud Day 2017 statt. Er dreht sich um Lösungen von Microsoft, AWS und Oracle und richtet sich an IT-Manager, Techniker und Entwickler. Lorenz Kurth, Product Manager bei Digicomp, hat der Redaktion verraten, was die Besucher an der Veranstaltung erwartet.
DevOps rückt die Entwicklung und den Betrieb näher zusammen. IT-Administratoren, die Systeme installieren, konfigurieren und verwalten, werden zukünftig arbeiten wie Entwickler, die mit Programmiersprachen Applikationen erstellen und verteilen.
Das bedeutet etwa:
Statt sich durch grafische Oberflächen zu klicken, um Programme zu installieren, werden die nötigen Anweisungen geschrieben, um sie dann automatisiert ablaufen zu lassen.
Statt Systemparameter wie eine Firewall oder Festplatten manuell zu konfigurieren, wird eine Datei erstellt mit allen Anweisungen, die dann auf alle Server desselben Typs angewendet wird.
Warum DevOps?
Die Realität ist, dass in modernen Rechenzentren alles virtualisiert eingerichtet werden kann. Also unabhängig von den physischen Gegebenheiten: vom Netzwerk über den Speicher bis hin zu Computern. Um diese Techniken möglichst effizient nutzen zu können, ist sehr viel Agilität in der Installation, in der Konfiguration und im Betrieb nötig. Zudem bringen kleine Fehler, wie sie oft bei manuellen Arbeiten passieren, die komplexe Struktur zu Fall.
Das DevOps-Konzept hat Auswirkungen auf ganz verschiedenen Ebenen:
Technik: Hier werden flexible, teamfähige und breite Ansätze gebraucht, um übergreifende Workflows zu ermöglichen. Ausserdem muss eine gute Integration mit der bestehenden Systemlandschaft gegeben sein.
Wissen: Viele Mitarbeiter müssen ihre aktuellen Kenntnisse erweitern oder sich total umstellen in der Art, wie sie ihre Arbeit durchführen.
Prozesse: Hier werden iterative Ansätze wie Scrum oder Agile aktuelle Prozessdefinitionen ersetzen.
Kulturell: Systemverwalter und Entwickler sind nun in ihren Tätigkeiten sehr nah beieinander, alte Gräben müssen überwunden werden.
DevOps als Konzept ist zunächst unabhängig von der Cloud-Thematik zu sehen (die Verlagerung von Rechendienstleistungen in grosse, zentralisierte Datacenter) – beide profitieren aber stark voneinander. Da in der Cloud überwiegend vorkonfigurierte Dienstleistungen wie Platform-as-a-Service und Infrastructure-as-a-Service bezogen werden, können mit wenigen verbindenden Programmcode-Zeilen enorm komplexe Dienstleistungsangebote erstellt werden. Ein Beispiel: Das Erstellen eines Hadoop-Big-Data-Clusters dauert in Microsoft Azure etwa 45 Minuten, in einem normalen Datacenter mehrere Wochen. Microsoft empfiehlt sogar, sich nur dann «mal schnell» einen Cluster zu bauen, wenn man gerade etwas zu berechnen hat – denn nur dann zahlt man für die Leistung.
Das Bindeglied
Das Bindeglied, das alle diese Punkte – die Ebenen, die Cloud und die bestehende Umgebung – vereint, ist eine übergreifende Skript- und Kommandozeilensprache. Microsofts Linux-ähnliche Verwaltungssprache Powershell kann dies leisten, aber auch Open-Source-Sprachen wie Python haben sich von Spezial- zu Universalsprachen entwickelt. So können mit Python ausser systemnahen Aufgaben auch Cloud-Automatisierung erreicht und sogar Big-Data-Analysen erstellt werden.
Aber Microsoft hat hier – historisch seltsam – die homogenere Plattform: Vor mehr als zehn Jahren in der ersten Version veröffentlicht und seither kontinuierlich weiterentwickelt, ist Powershell inzwischen für Mac und Linux verfügbar und kann das komplette Cloud-Angebot (Azure, Office 365 etc.) wie auch die bestehende Serverinfrastruktur verwalten. Auch andere Cloud-Anbieter wie Amazon Web Services (AWS) lassen sich problemlos mit Powershell administrieren.
In den verschiedenen Ebenen heisst das für Scriptsprachen wie Powershell:
Technik: Sie können inzwischen jedes Microsoft-Produkt und sehr viele andere Umgebungen (VMware, Citrix, Amazon Cloud etc.) verwalten, und zwar innerhalb desselben Skripts. Azure und andere Cloud-Anbieter stellen von Automatisierungsservern über Vorlagen bis hin zu Software-Defined Networking alle benötigten Komponenten bereit.
Wissen: Sie bauen auf bekannten Ansätzen auf, erfordern aber dennoch eine fundierte Einführung. Die Cloud selbst hat eine sehr niedrige Einstiegsschwelle; für die Umsetzung von komplexen Szenarien ist allerdings Erfahrung nötig.
Prozesse: Durch eine gemeinsame Sprache und Plattform wird die Agilität stark unterstützt. Zudem sind Angebote wie Deploy von Git oder Visual Studio Online für die integrative Arbeit vorhanden.
Kulturell: Sie bedienen sowohl Systemverwalter wie auch Entwickler, besonders mit den aktuellen Neuerungen. Dadurch wird die Zusammenarbeit massiv vereinfacht. Die Cloud selbst entlastet Entwickler von allgemeinen Arbeiten und ermöglicht mit einem reichhaltigen Platform-as-a-Service-Angebot die Fokussierung auf das Wesentliche.
Zusammengefasst: DevOps ermöglicht eine neue Geschwindigkeit und Flexibilität, um Services geschäftsnah bereitzustellen und auch zu betreiben. Das Stichwort lautet Automatisierung. Schaut man allerdings in bestehende Engineering- oder Operations-Abteilungen, sieht die Realität vielleicht noch ganz anders aus. Gestandene Windows-Administratoren haben sich über die letzten 20 Jahre an grafische Verwaltungskonsolen, Assistenten und Installationsmechanismen gewöhnt und kamen nur ausnahmsweise mit der Kommandozeile in Berührung.
Die klassische Sourcing-Frage
Der Wechsel hin zum DevOps-Ansatz ist daher auch ein organisatorischer Change. Wird dieser nicht rechtzeitig angegangen, wächst die Kluft zwischen den internen IT-Kosten und vergleichbaren Aufwänden für eine gleichwertige, aber hochgradig automatisierte Umgebung. Es stellt sich die klassische Sourcing-Frage. Aktuell wird dies gebremst durch regulatorische Vorschriften, Sicherheitsbedenken oder Compliance-Fragen – aber wie lange? Kostengetriebene Changes sind ein Klassiker in der IT seit ihrem Beginn.
Ist diese Erkenntnis gereift, stellt sich die Frage nach den ersten Schritten. Bewährte Change-Ansätze, etwa nach John P. Kotter, sind – wie immer – hilfreich. Sie können aber mit modernen Ansätzen und Möglichkeiten wie etwa der Gamification, die den Motivationsfaktor durch kleine Auszeichnungen erhält, ergänzt werden. Ebenso gibt es in Zeiten von Skype & Co. neben klassischen Präsenzschulungen, die als Einstieg in den Umstieg sicher wichtig sind, auch kleine virtuelle Coaching-Einheiten, die sehr viel flexibler und individueller ausgeliefert werden können, oder andere Formen des individuellen Lernens.
Daraus kann sich eine Strategie für den Wandel ergeben, die aber unbedingt getrieben werden muss von einer Vision, was die eigene IT in Zukunft sein soll. Nur damit können Überzeugung und auch Begeisterung vermittelt werden. Um die positiven Kräfte, die den Wandel unterstützen, zu stärken. Und um bestehende Vorbehalte, die durch die neuen agilen Methoden nur noch grösser werden, abzubauen. Stichworte sind hier die Reputation als «Department of No», hohe IT-Kosten, geringe Flexibilität und wenig Geschäftsorientierung.
Was DevOps wirklich heisst
DevOps stellt also nicht nur eine andere Technologie oder einen neuen Scripting- oder Programmieransatz dar, mit dem bestehende Probleme gelöst werden können. DevOps bedeutet nicht nur eine Veränderung der Art und Weise, wie Entwickler und Administratoren arbeiten – für sich allein und gemeinsam. DevOps heisst: Die IT dient dem Business und treibt es gleichzeitig durch die schnelle Adaption neuer Technologien an.