Micronaut für Cloud-native JVM-Microservices

Micronaut ist ein neues Framework, das sich für das Erstellen Cloud-nativer JVM-Microservices eignet.

Werkzeuge  –  11 Kommentare
Micronaut für Cloud-native JVM-Microservices

(Bild: Foto von Jonas Verstuyft / Unsplash)

Micronaut ist ein junges Framework, das insbesondere für die Entwicklung modularer, einfach testbarer Twelve-Factor Microservice-Anwendungen und Self-Contained Systems auf der Java Virtual Machine (JVM) ausgelegt ist und die Sprachen Java, Kotlin und Groovy unterstützt. Es kommt mit vielen nützlichen Funktionen daher und ermöglicht es, schnelle Ergebnisse zu erzielen.

Der Artikel beinhaltet neben einer Einführung und Einordnung von Micronaut, eine Beschreibung der Cloud-native-Features des Frameworks. Ein weiterer Artikel wird sich den Features widmen, die allgemein für Webanwendungen hilfreich sind.

Das Architekturmuster der Microservices ist seit Jahren vor allem deshalb beliebt, weil es sich dazu eignet, die Geschwindigkeit zum Bereitstellen von Features zu optimieren. Durch die Beschränkung bei einem Microservice auf kleine autonome Komponenten und einen abgegrenzten fachlichen Bereich (häufig von der Idee des Bounded Context aus dem Domain-driven Design inspiriert), ist es meist möglich, Applikationen schneller zu entwickeln und durch dazu passende Maßnahmen wie Continuous Delivery beziehungsweise Deployment häufiger auszuliefern. Damit steht das Konzept im Gegensatz zum vermeintlichen Feindbild des allumfassenden Monolithen. Allerdings haben Autonomie und Geschwindigkeit ihren Preis. Eine Microservices-Architektur bringt eine Reihe Herausforderungen mit, die sich aus der Auslagerung von Funktionen aus einem Prozess in viele Prozesse ergeben, die miteinander kommunizieren müssen.

Der Herausforderung nehmen sich glücklicherweise viele Menschen an, weshalb die Zahl an Frameworks und Bibliotheken, die die Entwicklung von Anwendungen mit dem Architekturmuster vereinfachen sollen, zunehmend steigt. Nach über einem Jahr in der Entwicklung, ist Micronaut eines der Frameworks, die sich im JVM-Ökosystem einen Platz verschafft haben. Es verfolgt einen Ansatz, der sich von anderen Frameworks unterscheidet. Micronaut unterstützt alle Funktionen, die Java-Entwickler kennen und lieben: zum Beispiel Dependency Injection (DI) und aspektorierntierte Programmierung (AOP). Entwickler können sie einsetzen, ohne Kompromisse bei Startdauer, Performance und Speicherverbrauch einzugehen.

Im Folgenden beleuchtet der Artikel die Features von Micronaut, die speziell für die produktive Softwareentwicklung mit Microservices nützlich sind.

Object Computing, Inc. (OCI) und damit das Team hinter dem Grails-Framework haben Micronaut initiiert. Grails feierte Anfang des Jahres das zehnjährige Jubiläum der Version 1.0 und stammt damit aus einer Zeit, in der monolithische Anwendungen in der Softwareentwicklung überwogen.

Micronaut ist mit einem Blick auf Microservices und die Cloud konzipiert. Es ist ein leistungsstarkes und schlankes Framework. Offiziell hat Graeme Rocher auf der Greach Conference 2018 Micronaut angekündigt und am 23. Mai 2018 unter der Apache License 2 als Open-Source-Projekt veröffentlicht. Das erste Meilenstein-Release zur Version 1.0 erschien am 30. Mai 2018, und der erste Release Candidate am 29. September 2018. Das finale Release (1.0 GA) folgte am 23. Oktober 2018.

Der offizielle Leitfaden erklärt, dass die langjährige Erfahrung der Grails-Entwickler ein Fundament für Micronaut bildet. Grails baut seit Version 3 auf Spring Boot auf. Das Team hinter Micronaut unternahm keine Bemühung, die Ähnlichkeit zu der Anwendungsentwicklung mit Spring Boot zu verstecken. Micronaut profitiert stark von den positiven und negativen Erfahrungen, die die Entwickler im Laufe der Jahre bei der Entwicklung von Monolithen und Microservices unter Verwendung von Spring, Spring Boot und Grails machten. Es ähnelt außerdem dem Eclipse MicroProfile.