Angesichts immer mehr digitaler Touchpoints und dem Wunsch zu schnellen und flexiblen Lösungen, gilt ein modularer, auf Microservices basierender Ansatz als ein Heilmittel gegen monolitische Software-Architekturen. Doch was verbirgt sich eigentlich hinter dem Zauberwort für dezentrale Anwendungen und wie kann der Onlinehandel von den Software-Bausteinen profitieren? etailment hat Roman Zenner, Industry Analyst beim Software-Unternehmen commercetools, gefragt und Antworten erhalten, die nicht nur IT-Experten verstehen.


Microservices sind in vielen Unternehmen Trend. Was genau sind eigentlich Microservices?

Roman Zenner: Microservices sind eine bestimmte Art, Software flexibel zu bauen. Statt aufwändig eine All-in-One-Lösung zu konstruieren, in der viele verschiedene Funktionen vereint sind, bricht man die Features mit Microservices in einzelne Bestandteile auf. Sie sind quasi kleine Programme, die unabhängig voneinander funktionieren und über Schnittstellen Daten austauschen. Es geht somit nicht um eine neue Technologie, sondern eher um ein Architektur-Prinzip, das mehr Flexibilität bietet als ein statisches System. Diese Flexibilität sorgt auch dafür, dass immer nur ein kleiner Teil des gesamten Ökosystems betroffen ist, falls ein Dienst ausfällt oder ein Feature ausgetauscht werden muss.
Am Ende geht es dabei  also durchaus auch um mehr als nur um kleine Micro-Feature?
Der Clou liegt im Zusammenspiel: Ein Netzwerk von Microservices übernimmt die Aufgaben komplexer, monolithischer Software. Im Idealfall übernimmt jeder Microservice eine Funktion innerhalb des Gesamtsystems. Möglich wird das durch schnelle und flexible API-Schnittstellen, die Daten zwischen verschiedenen Anwendungen austauschen.  

Helfen Sie damit den Shop von Morgen zu bauen?
Nach unserem Verständnis ist ein klassischer Onlineshop, der möglicherweise noch nicht mal mobil optimiert ist, definitiv nicht die Zukunft des Onlinehandels. Heutzutage muss es darum gehen, neue Endgeräte und Touchpoints sowie die neuen Möglichkeiten, die sich dadurch ergeben, umfassend zu nutzen. Dafür braucht es flexible Lösungen und neue Geschäftsmodelle. Mit einem PC-zentrischen Vorgehen ist das nicht umsetzbar. In diesem Kontext helfen Microservices sozusagen auf dem Weg in eine neue, technologische Welt.

Ein Beispiel bitte.
Stellen wir uns einen Händler vor, der einen Weihnachts-Countdown in seinen Shop einbinden möchte. Er kann entweder seine alte Shopsoftware in dieser Richtung modifizieren und dadurch noch mehr Komplexität erzeugen, die ihn auf lange Sicht langsamer macht.

"Komplexe Aufgaben und Prozesse werden in kleinere Einzelteile zerlegt. Jedes davon ist übersichtlicher und einfacher zu handhaben."

Oder er baut einen Microservice, der nichts anderes tut, als die Tage bis Weihnachten zu berechnen und dessen Ergebnis sich sehr leicht in den alten Shop einbinden lässt. In diesem Fall muss die alte Software nicht umgebaut werden und die Berechnung – erstellt mit einem Microservice – lässt sich auch in anderen Kontexten nutzen, beispielsweise in einem Skill für den Amazon Echo.

Welche technologischen Entwicklungen begünstigen den Einsatz?
Cloud-Computing ist die ideale Grundlage für Microservices. Statt ein On-Premise-System zu kaufen und dieses  zu konfigurieren, genügt das Hinterlegen einer Kreditkarte, um dann per Mausklick die gewünschte virtuelle Hardware zu konfigurieren. Durch Public-Cloud-Anbieter wie Googles Cloud Engine, Amazons Web-Services oder Microsofts Azure stehen auf Knopfdruck skalierbare Maschinen bereit. Die auch bereits die erforderliche Konnektivität eingebaut haben. Im Vergleich zu dedizierter Hardware ist die Cloud günstiger und steht schneller zur Verfügung. Für ein paar Euro Gebühren für die Cloud sparen sich Entwickler enorm viel Zeit und haben eine Plattform, die sich binnen Minuten skalieren lässt.

