O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Peru JUG Micronaut & GraalVM

96 visualizações

Publicada em

Charla introductoria a Micronaut y GrallVM para el PeruJUG

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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…