Wann moderne IT-Ansätze nicht funktionieren

Moderne IT-Ansätze wie DevOps oder Microservices sollen die IT revolutionieren. Manchmal funktionieren sie aber nicht. Warum eigentlich?

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Eberhard Wolff

Moderne IT-Ansätze wie DevOps oder Microservices sollen die IT revolutionieren. Manchmal funktionieren sie aber nicht. Warum eigentlich?

Marc Andreessen behauptet: "Software is eating the world". Immer mehr Produkte und Dienstleistungen hängen entscheidend von Software ab. So hält Software schrittweise Einzug in alle Lebensbereiche und Branchen. Dementsprechend sollte gute Software und damit auch gute IT doch ein Wettbewerbsvorteil sein. Aber in der Realität sind viele IT-Organisationen auf Kosten optimiert – an vielen Stellen auch zu Recht! Für Desktop-Arbeitsplätze oder E-Mail-Accounts ist möglichst viel Service für möglichst wenig Geld sicherlich das richtige Ziel.

Aber ein Projekt für Individual-Softwareentwicklung ist anders. Individual-Sofware ist immer teuer und birgt immer ein Risiko. Nur bei einem ausreichend großen Wettbewerbsvorteil ist die Entscheidung für Individual-Software sinnvoll. Sonst wäre eine Standard-Software die richtige Wahl. Festpreis-Projekte sind daher eigentlich paradox: Sie stellen die Kosten der Individual-Software in den Vordergrund. Eigentlich sollte Individual-Software aber wegen des Werts und des Wettbewerbsvorteils entwickelt werden.

Ein anderer Konflikt: DevOps führt zu einer engen Kollaboration zwischen Entwicklern und Betrieb. Dadurch können Änderungen schneller und effektiver umgesetzt werden. So kann ein Wettbewerbsvorteil entstehen. Aber dazu muss es oft mehr Personal im Betrieb geben. Schließlich ist der Betrieb wegen der Kostenoptimierung voll ausgelastet. Mangelnde Unterstützung für DevOps beim Betrieb ist eigentlich nur ein Zeichen für eine erfolgreiche Kostenoptimierung.

Und noch ein Gegensatz: Microservices teilen Systeme in viele unabhängig deploybare Dienste auf. Das Entwickeln und Deployen neuer Features wird dadurch einfacher. Aber dazu sind viel mehr (virtuelle) Server oder Docker-Container notwendig. Jeder Microservice läuft schließlich auf seiner eigenen Betriebssystem-Instanz. Alle diese Server müssen außerdem weiterer betrieblicher Unterstützung wie Monitoring bekommen. Das erzeugt Kosten. Auch Microservices sind bei strikter Kostenoptimierung im Betrieb nur schwer umsetzbar.
Probleme bei der Umsetzung von Ansätzen wie DevOps oder Microservices sind manchmal nur ein Symptom. Das wirkliche Problem kann ein Zielkonflikt zwischen Kostenoptimierung und Flexibilität sein. Ansätze wie DevOps oder Microservices fördern Flexibilität. Aber sie fokussieren eben nicht auf Kosten.

Danke an den innoQ-Kollegen Timo Loist für die Diskussion über eine frühe Version des Blog-Posts! ()