Warum schwören so viele Unternehmen darauf?
Microservices machen Entwickler und Unternehmen agiler. Im Prinzip werden damit komplexe Aufgaben und Prozesse in kleinere Einzelteile zerlegt. Jedes davon ist übersichtlicher und einfacher zu handhaben. Im Entwicklungsprozess bietet das einen enormen Geschwindigkeitsgewinn. Developer können verschiedene Lösungen ausprobieren und wenn diese im Testing überzeugen einfach ausrollen. Statt regelmäßiger Updatezyklen, zum Beispiel einmal pro Quartal, sind neue Funktionen viel schneller auf dem Markt.

Wie profitiert man dabei von Microservices?
Das, was bisher ein großes, monolithisch erscheinendes Gebilde war, ist jetzt in viele Einzelteile aufgespaltet. Das bedeutet aber auch, dass jedes dieser Teile isoliert weiterentwickelt werden kann. Zeigt der Markt, dass eine Funktion schnell ausgebaut werden muss, kann sich das Unternehmen leichter darauf fokussieren.

"Microservices sind besonders interessant, wenn unterschiedliche Endgeräte auf die gleichen Daten und Prozesse zugreifen sollen."

Oder, wenn die internen Kapazitäten nicht ausreichen, externe Ressourcen damit betrauen. Es gibt schlicht mehr Übersicht, die Bausteine lassen sich einfacher warten und das macht ein Unternehmen deutlich flexibler.

In welchen Segmenten und Einsatzszenarien ist das besonders sinnvoll?
Im Backend eines Shopsystems gibt es Prozesse, die sich kaum verändern, zum Beispiel die reine Abwicklung einer Zahlung. Der Server schickt eine Anfrage zum Payment, erhält eine Antwort, die Bestellung kann ausgeführt werden. Hier kommt es auf Stabilität und Verfügbarkeit an. Veränderungen ergeben sich immer nur dann, wenn sich am grundlegenden Ablauf etwas ändert. Und das ist selten der Fall. Aber immer dann, wenn es um den Nutzer geht oder das User-Interface verändert werden soll, spielen Microservices ihre Stärken aus. Kurzum: Wenn es darum geht, Änderungen schnell umzusetzen, Dinge auszuprobieren, oder sich wechselnde Anforderungen ergeben könnten, erleichtern Microservices die Arbeit.

Wo lassen Sie sich dann einsetzen?
Microservices lassen sich wirklich überall einsetzen. Die neue Architektur übernimmt einfach die Aufgaben der althergebrachten Software, zerlegt sie eben nur in Einzelteile. Und das macht Microservices besonders interessant, wenn unterschiedliche Endgeräte auf die gleichen Daten und Prozesse zugreifen sollen.
Ein Microservice könnte beispielsweise als Ergebnis das Gewicht für jeden einzelnen Artikel des Sortiments zurückliefern. Für das System spielt keine Rolle, wo diese Information angezeigt oder weiterverarbeitet werden soll. Die Anzeige kann im Webshop oder einerApp erscheinen. Alexa kann ihn vorlesen oder ein IoT-Gerät nutzen. Diese Flexibilität mit vergleichbar geringem Aufwand schaffen Sie mit keinem anderen Ansatz.

Muss man dafür einen kompletten Architekturwechsel vollziehen?
Oh, nein. Das wäre ja fatal, in erster Linie auf Grund der vielen Zeit, die in ein solches Projekt gesteckt werden müssten. Bei einem Wechsel auf Microservices kann sehr granular vorgegangen werden. Das alte System wird Stück für Stück ersetzt.

