Serverless Java door AOT Compilation met Graal VM, Quarkus Microservices Framework
17 juli 2019 | Nieuws | Door: AMIS Conclusion
Deel
Snel en klein en daardoor wendbaar en schaalbaar. Termen die je misschien niet met Java associeert – maar na deze sessie zeker wel. Graal VM gebruikt ahead-of-time compilation om van Java applicaties lean & mean executables ta maken met ultrakorte opstarttijd en een kleine footprint. Met het Quarkus framework bouw je microservices op deze Graal VM – ideaal containeriseerbaar en geschikt voor deployment op Kubernetes en FaaS (Functions as a Service) met korte opstarttijden en beperkte omvang dankzij ahead-of-time compilation. Voor deze microservices kan je de Quarkus implementaties van populaire Java (EE) APIs gebruiken.
Deze SIG is met name interessant voor ontwikkelaars/architecten die geïnteresseerd zijn in het produceren van microservices welke zijn afgestemd op een serverless / cloud omgeving. Aan het einde van de avond begrijp je de native compilatie feature van GraalVM en hoe je hier met Quarkus microservices gebruik van kan maken.
Meld je aan!
Graal VM & Ahead of Time Compilation
In een cloud omgeving zijn de vereisten die aan software gesteld worden anders dan wanneer je op eigen hardware draait, wat meestal betekent dat je betaalt voor resourcegebruik zoals geheugen, schijfruimte en CPU. Hiervoor zijn serverless functies uitermate geschikt, aangezien ze klein, lichtgewicht en schaalbaar zijn. Met name voor serverless functies is een korte opstarttijd van belang. Java applicaties scoren echter over het algemeen niet goed op deze punten in vergeleking met bijvoorbeeld Python of Go(lang). Met de hulp van GraalVM is het nu mogelijk om bepaalde Java code ahead-of-time te compileren in plaats van just-in-time, waardoor Java weer kan concurreren in een serverless omgeving.
Quarkus – Java microservice framework
Een Java microservice framework dat specifiek is geschreven om van native compilatie te profiteren is het door Red Hat (IBM) gesponsorde Quarkus - Supersonic Subatomic Java! Quarkus omvat verscheidene extensies met libraries die bekende APIs implementeren zoals JAX-RS, JAX-B, JDBC, Vert.x, Camel, Netty en Hibernate. Voor het draaien op Kubernetes en in de cloud als serverless functie of als AWS Lambda biedt Quarkus allerlei mogelijkheden. Met behulp van deze extensies wordt het produceren van Microservice code eenvoudig om zo optimaal van cloud resources gebruik te kunnen maken. Ontwikkelaarsvreugde staat hoog in het vaandel bij Quarkus en dat is te merken aan diverse gemakken, zoals de mogelijkheid snel te itereren wat snel inzicht biedt in je code wijzigingen of alle configuratie in één enkel bestand. Dit zal je ook zelf ervaren tijdens de workshop.
Tijdens deze avond gaan we kijken naar en vooral aan de slag met Graal VM. Je gaat leren:
- wat AOT compilatie met GraalVM precies inhoudt
- wat de voorwaarden zijn om AOT compilatie toe te kunnen passen
- hoe je AOT compilatie kan toepassen om je eigen Java applicaties klein en snel startend te maken - geschikt voor Serverless deployment
- wat de voor en nadelen zijn van gebruik van AOT compilatie
Agenda
Dit heb je nodig
Voor de workshop heb je een laptop nodig waarop je Maven, GraalVM en Red Hat CodeReady Studio kan installeren. Het gebruik van een andere IDE is natuurlijk toegestaan op eigen risico (de workshop is daar niet op afgestemd). De presentaties en workshops zullen gegeven worden door Rosanna Denis en Maarten Smeets, integratieconsultants bij AMIS.
Stuur een e-mail naar bu.om@amis.nl om je aan te melden!
We hopen jullie te zien op donderdag 15 augustus aan de Edisonbaan 15 te Nieuwegein in de Marconi ruimte voor een leuke en leerzame avond met GraalVM en Quarkus!
Heb je vragen over de Meetup?
Stel ze aan Rosanna!