Tech-Talk statt Buzzword-Bingo. Microservices im Tech-telmechtel [Interview]

Tech-Talk Buzzword-Bingo Microservices Tech-telmechtel
Mirco Gatz, Techlead bei dotSource

Neuer Monat. Neue Artikelserie. Wir begrüßen euch im neuen Handelskraft-Format: Tech-telmechtel. Ab sofort gibt es hier jede Woche Tech-Insights satt. Und zwar First-Hand 😉 Mirco wären das zwar schon wieder zu viele Buzzwords, aber mitgemacht hat er bei der Premiere trotzdem. Denn Mirco hat’s nicht nur drauf, sondern kann das, was er so macht, auch unglaublich gut erklären. Auch für (Halb-)Laien wie mich.

Was Mirco – verheiratet, zwei Kinder, Häuslebauer, leidenschaftlicher Rennradfahrer und technischer Projektleiter bei dotSource zum Dauerthema Microservices zu sagen hat, wohin die Reise geht und warum er sich überhaupt damit beschäftigt, erfahrt ihr heute hier.

Tech-Talk mit Mirco, Techlead und Buzzword-Kritiker

Mirco Gatz ist seit März 2012 Teil der dotSource Familie. Er verantwortet hier, unter anderem, die Konzeptionierung und Umsetzung von Microservice-Projekten.

Mirco, was steckt dahinter? Commerce? Schnittstellen?

Ja, ich arbeite hauptsächlich im E-Commerce-Bereich. Also, wenn es darum geht, große digitale Plattformen aufzusetzen.

Und hinter Microservices?

Wo fang ich da an? Was sind verteilte Applikationen?

Letztlich geht es darum, für den Kunden Systeme zu planen und zu erstellen, bei denen einzelne Prozesse nicht von einer großen Applikation ausgeführt werden, sondern von vielen kleinen, die sich gegenseitig ergänzen und jeweils aber immer nur für eine bestimmte Sache verantwortlich sind.

Hast du hier ein konkretes Beispiel?

Bestes Beispiel ist eigentlich immer das Thema Produktdatenbereitstellung, sprich es gibt einen Service, der für die Produktdaten zuständig ist und einen anderen, der sich um das Pricing kümmert. Die beiden Services interagieren dann miteinander, um das Gesamtergebnis, zum Beispiel die Produktdetailseite bereitzustellen.

Tech: Wer, Wie, Wofür?

Ok, und die Technologien, mit denen du arbeitest, sind?

commercetools

Entwicklungsseitig mit JavaScript und Java

Wer braucht das und wofür?

Eigentlich geht es eher um: Wer entscheidet sich dafür? Wer entscheidet sich für eine Plattform, die aus verteilten Applikationen besteht.

Zum Beispiel sind das sehr technologiegetriebene Unternehmen, die auch eine eigene Entwicklungsabteilung haben, wo es darum geht, die Entwicklungskapazitäten besser skalieren zu können. Es sind Unternehmen, die eben auch die Erfahrung gemacht haben, dass eine große Applikation sehr viele strukturelle Probleme mit sich bringt und die Wartbarkeit sehr schlecht geworden ist. Über verteilte Architekturen wird dort dann versucht, diese Komplexität sichtbarer und damit einfacher wartbarer zu machen.

Du sprachst von Produktdaten und Pricing. Also eignen sich solche verteilten Architekturen insbesondere bei Unternehmen mit vielen Produkten?

Ja, aber nicht ausschließlich. Der Verlag C.H.Beck hat beispielsweise Millionen von Produkten, ergo auch sehr viele Daten. Du kannst einen Service sehr explizit und so auf die Problemstellung zuschneiden, dass er mit vielen Produktdaten umgehen kann, ohne dass du gleichzeitig ein Problem damit hast, beispielsweise riesige Warenkörbe zu haben.

Tech-Talk mit Mirco: Microservices sind keine eierlegende Wollmilchsau

Welche Mehrwerte haben Kunden und Endkunden davon?

Es geht hier vor allem darum, effizienter und performanter zu sein Richtung Endkunde. Aber Obacht: Ganz viel Performance-Gewinn oder -Verlust hängt auch im Frontend. Schnittstellen können noch so schnell sein, wenn das Frontend nicht gut funktioniert, oder nicht gut entwickelt ist, funktioniert derselbe Prozess nicht überall gleich gut.

Das heißt?

Du musst links und rechts gucken. Microservices bzw. verteilte Applikationen sind keine eierlegende Wollmilchsau. Es ist ganz viel Buzzword-Bingo, aber letztlich steckt da Technologie dahinter.

Du musst deine Anforderung kennen. Und zwar sehr gut kennen. Danach musst du entwickeln und auch testen. Und da kommt bei einer verteilten Architektur, das Thema ins Spiel, dass du ganzheitlich testen musst. Wenn die Produkt-API sehr schnell ist und die Preis-API sehr langsam, dann musst du ein Frontend bauen, das nicht auf die Preise wartet.

