Microservices: Adam Bien im Interview

12.04.2017

Im Rahmen einer Schulung zu Mircoservices war der Java Champion Adam Bien bei uns zu Gast. Wir haben die Gelegenheit genutzt und ihm ein paar Fragen zu Microservices gestellt:

1. Microservices sind gerade ein Hypethema. Mittlerweile arbeiten Unternehmen auch in der Praxis mit der Methode. Wo sehen Sie die größten Vorteile für Unternehmen wenn sie auf Mircoservices setzen?

Adam Bien: Die größten Vorteile erhält man mit pragmatischen Monolithen. Ich meine damit schlanke Anwendungen, sogenannte ‚Thin Wars‘ welche von kleinen Teams und 1-4 Entwicklern realisiert werden. Da Java EE 7 mit Java 8 erstaunlich produktiv ist, kommt man mit dieser Strategie bereits sehr weit. Bei Bedarf kann die Anwendung um weitere ‚Thin Wars‘ erweitert werden. Und schon ist man bei Microservices.

2. In der Theorie klingt das einleuchtend. Die Beispiele aus der Praxis kommen meistens von den innovativen Playern wie Amazon und Co bzw. aus dem Cloudumfeld. Wie sieht es mit Mircoservices im Enterprise Betrieb aus? Was muss passieren, dass auch hier der Einsatz funktioniert?

Adam Bien: Amazon und Co. sind vorwiegend durch ‚Time to Market‘ motiviert. Kosten spielen bei den meisten Cloudplayern eher eine untergeordnete Rolle. Die meisten Cloudplayer setzen auch mehr auf die Expertise von internen Entwicklern mit erheblichem fachlichen Know-How.
Im Enterprise Umfeld erhofft man sich mit Microservices zunächst eine Kostensenkung und höhere Wartbarkeit. Viele große Projekte werden durch toten Code, falsche Annahmen bezüglich Erweiterbarkeit und Austauschbarkeit und unnötigen Indirektionen (Anm. dS: Zwischencode) bestimmt.
Cargo Cult getriebene Monolithen lassen sich nur mit erheblichen fachlichen Anpassungen in die Microservice-Welt überführen. Kleine, fokussierte Teams mit fachlichem Wissen, sollten sich zunächst auf die Entfernung der überflüssigen Libraries, Frameworks und Übersetzungsschichten konzentrieren. Erst nach diesem Schritt sollte man über Microservices nachdenken.

3. Der Kerngedanke von Microservices ist, dass man enger zusammenarbeiten muss. Die Praxis sieht aber oft anders aus z.B. wenn es um den Zugriff auf Produktivumgebungen in Unternehmen geht. Wie können DevOps hier praxistauglich gemacht werden? Wie müssen sich die Unternehmen auch kulturell verändern?

Adam Bien: Beim Einsatz von Containertechnologien, wie z.B. Docker, ist der Entwickler für Auslieferung des gesamten, ausführbaren Images verantwortlich. Der Betrieb muss sich nicht mehr mit den undankbaren Aufgaben wie das Deployment eines WARs (Anm. dS: Web Application Archive) beschäftigen und Vorgänge mit z.B. „Infrastructure as Code“ automatisieren. Aus Ops werden Entwickler. Somit wird auch das kulturelle Problem gelöst.

4. Wie lösen Sie das Thema Mircoservices im Webumfeld? Der Trick ist ja, eine homogene und durchgängige Anwendung zu bauen, die modularisiert aufgebaut ist. Wie schafft man das? Welche Konzepte wenden Sie hier im Frontend an?

Adam Bien: Auch im Webumfeld wird Modularisierung nur eingesetzt, falls es für den Kunden messbare Vorteile bringt. Beispielsweise können häufigen Änderungen unterworfene Codeanteile in eigenständige Services gekapselt werden. Die Trennung der UI von der REST-API löst genau dieses Problem. So kann die UI ohne ein neues Deployment des Backends geändert werden.
Moderne Webanwendungen sind einfach strukturiert. Da sollte man mit der Anzahl der Microservices nicht übertreiben.

5. Das gleiche gilt auch für das Thema Security. Wie kann man beim Aufbau von modularisierten Services ein durchgängiges Security Konzept hinbekommen? Was sind Ihre Empfehlungen?

Adam Bien: Einfach den Standards folgen und jwt.io, oauth.net verwenden.

6. Wagen wir einen Blick in die Zukunft: Wie werden sich Microservices und DevOps weiterentwickeln? Wo stehen wir in fünf bis zehn Jahren?

Adam Bien: In weniger als fünf Jahren erwarte ich einen klaren Trend zu ‚Macroservices‘. Viele Projekte versuchen gerade Microservices rein mit dem Einsatz von technischen Mitteln und kaum ‚fachlichem Reengineering‘ zu realisieren. Es werden viele Projekte scheitern, was sich negativ auf die Popularität von Microservices auswirken wird.

Die Fragen stellte: Hanna Frei

(adambien.blog)

Mehr zu erfolgreichen Softwareprojekten erfahren Sie hier
Zurück zur Übersicht

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*Pflichtfelder

*