Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Peru JUG Micronaut & GraalVM

94 views

Published on

Charla introductoria a Micronaut y GrallVM para el PeruJUG

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Peru JUG Micronaut & GraalVM

  1. 1. Micronaut + GraalVM A match made in Cloud Native
  2. 2. Micronaut • Desarrollado por Object Computing (OCI) • Graeme Rocher (@GraemeRocher) • Diseñado para desarrollar Microservicios
  3. 3. Features • Compile time dependency injection. • First class support for reactive programming • Cloud Native • Service Discovery (Consul, Kubernetes, Eureka) • Distributed tracing (Zipkin, Jaeger) • Serverless functions
  4. 4. Dependency Injection • Micronaut builds its dependency injection data at compile time. • Fully supports JSR-330 annotations as well.
  5. 5. Persistence • JDBC support • JPA with Hibernate support • MongoDB • Neo4j • Redis • Cassandra
  6. 6. 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…
  7. 7. GraalVM • OpenSource project at Oracle Labs • Based in OpenJDK 8u • Polyglot • Native • Embeddable
  8. 8. • 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).
  9. 9. 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.
  10. 10. 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/
  11. 11. 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.
  12. 12. 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
  13. 13. Better together… • Micronaut supports GraalVM Native Image generation.
  14. 14. Demo time…

×