Opensource framework maakt Java-applicaties cloud-native

Java blijft één van de meest gebruikte programmeertalen, maar de applicaties kunnen niet altijd eenvoudig worden aangepast aan een cloud-native omgeving. Het Quarkus-framework moet daar verandering in brengen.

Quarkus is een opensourceproject met steun van Red Hat, met als doel om de Java-stack beter compatibel te maken met de cloud en Kubernetes-gebaseerde implementaties. Het project ging in maart van dit jaar van start en nadert de stabiele release van Quarkus 1.0 tegen het einde van deze maand.

“Met Quarkus kunnen Java-ontwikkelaars blijven werken in Java, de taal die ze beheersen, zelfs wanneer ze met nieuwe cloud-native technologieën werken”, vertelt John Clingan, Senior Principal Product Manager of Middleware bij Red Hat, aan IT Pro Today.

Cloud-native

Het probleem met Java-applicaties, aldus Clingan, is dat ze veel geheugen gebruiken en relatief traag opstarten. Dat maakt het een minder geschikte oplossing voor microservices en serverless-omgevingen. Bedrijven kijken daarom in de richting van alternatieve runtimes, zoals Node.js of Go, maar dankzij Quarkus zou dat niet meer nodig zijn.

“Met geheugengebruik gemeten in tientallen megabytes en opstartijd gemeten in tientallen milliseconden, stelt Quarkus organisaties in staat om door te gaan met hun aanzienlijke Java-investeringen voor zowel microservices als serverless”, beweert Clingan.

Door zoveel mogelijk van het dynamische gedrag naar ahead-of-time (AOT)-compilatie te verplaatsen, is de applicatiestack van Quarkus geoptimaliseerd voor gebruik met containers, Kubernetes en serverless. Eén van de geïntegreerde componenten van het framework is het Vert.x-project, een populaire toolkit voor het bouwen van reactieve applicaties, dat wordt gebruikt om verschillende reactieve functies te implementeren.

Implementatie

Een Java-applicatie kan op verschillende manieren in een cloud-native omgeving worden geïmplementeerd met behulp van Quarkus. Dat kan eerst en vooral als Java Virtual Machine, maar de apps kunnen ook als native binary worden gecompileerd. Beide zijn efficiënter dan de traditionele Java-stack. Welke methode de voorkeur geniet, hangt af van de vereisten van de applicatie. Native is bijvoorbeeld interessanter in serverless-omgevingen.

Quarkus wordt op dit moment nog niet commercieel ondersteund, maar bestaat als opensource communityproject onder versie 2.0 van de Apache License. Het project telt momenteel 177 bijdragers, zowel van binnen als buiten Red Hat.