I am the creator and maintainer of several popular Open Source projects, including Grails, GORM and Micronaut and I work for OCi as a principal software engineer.
My work has always been driven by user input and feedback from the Open Source community. As a professional Open Source developer, community is everything and recently Grails and Java communities have been crying out for better, more integrated solutions for developing truly Micro applications on the Java platform.
I believe strongly in using tools that are fit for purpose, hence just like 10 years ago when I created Grails to enable true rapid application development of server side applications written largely in a monolithic approach, now I am focused on Microservices with the creation of Micronaut.
I will be introducing the 1.0 GA release of Micronaut and showing the audience what is capable of.
Micronaut is a new Java framework that takes the lessons learnt over the years building Spring and Grails applications and resolves many of the inherent issues those frameworks have when it comes to building low-memory footprint Microservices or applications that require efficient startup times (such as Serverless functions that require a cold start).
I will be demonstrating how you can build Microservice applications with Micronaut that consume significantly less memory and startup extremely fast, but still include all of the features from frameworks like Spring and Grails that developers have come to know and love.
In addition, I will be previewing how Micronaut applications can already be run as native images using GraalVM, Oracle’s upcoming universal virtual machine, enabling even greater efficiency.
Microservices today remind me a great deal of where Java EE was 10 years ago, where you had a whole bunch of technologies that you needed to piece together manually to become productive as a developer. Technologies like Grails and Spring solved that problem, but were not really designed with Microservices in mind.
Micronaut is indeed a new framework that takes these existing established Microservice patterns and includes out-of-the-box solutions for all of them, without you having to piece together different tools and frameworks to make it work. In that sense it provides the same productivity boost that Grails did 10 years ago for monoliths, but for Microservices today.
The 1.0 release of Micronaut already includes native support for retry, circuit breaker, service discovery, distributed configuration, client-side load balancing, JWT authentication, token propagation and more.
Apart from that although the name Micronaut strongly hints at it being designed for Microservices, Micronaut can in fact be used for any kind of application, whether you are building a CLI application, a Kafka application or a Serverless function, Micronaut has a compelling set of features to make you productive.
The reason for this is that Micronaut includes built in compile-time Dependency Injection and Aspect Oriented Programming model that uses Ahead of Time (AOT) compilation via annotation processors (or AST transforms for Groovy) to enable many of the same features found in Spring or Grails, but without paying the heavy runtime cost in terms of memory consumption and startup time.
This approach also allows Micronaut to run more effectively on GraalVM, a new virtual machine from Oracle that allows you (using AOT compilation) to build your Java application into a native image that starts in milliseconds and consumes significantly less memory.
Thanks and see you at Voxxed Microservices 2018!
#micronaut #microservices #cloudnative
Twitter: https://twitter.com/graemerocher
GitHub: http://github.com/graemerocher