Fuchs Gewürze

Sales-Prozesse mit Microservices abbilden

15.06.2015
Von 
Heinrich Seeger arbeitet als IT-Fachjournalist und Medienberater in Hamburg. Er hat über 30 Jahre IT-journalistische Erfahrung, unter anderem als Gründungs-Chefredakteur des CIO Magazins. Er entwickelt und moderiert neben seiner journalistischen Arbeit Programme für Konferenzen und Kongresse in den Themenbereichen Enterprise IT und Mobile Development, darunter IT-Strategietage, Open Source Meets Business, droidcon und VDZ Tech Summit. Zudem gehört er als beratendes Mitglied dem IT Executive Club an, einer Community von IT-Entscheidern in der Metropolregion Hamburg.

Prozesswissen effizient verarbeiten

Microservices schätzt man bei Fuchs mittlerweile als stabiles Fundament, um Eigenentwicklungen mit Standardsoftware in Systemlandschaften zu integrieren. "Bei Einführung neuer Software gibt es künftig immer eine Alternative mehr. Wir setzen Microservices verstärkt in Bereichen ein, wo wir mit Standardsoftware einen zu hohen Customizing-Bedarf erwarten", erläuter Alexander Fuchs. Agile Softwareentwicklung helfe, benötigtes Prozesswissen möglichst effizient zu erarbeiten und in lauffähige Software zu überführen. Es sei freilich nicht ausgeschlossen, dass einzelne Microservices später durch Standardsoftware abgelöst würden.

Komplexität einer verteilten Systemlandschaft

Bei allen positiven Erfahrungen: Es gibt durchaus Faktoren, die Microservices als Architekturmodell zu einer Herausforderung machen, wie sich in der Praxis beweist. "Man halst sich die Komplexität einer verteilten Systemlandschaft auf mit der Konsequenz, Konsistenz und Transaktionssicherheit herstellen zu müssen", räumt Alexander Fuchs ein. Infrastrukturlösungen in Form von Loadbalancing- und Monitoring-Werkzeugen existieren zwar am Markt. Die erforderlichen Skills freilich mussten am Teutoburger Wald seinerzeit aufgebaut werden. "Die Leute müssen im Team skalierbare, robuste SW entwickeln können, die hohen architektonischen Qualitätsansprüchen gerecht wird", so Fuchs. Außerdem sei die Fähigkeit zur Kommunikation mit den Fachbereichen gefordert. Kurzum: "Man muss sich als Microservices-Entwickler im agilen Umfeld wohlfühlen."

Zudem: Bei aller Agilität des Vorgehens ist gute Planung besonders im Microservices-Umfeld wichtig, insbesondere hinsichtlich der Architektur. Der Microservices-Ansatz birgt nämlich das Risiko, "fachliche Domänen nicht richtig zu zerlegen, also irrtümlich Dinge zu trennen die zusammengehören und damit vermeidbare Schnittstellenkomplexität zu erzeugen", warnt Fuchs und rät, im Zweifelsfall prophylaktisch Funktionalitäten zunächst zusammenzuhalten und Sie erst später bei Bedarf zu zerlegen.

Microservices sind nicht SOA

Aus seinen Alltagserfahrungen im IT-Management leitet Alexander Fuchs als Wirtschaftsinformatiker auch theoretische Überlegungen ab, die sich auf die Trennschärfe der Begriffe Microservices und SOA (serviceorientierte Architektur) beziehen. Auf den ersten Blick ähneln sich die Ideen: In beiden Fällen handelt es sich um eine Architektur, die aus wiederverwendbaren und in unterschiedlichen Kontexten konfigurierbaren Services, beziehungsweise Funktionsmodulen, zusammengesetzt ist.

Im Video: Microservices als Architekturmuster

(Quelle: video2brain, Trainer: Christopher Janietz)

Viele SOA-Implementierungen haben jedoch einen zentralistischen Ansatz, erläutert Fuchs den Unterschied. SOA sei ein Konstrukt mit einem mächtigen Integrationswerkzeug, einer intelligenten Middleware, etwa einem ESB (Enterprise Service Bus). Der könne zwar unterschiedliche Komponenten "fest miteinander verdrahten" und sei in dieser Hinsicht flexibel. Weil er aber große Teile der Prozesslogik selbst enthalte, mache er sich unverzichtbar. "Das Ding in der Mitte wird man nie wieder los" warnt Fuchs. Das Ziel, Anwendungen voneinander zu entkoppeln, gerate in Gefahr, wenn der zentrale ESB sie mithilfe von Engines für Business-Prozesse und -Regeln sowie durch Routing, Mapping etc. miteinander verklebe. Bei Microservices dagegen stecke die Logik in den Endpunkten, weshalb sie als "Methode zur Komplexitätsbehandlung" weitaus besser geeignet seien.

Eine Systemlandschaft ganz aus Microservices kann sich der CIO - zumindest gegenwärtig - nicht vorstellen; dazu müssten alle Softwarehersteller ihre Anwendungen einzeln als umsetzungsfähige ("deploybare") Apps anbieten. Fuchs ruft damit nach einer umfassenden App-Economy, wie sie ja auch tatsächlich bereits prognostiziert wird. (fm)