Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Launching the Micro Future: Micronaut with GraalVM in Practice @ CSS DevCon 0

Launching the Micro Future: Micronaut with GraalVM in Practice @ CSS DevCon 0

Micronaut is a modern, JVM-based full-stack framework for building modular, easily testable microservice and serverless applications. Developed by the creators of the Grails framework and with the support of many Spring developers, who have used their experience in these areas to develop a framework specifically focused on microservices.

Unlike other frameworks, Micronaut does not analyze fields, methods and constructors at runtime by reflection, but already at compilation time, so that the start time and memory consumption of an application no longer depends on its size. Micronaut supports the declarative build of reactive HTTP clients that are implemented at compile time, further reducing memory consumption. Additional features such as non-blocking HTTP servers, easy execution of component tests with automatically started and managed test instances, dependency injection at compile time and the cloud-native approach can be implemented in a wondrously simple way.

With its relatively flat learning curve, Micronaut makes it as easy as possible to provide RESTful services. Of course, as usual today, also for distributed environments with integrated support of repeats in case of failure, circuit breakers and fallbacks for robust applications.

Oracle’s newly developed GraalVM will change our view of microservices and cloud capabilities in the Java ecosystem and enable us to compete with native compilations. When Micronaut and GraalVM come together, both architectures can take full advantage of each other, resulting in amazingly efficient applications.

In my presentation I will give a rough overview and a short introduction to Micronaut on the GraalVM and show during a live coding session how to develop real microservices efficiently in a very short time.

0e03060bbd51f78ca975631e117b9213?s=128

Marcus Fihlon

June 26, 2019
Tweet

More Decks by Marcus Fihlon

Other Decks in Technology

Transcript

  1. Launching the Micro Future Micronaut with GraalVM in Practice Marcus

    Fihlon @McPringle Juni 26, 2019 Luzern
  2. @McPringle Disclaimer The following presentation has been approved for open

    audiences only. Hypersensitivity to occasional profanity requires covering ears. All logos, photos etc. used in this presentation are the property of their respective copyright owners and are used here for educational purposes only. Any and all marks used throughout this presentation are trademarks of their respective owners. The presenter is not acting on behalf of CSS Insurance, neither as an official agent nor representative. The views expressed are those solely of the presenter. Marcus Fihlon disclaims all responsibility for any loss or damage which any person may suffer from reliance on this information or any opinion, conclusion or recommendation in this presentation whether the loss or damage is caused by any fault or negligence on the part of presenter or otherwise.
  3. @McPringle About me • Scrum Master and Software Engineer •

    International Speaker and Community Leader • Lecturer and Author • Java and Kotlin Fan • A German living in Switzerland • Cycling Junkie
  4. Intro

  5. @McPringle Graeme Rocher

  6. @McPringle Main Focus Micronaut focuses on the following aspects of

    applications for the JVM and tries to optimize them: • Fast application start-up • Reduced runtime memory footprint • Minimal use of Java Reflection • Minimal use of Java proxies • Simple, fast application tests
  7. @McPringle Introduction to Micronaut The lecture of Graeme Rocher yesterday

    at 5 pm in the Apollo room was recorded and will be available on YouTube (hopefully) soon. I don't want to repeat this and therefore concentrate on the practical side with some examples.
  8. Live Coding

  9. @McPringle Cross your fingers and you might see: • Project

    creation • Configuration • Reactive HTTP Clients • Non-blocking HTTP Servers • Scheduled Task Execution • Component Testing • Dependency Injection • Retries, Circuit Breakers, Fallback • GraalVM Native Image
  10. @McPringle The Source of Truth GitHub Repo with file listing

    demo: https://github.com/McPringle/graalvm-native-image-demo GitHub Repo with beer demo: https://github.com/McPringle/micronaut-graalvm-demo
  11. One more thing…

  12. @McPringle You ever dreamed of living in Lucerne?

  13. @McPringle Code Warriors wanted! About you • You are frighteningly

    awesome at what you do. • You can perform quick and deadly tactical strikes, as well as feats of epic badassery. Sometimes both at the same time. • You would rather refactor existing, mostly working, ugly code instead of rewriting it from scratch. OK nobody would really rather do that, but you know it's the right and honorable thing to do most of the time. • You know where your towel is. About us • Biggest Basic Health Insurance Company • 2800 Employees • 300 IT Professionals • 24 Scrum Teams • 130 Software Developers (and hiring) • Flexible working times • Personal development support • 6 weeks paid vacation • Great benefits • Located in Lucerne, Switzerland Contact me: marcus.fihlon@css.ch
  14. @McPringle https://bit.ly/mnpractice Fat Man Cycling https://fatmancycling.tours