Micro Services – die Insider-Perspektive. Teil 1:

„WIR HABEN DIE LÖSUNG. FEHLT NUR NOCH DAS PROBLEM.“

Vierzehn Jahre als IT-Dienstleister – das macht etwas mit dir. Die Erfahrung wächst. Die naive Begeisterung für Hypes und Moden schrumpft. Gut so, denn IT ist ein Werkzeug. Nicht mehr und nicht weniger. Und der Wert neuer Werkzeugdesigns misst sich an den Problemen, die sie lösen.

Micro Services zum Beispiel: Seit Jahren in aller Munde, gelegentlich als Allheilmittel für wirklich, wirklich alle IT-Probleme angepriesen, sind sie auch für JIT von stetig wachsender Bedeutung, und wo wir sie einsetzen, sind Kunden in der Tat begeistert. Das liegt allerdings daran, dass wir nur dann zur Migration raten, wenn die Problemstellung den Aufwand rechtfertigt und alle organisatorisch-technischen Rahmenbedingungen stimmen.

Wirklich empfehlenswert sind Micro Services zur Revitalisierung von IT-Landschaften, die über Jahre und Jahrzehnte hinweg organisch gewachsen sind, bis sie zu groß, kompliziert und unbeweglich wurden, um sich an veränderte Umweltbedingungen anzupassen. Jurassic Systems sozusagen.

Das wichtigste Symptom akuter Systemwachstumskrisen ist die explodierende Fehlerquote: An einer in die Unüberschaubarkeit gewucherten Applikation doktern unterschiedliche Teams herum und implementieren neue Features, die meist wenig miteinander zu tun haben. Was nicht weiter stört, denn ehrlich gesagt überblickt längst niemand mehr im Unternehmen die Business-Logik der Applikation in ihrer Gesamtheit. Die ausufernde Komplexität macht Code-Eingriffe zu Weiterentwicklung und Wartung immer schwieriger, teurer und riskanter: Selbst kleinste Änderungen provozieren unterwartete Reaktionen in scheinbar unbeteiligten, weit entfernten Regionen des Systems. Das wachsende Fehlerrisiko hemmt dringend nötige Entwicklungsschritte, das Unternehmen verliert seine Agilität, der Markt läuft ihm davon.

In solchen Settings sind Micro Services eine ideale Lösung: kompakte, autonome Services, die miteinander kollaborieren, wobei die Kopplung zwischen den Services möglichst lose und die Kohäsion innerhalb des einzelnen Services möglichst stark ausgelegt wird. Die gesamte IT-Architektur folgt dem Single Responsibility Prinzip „Do one thing and do it well“. Die Vorteile liegen auf der Hand:

Kompakte, überschaubare Services können einfach, schnell und risikoarm überarbeitet werden, und das über den gesamten Lebenszyklus hinweg vom immer gleichen Team – so wird die Devops-Vision greifbar. Auch Service-Neuimplementierungen und Modernisierungen einzelner Services durch spezialisierte Technologien sind mit wenig Aufwand möglich. Performance-kritische Services können einzeln skaliert werden. Laufende, rasche, risikoarme Deployments reduzieren die Time-to-market. Services können vielfältig verknüpft werden, um neue Funktionalitäten zu schaffen.
Zusammenfassend könnte man sagen, Micro Services ersetzen System-Dinosaurier durch hoch agile Bienenschwärme.

Das sagen wir unseren Kunden. Aber wir sagen ihnen auch, dass die neue Agilität einen Preis hat, und nein, die Rede ist hier nicht von der Einstiegsinvestition, sondern vielmehr von der veränderten Risikolandschaft: Migration zur Micro Service-Architektur bringt die charakteristischen Herausforderungen komplex verteilter Systeme mit sich – Stichwort Distributed Transactions, AKID und Konsistenzen. Und siehe Bill Joy und seine „Acht Irrtümer bezüglich verteilter Systeme“.

Auch über die organisatorisch-technischen Voraussetzungen für Micro Services gibt es eine Menge zu sagen. In Teil 2 dieser Blog-Serie tun wir genau das.

Top