© Excellent backgrounds/Shutterstock.com
Hochdynamische Anwendungen mit Containern und Service Meshes

Java Microservices: Ab in die Cloud


Microservices-basierte Anwendungen in Java zu realisieren, ist dank Spring Boot und Eclipse MicroProfile denkbar einfach. Dies gilt sowohl für die Implementierung der Services selbst als auch für die grundlegende Unterstützung notwendiger Querschnittsdienste wie Logging, Tracing und Security. Was aber, wenn zusätzliche Flexibilität bezüglich Skalierung und Plattform gefragt ist? Bevor es mit der Anwendung in die Cloud geht, müssen zunächst noch ein paar Hausaufgaben erledigt werden.

In den Artikeln „Vom Java-EE-Monolithen zu Microservices“ (S. 26) und „Java Microservices im Praxischeck“ (S. 34) haben wir gezeigt, mit welchen Herausforderungen ein Enterprise-Java-Entwickler beim Umstieg von monolithischen Architekturen hin zu Microservices rechnen muss und wie er diesen mit Hilfe von Spring Boot oder MicroProfile technologisch begegnen kann. In diesem Artikel wollen wir uns der Frage widmen, welche zusätzlichen infrastrukturellen Hilfsmittel benötigt werden, um eine Microservices-basierte Anwendung – beispielsweise in der Cloud – sinnvoll betreiben zu können.

Flexibilität und Agilität

Einen einzelnen Microservice zu implementieren und alleinstehend zum Laufen zu bekommen, ist heutzutage dank guter Framework-Unterstützung kein wirkliches Problem mehr. Die eigentliche Herausforderung besteht darin, eine fachlich komplexe Anwendung als Netz von Dutzenden von Microservices inklusive der dafür notwendigen Infrastruktur dynamisch aufzubauen und zu betreiben. Steigt die Last, sollen die Services automatisch skalieren. Fallen Service aus oder werden gerade unter geänderter Adresse neu gestartet, sollen potenzielle Consumer davon nichts mitbekommen, sondern automatisch an die neue Adresse geroutet oder mit alternativen Services verbunden werden.

Aber nicht nur die Technologie bringt neue Herausforderungen mit sich, sondern auch der damit einhergehende agile Entwicklungsprozess und die durch ihn ermöglichte Geschwindigkeit von der Anforderung bis hin zur Bereitstellung und Liveschaltung eines neuen fachlichen Features. Langwierig beim Operation-Team zu beantragende Plattformkomponenten sind ebenso tabu wie ressourcen- und zeitfressende, anwendungsweite Test- oder Integration-Stages.

Um dieser Anforderungen Herr zu werden, bedarf es einer leichtgewichtigen Virtualisierung der Anwendungskomponenten, die es den Entwicklern erlaubt, die von ihnen implementierte Software in kurzen Iterationen produktionsnah zu testen und bereitzustellen. Zusätzlich wird ein Mechanismus...

Neugierig geworden?

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