Man mag Microservices als temporären Hype abtun, jedoch sind sich viele Experten einig, dass Microservice-basierten Systemen die Zukunft im Bereich großer Enterprise-Applikationen gehört. Microservice-Architekturen punkten unter anderem mit hoher Skalierbarkeit sowie Robustheit und sind wie geschaffen für agile Entwicklungsprozesse mit kurzen Zyklen, die eine weitgehend unabhängige Entwicklung und frühere Marktreife einzelner Software-Funktionen ermöglichen.
Leider werden Microservice-Architekturen jedoch schnell sehr komplex. Es ist erforderlich, dass man sich intensiv mit der Abbildung der jeweiligen Fachlichkeiten auf die einzelnen Microservices auseinandersetzt. Hierbei kann beispielsweise der Ansatz des Domain-driven Design helfen.
Vor allem auch die Infrastruktur sorgt für Kopfzerbrechen und wirft viele Fragen auf:
- Welche Komponenten werden benötigt, welche Frameworks sollen wo eingesetzt werden?
- Wie kann das Gesamtsystem flexibel konfiguriert und Service Discovery realisiert werden?
- Wie soll die Kommunikation zwischen den Microservices und nach außen umgesetzt werden?
- Wie könnte ein Build- und Deployment-Prozess aussehen, der Services in unabhänigen Containern instanziiert?
- Welche Möglichkeiten zur dynamischen Skalierung gibt es?
- Wie können Serverless Architectures verwendet bzw. in ein bestehendes Service-Ökosystem integriert werden?
oose ist diesen Fragen nachgegangen und bietet mit dem neuen Seminar Microservices I – Infrastruktur mit Spring Cloud einen praxisnahen Einstieg in die Welt der Microservices basierend auf dem sehr erfolgreichen Spring Cloud-Framework. Dabei spielt das „Hands on“ eine zentrale Rolle: Schrittweise bauen wir eine Microservice-Architektur mit den dazugehörigen Infrastrukturkomponenten auf und ermöglichen damit unseren Teilnehmern, die Eigenheiten von Microservices am Beispiel zu verstehen. Mit Hilfe von Docker Swarm realisieren wir einen skalierbaren Mini-Cluster auf mehreren Raspberry Pis. Ebenfalls demonstrieren wir die Integration von Serverless Lambdas und Amazons Sprachassistent Alexa.