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?
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 [1]". 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! ( [2])
URL dieses Artikels:
https://www.heise.de/-3110890
Links in diesem Artikel:
[1] http://www.wsj.com/articles/SB10001424053111903480904576512250915629460
[2] mailto:eberhard.wolff@gmail.com
Copyright © 2016 Heise Medien