SlideShare a Scribd company logo
Micronaut + GraalVM
A match made in Cloud Native
Peru JUG Micronaut & GraalVM
Micronaut
• Desarrollado por Object Computing (OCI)
• Graeme Rocher (@GraemeRocher)
• Diseñado para desarrollar Microservicios
Features
• Compile time dependency injection.
• First class support for reactive programming
• Cloud Native
• Service Discovery (Consul, Kubernetes, Eureka)
• Distributed tracing (Zipkin, Jaeger)
• Serverless functions
Dependency Injection
• Micronaut builds its dependency injection data at compile
time.
• Fully supports JSR-330 annotations as well.
Persistence
• JDBC support
• JPA with Hibernate support
• MongoDB
• Neo4j
• Redis
• Cassandra
My thoughts
• Very good alternative to Spring Boot
• Simple, clean, small, lightweight.
• Programming model very familiar (Spring, CDI)
• Cloud Native ready!
• Ideal for microservices
• But… the JVM…
Peru JUG Micronaut & GraalVM
GraalVM
• OpenSource project at Oracle Labs
• Based in OpenJDK 8u
• Polyglot
• Native
• Embeddable
• GraalVM offers a comprehensive ecosystem supporting a
large set of languages (Java and other JVM-based
languages, JavaScript, Ruby, Python, R, and C/C++ and
other LLVM-based languages) and running them in different
deployment scenarios (OpenJDK, Node.js, MySQL, Oracle
Database, or standalone).
Java applications?
• GraalVM runs Java applications faster, on the OpenJDK.
• Ahead-of-time compilation for native images.
• Insane startup times, reduce memory footprint…
• Run scripting languages faster.
Performance as first class citizen
• GraalVM compiler can remove costly object allocations in
many scenarios
• http://www.graalvm.org/docs/examples/java-performance-examples/
• Better inlining and more aggressive speculative
optimizations can lead to additional benefits for complex
long-running applications
• https://www.graalvm.org/docs/examples/java-simple-stream-benchmark/
Native Image
• Running applications in the JVM implies the status and
footprint costs.
• GraalVM allow us to generate a native image without those
costs.
• The image generation process employs static analysis to
find any code reachable from the main Java method and
then performs full ahead-of-time (AOT) compilation
• The resulting native binary contains the whole program in
machine code form for its immediate execution.
GraalVM in the real world
• Twitter is running GraalVM for almost 2 years now.
• Twitter is also contributing.
• https://www.youtube.com/watch?v=pR5NDkIZBOA
Better together…
• Micronaut supports GraalVM Native Image generation.
Demo time…

More Related Content

