© Excellent backgrounds/Shutterstock.com
Microservices mit Java EE

Realistisch und pragmatisch


Microservices-Architekturen sind ein spannendes Konzept. Aber auch hier gilt es, pragmatisch zu bleiben. Denn nicht alles, was die großen Player machen, braucht man. Und für die Luftschlösser am Beginn eines Projekts sollte man keinen Platz einplanen. Ein praxisgerechter Ansatz sind Microservices mit Java EE in Kombination mit Docker.

Video: Microservices ohne Esoterik

Die überwältigende Mehrheit der Java-EE-Projekte wird nach höchst unwahrscheinlichen Annahmen realisiert. Ein Tausch der Datenbank während der Projektlaufzeit, magische Änderungen der Datenbank ohne jegliche Auswirkung auf das UI oder auch eine hohe Änderungshäufigkeit der Algorithmen werden als realistische Szenarien angenommen und bestimmen die Wahl der Patterns und das Design der Anwendung. Auch der hohe Grad der Wiederverwendbarkeit von internen Klassen wird ohne eine Betrachtung der Historie – oder einen Bezug zur Realität – eingeschätzt und resultiert in einer Explosion von Maven-Modulen und unnötigen Abstraktionen.

Alle diese Maßnahmen haben keinen spürbaren Mehrwert für den Benutzer, führen jedoch zu einem bedenklichen Verhältnis von Infrastruktur zu Fachcode. Die Verschleierung der Algorithmen, relevanten Domainklassen und somit auch eine schlechte Änderbarkeit und Wartbarkeit der Anwendung sind die Folge des Cargo Cult Programmings [1]. Die Fachabteilungen, Benutzer und auch Sponsoren sind unglücklich, und es wird dringend nach neuen Lösungen gesucht. Microservices-Architekturen werden als die Lösung des Bloat-Problems gesehen.

Neben den Brown-Field-Projekten [2] sind auch Green-Field-Projekte [3] an Microservices interessiert. Dabei werden Best Practices der großen Vorbilder wie Netflix, Amazon oder Google imitiert. Best Practices von globalen Unternehmen adaptieren auch lokal agierende Mittelstandsfirmen. Patterns und Frameworks für zehntausende elastische Netflix-Server [4] in den Wolken von Amazon werden auch gerne auf das eigene Rechenzentrum angewandt. Dabei hat selbst Netflix nur den sehr stark wachsenden Streaminganteil auf die Microservices-Architektur migriert. Die 5,3 Millionen von DVD-Kunden [5] werden nach wie vor vom eigenen Rechenzentrum und einer monolithischen Architektur bedient. Eine blinde Imitation der großen Vorbilder ist lediglich eine weitere Ausprägung des Cargo Cult Programmings.

Eine kleinere Gruppe von pragmatischen Projekten sucht Lösungen für konkrete, gut abgrenzbare Herausforderungen wie unterschiedliche Releasezyklen innerhalb einer Anwendung...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang