Was braucht man für eine agile IT-Infrastruktur?

by Oktober 25, 2017

Agile Entwicklung gilt derzeit als der Stein der Weisen. Nichts gegen DevOps und Agile, aber es reicht einfach nicht, nur Entwicklerteams anders arbeiten zu lassen. Die tun das zwar schon oft und mit Begeisterung: 87 Prozent der in einer Freeform Dynamics-Studie befragten Unternehmen in Deutschland setzen agile Methoden in irgendeiner Form ein und 89 Prozent nutzen in wenigstens einem Bereich ihrer IT DevOps. Dass das noch nicht viel über die Agilität einer Organisation als Ganzes aussagt, ist eine andere Baustelle. Doch es gibt noch eine dazwischen: Infrastrukturen.

Agile Infrastruktur = Cloud?

Agile Infrastruktur – also Cloud? Die Antwort ist ein klares Jein. Agilität geht nicht notwendigerweise Hand in Hand mit Cloud. Agile IT-Infrastrukturen haben in Kombination mit Cloud Computing und den neuesten Modellen das Potenzial, geschäftlichen Mehrwert zu generieren, die Kosten zu senken und Time-to-Market zu beschleunigen.

Doch ein Unternehmen, das nur in der Cloud arbeitet, ist eine Seltenheit. Das Problem beginnt, wenn man versucht, agile Methoden auf die bestehenden Infrastrukturen zu übertragen. Das geht bis zu einem bestimmten Grad, wird aber spätestens dann schwierig, wenn man die Worksflows auch in die Legacy-Umgebungen hinein erweitern will.

Und viele Unternehmen nutzen auch noch ältere Legacy-Systeme, die in COBOL entwickelt wurden und sich nicht ohne weiteres im Rahmen von agilen und DevOps-Entwicklungstechnologien einsetzen lassen. Das bringt Unternehmen in die Zwickmühle, denn man kann nicht einfach laufende Prozesse unterbrechen. Gleichzeitig darf man aber auch nicht zu viel Zeit verlieren und damit dem Wettbewerb Raum geben.

Probleme mit der Cloud – ist „bi-modale IT“ die Antwort?

Den Ausweg suchen viele Unternehmen in dem, was Gartner „bi-modale IT“ nennt: DevOps und andere moderne Ansätze basieren auf Cloud, der traditionelle Betrieb auf Legacy-Infrastrukturen. Obwohl DevOps auch On-Premise denkbar wäre, sprechen doch Kostenaspekte, Schnelligkeit und Skalierbarkeit für die Cloud.

Nicht ganz unproblematisch, denn auch eine Cloud bietet nicht immer, was DevOps braucht. Sie bieten vielleicht Application Development Management und DevOps-Support. Aber Continuous Testing und Deployment läuft immer noch Old School. Und so ist man wieder bei einem Mix aus Cloud und lokaler Plattform. Genau diese Mischung ist immer wieder anders und damit kaum zu budgetieren oder zu planen.

Ein weiteres Hindernis: zwar wird DevOps immer so verkauft, als wäre man superschnell. Aber es gibt immer noch Show Stopper: manuelle Prozesse als Teil der DevOps-Automatisierung, ohne die es – noch – nicht geht. Super-Tools für die vollkommene Automatisierung – ob Cloud oder nicht – gibt es derzeit noch nicht. Damit sind die Kosten von DevOps in der Cloud oft höher als ursprünglich angenommen, gerade wenn Prozesse auch traditionelle Ressourcen und Systeme umfassen.

Noch trüber wird das Bild, wenn es um die Kontrolle des kompletten Stacks geht – ohne die aber ein effektives DevOps-Modells in der Cloud nicht funktioniert.

Kurz: Agilität durch Cloud alleine ist noch Utopie

Geht hybrid überhaupt? Die Realität in der IT-Abteilung

Wie also kann man eine hybride Lösung umsetzen? Die Entwickler wissen manchmal schon früh, welche Ressourcen sie brauchen werden. Nachdem mit DevOps das Produkt früh zu den Anwendern/Kunden kommt, weiß man auch schnell, welche Anpassungen im Ressourcenbedarf notwendig werden könnten. Veränderungen und Anpassungen können jederzeit während eines Projektes gemacht werden. Aber das funktioniert bei größeren und komplexeren Projekten nicht ganz so reibungslos: hier kommt oft Unvorhergesehenes, das den Ressourcenbedarf verändert.

Das Problem dabei: viele Leiter von Implementierung und Organisation sind noch gefangen in traditionellen Silostrukturen, die die neuen Anforderungen nicht angemessen erfüllen können – angefangen mit bi-modaler IT, digitalem Business und digitalen Business-Plattformen. Sie kämpfen noch  damit, den IT-Betrieb zu optimieren und herauszufinden, an welcher Stelle sie mit Agilität beginnen könnten.