Also erst das Angebot, dann der Preis?

Das ist im B2B durchaus üblich. Das hat nicht mal was mit dem System zu tun. Das Prinzip, dass Daten nachgeladen werden, damit die eigentliche Seite erst einmal schnell ist, ist absoluter Standard.

Okay, ich fasse das mal für B2C und B2B zusammen

Das heißt also, dass wenn man im B2C (wie beispielsweise C.H. Beck) auf so eine Technologie setzt, geht es vor allem um Schnelligkeit. Weil Nutzer im B2C es einfach gewohnt sind, dass zu einem Produkt auch schnell der Preis da ist.

Im B2B entscheidet man sich dagegen für eine verteilte Architektur, um all die verstrickten Beziehungen und die Komplexität besser abzubilden?

Genau. Der Vorteil ist, diese komplexen Abhängigkeiten und Prozesse, die du hast, die an sich aus dem klassischem Vertrieb entlehnt sind ( if this than that, Rabattstaffeln, individuelle Preise pro Kunde und Bestellhistorie etc. ) auch im B2B-E-Commerce abbilden zu können.

Diese Prozesse in einem großen System abzubilden, hat den Nachteil, dass du diese Abhängigkeiten sehr schlecht siehst. Bei einer verteilten Architektur hast du einzelne Komponenten mit jeweils einer Aufgabe. Da findet Netzwerkkommunikation statt. Die Abhängigkeiten sind offener, nachvollziehbarer. Du könntest sie sogar grafisch darstellen.

An der Komplexität ändert das nichts, es ist immer noch ein komplexer Prozess, aber es schiebt die Komplexität auf ein anderes Level, wo ich sie besser erkennen und pflegen kann.

Tech-Trends der Zukunft

Mirco, wohin geht die Reise noch?

Im Umfeld von verteilten Systemen? Ganz klar: Service-Meshes.

Da ist ganz viel Magie zwischen diesen vielen, kleinen Applikationen. Die musst du alle betreiben, die brauchen jeweils Ressourcen, die machen Netzwerkkommunikation, du hast Logs, wenn du neue Versionen entwickelst, willst du erstmal testen, du hast viele repetitive Aufgaben, die die Applikation aufblähen usw. usw.

Du bettest deine Applikationen in diese »Netze« ein. Alles, was drumherum ist, macht das Mesh. Es nimmt dir all das Repetitive ab. So kannst du einfach noch effizienter nur noch dem Businessprozess nachgehen und deine Schnittstellen entwickeln.

Ok, also ist es quasi eine Verteilung für die Verteilung?

Es geht eben darum, die Ausführung von Code immer effizienter zu machen, immer weniger abhängig davon, wie er ausgeführt wurde oder wo. Alles, was zwischen den Applikationen stattfinden muss, nimmt dir das Service-Mesh ab.

Tech-Fan und Entwickler durch und durch

Wieso machst du das? Ist das deine Passion? Wie bist du dazu gekommen?

Ich mach das aus persönlichem Interesse daran, verstehen zu wollen, wie Dinge funktionieren. Ich beschäftige mich gerne mit aktuellen Technologien und habe eine Ablehnung gegen große Standardsysteme, wo du nur damit beschäftigt bist, zu verstehen, was andere von dir wollten und du nie selbst entwickelst, wie du es willst.

Ich hab‘s selbst in der Hand und kann selbst entscheiden.

Mirco entwickelt übrigens auch privat lieber selbst. Ob Terrasse, Gartenspielhaus für die Jungs, Einfahrt pflastern oder Garage bauen – er entscheidet, wie, wann und wo.

Tech-Talk to be continued

Im nächsten Teil lernt ihr Markus kennen. Unser Experte für Customer Experience, Multicloud-Projekte, Migration und SAP. Bis dahin, schaut euch doch mal an, was Mirco für den C.H. Beck Verlag so entwickelt hat.

oder noch besser: Entwickelt am 15.10.2020 ab 14 Uhr mit Mirco zusammen.

Tech-Live: Jetzt kostenfrei zum Webinar anmelden!

Live Coding WebinarIhr habt bereits ein laufendes Projekt und würdet gern Services verbinden? Dann seid ihr Webinar »Microservices: Live-Coding statt Buzzword-Bingo – So implementiert ihr eine Schnittstelle für Produktempfehlungen« genau richtig. Dort wird Mirco exemplarisch einen E-Commerce-Case beleuchten und zeigen, wie eine Produktempfehlung durch bereits vorhandene APIs mit Produkt- und Wetterdaten funktionieren kann. 

Meldet euch jetzt kostenfrei zum Webinar »Microservices: Live-Coding statt Buzzword-Bingo – So implementiert ihr eine Schnittstelle für Produktempfehlungen« an!

(11 Bewertung(en), Schnitt: 5,00 von 5)
post ratings loaderLoading...

Schreibe einen Kommentar