Welche Organisationsform ist ideal, um Microservices zu nutzen?
Am meisten profitieren Unternehmen von einer Microservices-Architektur wenn hinter jeder einzelnen Anwendung ein eigenes Team steht, in dem alle Kompetenzen vorhanden sind, um das Programm zu betreiben und zu entwickeln. Also beispielsweise ein Datenbank-Spezialist, ein Backend-Entwickler und ein Programmierer für Frontends. Natürlich muss das Team nicht ausschließlich diesen einen  Microservice betreuen, sondern die Mitglieder arbeiten in anderer Zusammenstellung an anderen Microservices oder Aufgaben. Agil eben.
Wird ein Unternehmen mit Microservices automatisch agiler und innovativer?
Das wäre schön, aber Microservices haben keinen automatischen Innovationsschub eingebaut. Wer sich auf diesen Ansatz einlässt, kommt in den Genuss der bereits genannten Vorteile. Aber nur weil man Microservices benutzt, wird man nicht Innovationsführer. Anders ausgedrückt: Die modernste Architektur nutzt nichts, wenn das Unternehmen nicht weiß, wie man den Kunden Nutzen und Mehrwert bietet. Es braucht schon den Willen zum Experimentieren und gute Ideen.

Wie steht es um die Komplexität? Viele kleinteilige Lösungen, das klingt nach vielen Köchen und dem verdorbenen Brei. Warum ist das hier anders?
Autarke Teams und isolierte Lösungen – das klingt tatsächlich zunächst nach Chaos. Aber die Teams arbeiten ja nicht auf sich allein gestellt. Es muss einen Austausch zwischen ihnen geben, oder einen Architekten, der das Gesamtbild im Kopf hat und weiß, in welche Richtung die Gesamtlösung entwickelt werden soll. Es ist aber wichtig, moderne Werkzeuge einzusetzen, die beispielsweise die Microservices überwachen. Wenn es bei einem monolithischen System zu einem Stillstand kommt, merkt das jeder, weil nichts mehr geht. Um noch einmal das Beispiel von vorhin aufzugreifen: Wenn der Microservice mit dem Artikelgewicht stockt, kann es eine Weile dauern, bis das in der IT bemerkt wird. Aber einer merkt es mit Sicherheit sofort: Der Kunde nämlich. Deswegen ist das Monitoring wichtig.
Aber es gibt doch bestimmt Hürden?
Sicher. Um es gleich vorwegzusagen: Microservices sind kein Kostensparmodell. Im Gegenteil, sie werden am Anfang tendenziell eher mehr Kosten als klassische Methoden verursachen. Das notwendige Know-how über Schnittstellen und Tools muss erst aufgebaut werden. Auch das Aufbauen der  Teams und die Organisation der Arbeit verursacht  zunächst Aufwand  – finanziell aber auch zeitlich. Genauso wenig, wie Microservices automatisch innovativ machen, sparen sie automatisch Geld. Nutzen bringt der Ansatz dann, wenn die gewonnene Agilität und Flexibilität auch genutzt wird und so in mehr Umsatz umgemünzt werden kann.

Spürt es der Kunde, dass da kleine Dienste im Hintergrund wirken?  
Nur, wenn Sie das wollen. Während der Migration auf die Microservices funktioniert aus Sicht des Kunden im Idealfall alles wie gehabt. Er bemerkt davon nichts. Nur der Maschinenraum wird auf den neuesten Stand gebracht. Werden durch den Einsatz von Microservices regelmäßig und schneller neue Funktionen live geschaltet, merken das die Kunden natürlich. Und in der Regel werden sie darauf positiv reagieren. Es gibt mehr Bequemlichkeit, mehr Nutzen oder einfach eine Funktion, die Spaß macht.

MEHR ZUM THEMA:

Leere auf dem Bildschirm: Wenn Kundendaten in Silos landen, erreichen Anfragen den zuständigen Ansprechpartner erst gar nicht.
© Big Face/Adobe.Stock.com
Technologie

Wie Onlinehändler Datensilos vermeiden


Hier sind die Roboter: Auch bei Conrad in Berlin
© Conrad Electronics
Technologie

Neues Konzept: Conrad Electronic will besser sein als Saturn


Retail Innovation Lab: Alles beginnt auf der Couch
© Jan Northoff Photography
Innovationen

Die Technik, die Kunden Spaß macht