Es ist keine leichte Aufgabe, eine integrierte IT-Umgebung zu schaffen und nicht einfach eine neue Ansammlung von unverbundenen Punktlösungen. Genau da wird investiert – in Container, Automatisierung und DevOps. Was aber meist wenig geklärt ist: wie arbeiten diese Tools zusammen und schaffen eine gemeinsame Umgebung für verteilte Daten? Eine Frage, die umso dringender wird als der Zeitdruck wächst und auch das Budget seine Grenzen hat. Problematisch auch, dass Infrastrukturprojekte dadurch schwerfälliger werden. Die Hardware kann nur in engen Grenzen verändert werden.

Wege zur agilen Infrastruktur

Die absolut meisten Unternehmen haben also Daten in vielen verschiedenen Systemen – zentrale Ablagesysteme, die unfassbar zäh sind: sie überleben Infrastruktur Modernisierungen und Firmen-Merger. Was dann passiert: immer neue Datenspeicher kommen zu den alten hinzu, was in einer Koexistenz von Generationen mündet. Und auf diese Vielfalt von Systemen müssen nun die neuen Apps zugreifen. Wie kann man das gut gestalten?

Die Top-5 Ansätze, wie Sie Ihre IT-Infrastruktur agil machen

1. Weg mit den Infrastruktur-basierten Wissens-Silos!

Jedes Unternehmen hat Spezialisten – Administratoren für Windows, Linux, AS-400, Mainframe, Cloud-Systeme… Ziel muss es sein, diese Inseln miteinander zu verbinden. Der Wissensaustausch bringt notwendiges Legacy-Wissen zu Nachwuchskräften. Allein diese Kommunikation macht das IT-Infrastrukturteam schon flexibler.

2. Vom Projekt zum Dauerwandel!

Die alte Vorgehensweise, alle paar Jahre ein Infrastrukturprojekt aufzusetzen, ist nicht mehr flexibel genug. Besser wäre es, in kleinen Schritten zu erneuern, anzupassen. Das schafft nicht nur eine kontinuierliche Verbesserung in der Performance der Systeme, es nimmt auch den Dampf aus den Teams, die die Anpassungen vornehmen müssen.

3. IT-Infrastrukturen müssen einfacher werden!

Maßgeschneiderte Architekturen sind zu kompliziert: je mehr die Systeme voneinander abhängen, desto schwieriger wird es, sie anzupassen. Es gilt also, zu standardisieren und möglichst wenige Ausnahmen zuzulassen. Standardtechnologien und -prozesse in der IT-Architektur tragen dazu bei, die benötigten IT-Systeme und Anwendungen nicht nur schneller bereitzustellen, sie garantieren auch Kompatibilität und senken die Fehleranfälligkeit.

4. Weg mit monolithischen Architekturen!

Schritt für Schritt sollte man versuchen, hart codierte Pfade aufzulösen. Es gibt Besseres: Mit APIs können Entwickler Daten nutzen und unterschiedliche Systeme schneller und einfacher integrieren. Aber dafür müssen APIs katalogisiert werden – und das ist oft eine Aufgabe, die von den Entwicklern und den Teams, die für die Code-Bibliotheken und Infrastruktur-Arten verantwortlich sind, höchstens teilweise wahrgenommen wird.

Microservices erlauben eine parallele Entwicklung, denn sie ermöglichen es kleinen, autonomen Teams, unabhängig voneinander ihre Services zu entwickeln, umzusetzen und zu skalieren.

5. DevOps-Prozesse und -Tools müssen für alle Systeme funktionieren!

DevOp-Prozesse und  Tools pro Infrastruktur-Art oder Code-Bibliothek einzuführen oder zu nutzen ist nicht zielführend. Damit baut man nur noch mehr Schranken – teuer durch Lizenzgebühren und mehr Support für das Hosten, Verwaltungen und Upgraden dieser Tools. Kurz: eine DevOps-enabling Software muss über die gesamte Infrastruktur hinweg arbeiten.

Einen Königsweg zu einer agilen Infrastruktur kann es nie geben – zu verschieden ist, was man in Unternehmen findet. Dennoch: wer sein Unternehmen agil machen will, kommt nicht daran vorbei, über die Infrastruktur nachzudenken. Denn Automatisierung macht nicht auf Applikationsebene halt und die Application Performance hängt ganz wesentlich davon ab, dass die Performance im Hintergrund stimmt.

Wer also sein Unternehmen zu einer Software Factory umbauen will, sollte auch einen intensiven Blick in seine Clouds und Rechenzentren werfen.