PDF
Introduction to Micronaut - JBCNConf 2019
PDF
Introduction to Micronaut at Oracle CodeOne 2018
PDF
What we do with Go
PDF
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...
PDF
Triangle Devops Meetup 10/2015
PDF
The evolving container landscape
PDF
Who needs containers in a serverless world
PPTX
Cairo Kubernetes Meetup - October event Talk #1
Introduction to Micronaut - JBCNConf 2019
Introduction to Micronaut at Oracle CodeOne 2018
What we do with Go
eigr.io – a Serverless Runtime on the BEAM (ACM SIGPLAN, ICFP 2021 Erlang Wor...
Triangle Devops Meetup 10/2015
The evolving container landscape
Who needs containers in a serverless world
Cairo Kubernetes Meetup - October event Talk #1

What's hot (20)

PDF
The Kubernetes Effect
PDF
Micronaut Deep Dive - Devoxx Belgium 2019
PDF
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
PDF
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
PDF
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
PDF
Running AWS Locally
PDF
Netflix Open Source Meetup Season 3 Episode 2
PDF
Cloud-Native Drupal: a survival guide
PDF
12 Factor App: Best Practices for JVM Deployment
PDF
Cncf storage-final-filip
PDF
Deploy your machine learning models to production with Kubernetes
PDF
Javantura v4 - Android App Development in 2017 - Matej Vidaković
PDF
Jhipster
PDF
How to set up Kubernetes for all your machine learning workflows
PPTX
Going serverless with aws
PDF
Modern ClojureScript
PDF
Embracing Serverless with Google
PPTX
ng4 webpack and yarn in JHipster
PDF
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
PPTX
Next generation pipelines
The Kubernetes Effect
Micronaut Deep Dive - Devoxx Belgium 2019
Javantura v4 - The power of cloud in professional services company - Ivan Krn...
Javantura v4 - Java and lambdas and streams - are they better than for loops ...
Javantura v4 - Java or Scala – Web development with Playframework 2.5.x - Kre...
Running AWS Locally
Netflix Open Source Meetup Season 3 Episode 2
Cloud-Native Drupal: a survival guide
12 Factor App: Best Practices for JVM Deployment
Cncf storage-final-filip
Deploy your machine learning models to production with Kubernetes
Javantura v4 - Android App Development in 2017 - Matej Vidaković
Jhipster
How to set up Kubernetes for all your machine learning workflows
Going serverless with aws
Modern ClojureScript
Embracing Serverless with Google
ng4 webpack and yarn in JHipster
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
Next generation pipelines
Ad

Similar to Peru JUG Micronaut & GraalVM (20)

PDF
PPTX
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
PDF
Polygot Java EE on the GraalVM
PPTX
Simple tweaks to get the most out of your JVM
PPTX
Simple tweaks to get the most out of your jvm
PPTX
All you need to know about Spring Boot and GraalVM
PPTX
Java script nirvana in netbeans [con5679]
PPTX
Going AOT: Everything you need to know about GraalVM for Java applications
PDF
Everything you need to know about GraalVM Native Image
PDF
GraalVM - MadridJUG 2019-10-22
PDF
GraalVM - OpenSlava 2019-10-18
PDF
Micronaut Deep Dive - Codeone 2019
PPTX
Discover Quarkus and GraalVM
PDF
Tips For Maintaining OSS Projects
PDF
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
PPTX
Object Oriented concept-JAVA-Module-1-PPT.pptx
PDF
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
PPTX
GOING AOT WITH GRAALVM FOR JAVA - JAVAZONE
PDF
Drools, jBPM OptaPlanner presentation
PPTX
Bring the Action: Using GraalVM in Production
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Polygot Java EE on the GraalVM
Simple tweaks to get the most out of your JVM
Simple tweaks to get the most out of your jvm
All you need to know about Spring Boot and GraalVM
Java script nirvana in netbeans [con5679]
Going AOT: Everything you need to know about GraalVM for Java applications
Everything you need to know about GraalVM Native Image
GraalVM - MadridJUG 2019-10-22
GraalVM - OpenSlava 2019-10-18
Micronaut Deep Dive - Codeone 2019
Discover Quarkus and GraalVM
Tips For Maintaining OSS Projects
Java 8: Nashorn & avatar.js di Enrico Risa al JUG Roma
Object Oriented concept-JAVA-Module-1-PPT.pptx
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM FOR JAVA - JAVAZONE
Drools, jBPM OptaPlanner presentation
Bring the Action: Using GraalVM in Production
Ad

More from Domingo Suarez Torres (20)

PDF
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
PDF
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
PDF
Java Dev Day 2019 No kuberneteen por convivir
PDF
Contenedores 101 Digital Ocean CDMX
PPTX
Retos en la arquitectura de Microservicios
PDF
Java Cloud Native Hack Nights GDL
PDF
meetup digital ocean kubernetes
PDF
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
PDF
Cloud Native Development in the JVM
PDF
Cloud Native Mexico - Introducción a Kubernetes
PDF
Meetup DigitalOcean Cloud Native architecture
PDF
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
PDF
Cloud Native Mexico Meetup enero 2018 Observability
PDF
Cloud Native Mexico Presentacion
PDF
gRPC: Beyond REST
PDF
Devops Landscape
PDF
Orquestación de contenedores con Kubernetes SGNext
PDF
JVM Reactive Programming
PDF
SGNext Elasticsearch
PDF
Webinar Arquitectura de Microservicios
Projecto Loom - Structured Concurrency - JavaMexico - Julio 2024
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Java Dev Day 2019 No kuberneteen por convivir
Contenedores 101 Digital Ocean CDMX
Retos en la arquitectura de Microservicios
Java Cloud Native Hack Nights GDL
meetup digital ocean kubernetes
DevFest Lima Corriendo cargas e trabajo seguras en GKE con Istio
Cloud Native Development in the JVM
Cloud Native Mexico - Introducción a Kubernetes
Meetup DigitalOcean Cloud Native architecture
Cloud Native Mexico Meetup de Marzo 2018 Service Mesh con Istio y Envoy
Cloud Native Mexico Meetup enero 2018 Observability
Cloud Native Mexico Presentacion
gRPC: Beyond REST
Devops Landscape
Orquestación de contenedores con Kubernetes SGNext
JVM Reactive Programming
SGNext Elasticsearch
Webinar Arquitectura de Microservicios

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Electronic commerce courselecture one. Pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Approach and Philosophy of On baking technology
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Empathic Computing: Creating Shared Understanding
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Mobile App Security Testing_ A Comprehensive Guide.pdf
Electronic commerce courselecture one. Pdf
MYSQL Presentation for SQL database connectivity
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
Approach and Philosophy of On baking technology
Dropbox Q2 2025 Financial Results & Investor Presentation
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Understanding_Digital_Forensics_Presentation.pptx
Unlocking AI with Model Context Protocol (MCP)
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Peru JUG Micronaut & GraalVM

  • 1. Micronaut + GraalVM A match made in Cloud Native
  • 3. Micronaut • Desarrollado por Object Computing (OCI) • Graeme Rocher (@GraemeRocher) • Diseñado para desarrollar Microservicios
  • 4. Features • Compile time dependency injection. • First class support for reactive programming • Cloud Native • Service Discovery (Consul, Kubernetes, Eureka) • Distributed tracing (Zipkin, Jaeger) • Serverless functions
  • 5. Dependency Injection • Micronaut builds its dependency injection data at compile time. • Fully supports JSR-330 annotations as well.
  • 6. Persistence • JDBC support • JPA with Hibernate support • MongoDB • Neo4j • Redis • Cassandra
  • 7. My thoughts • Very good alternative to Spring Boot • Simple, clean, small, lightweight. • Programming model very familiar (Spring, CDI) • Cloud Native ready! • Ideal for microservices • But… the JVM…
  • 9. GraalVM • OpenSource project at Oracle Labs • Based in OpenJDK 8u • Polyglot • Native • Embeddable
  • 10. • GraalVM offers a comprehensive ecosystem supporting a large set of languages (Java and other JVM-based languages, JavaScript, Ruby, Python, R, and C/C++ and other LLVM-based languages) and running them in different deployment scenarios (OpenJDK, Node.js, MySQL, Oracle Database, or standalone).
  • 11. Java applications? • GraalVM runs Java applications faster, on the OpenJDK. • Ahead-of-time compilation for native images. • Insane startup times, reduce memory footprint… • Run scripting languages faster.
  • 12. Performance as first class citizen • GraalVM compiler can remove costly object allocations in many scenarios • http://www.graalvm.org/docs/examples/java-performance-examples/ • Better inlining and more aggressive speculative optimizations can lead to additional benefits for complex long-running applications • https://www.graalvm.org/docs/examples/java-simple-stream-benchmark/
  • 13. Native Image • Running applications in the JVM implies the status and footprint costs. • GraalVM allow us to generate a native image without those costs. • The image generation process employs static analysis to find any code reachable from the main Java method and then performs full ahead-of-time (AOT) compilation • The resulting native binary contains the whole program in machine code form for its immediate execution.
  • 14. GraalVM in the real world • Twitter is running GraalVM for almost 2 years now. • Twitter is also contributing. • https://www.youtube.com/watch?v=pR5NDkIZBOA
  • 15. Better together… • Micronaut supports GraalVM Native Image generation.