The JVM is not suited for running containerized microservices. The startup time is too slow and the memory footprint too high. The revolutionary GraalVM however lets you build your microservices as native images which leads to fantastic results: up to 50x faster startup time and up to 5x smaller memory footprint. The microservice frameworks Helidon, Quarkus, Micronaut, and Spring Boot are integrated with GraalVM. The others are expected to follow soon. Building native executables can sometimes be challenging. Native Image uses a different way of executing Java programs than users of a common JVM are used to. It distinguishes between image build time and image run time. All code is known at image build time. No code can be loaded at runtime. What’s about dynamic class loading, reflection, dynamic proxy, JNI, serialization, security, debugging, and monitoring? In this course, you will learn how to build native images and handle these challenges. Get GraalVM: http://www.graalvm.org
Microservices
Cloud computing and microservices are changing the entire software industry. According to an O’Reilly survey, more than 30% of large enterprises have begun to use microservices. The main benefits for organizations are better feature flexibility, faster handling of changing business requirements, better overall scalability, and improved developer productivity. More than 80% of developers worldwide expect microservices to become the standard architecture in the next few years, but more than half do not have related skills. Our goal is to help Java developers get started with microservices and use them in production.
Java is changing radically: Traditional Java is not suited for the cloud
The way we used to build enterprise applications for 25 years is changing fundamentally. Apps must be easy to deploy, fail-safe, and scalable to run perfectly in the cloud and to minimize cloud costs – they must be cloud native. However, monolithic apps are not suited for that. To meet those requirements large applications must be divided into many single microservices. Microservices can be developed, tested, and deployed independently from each other, and run within their own container and JVM environment.
Unfortunately, the traditional application server approach and even the JVM are not suited for running containerized microservices. The JVM startup time is too slow and the memory footprint too high so traditional Java cannot keep pace with modern serverless functions. This is also true for traditional database programming and monolithic database servers.
New cloud-native Java technology stack
A new Java cloud-native technology stack is available that revolutionizes Java. There are 3 main game-changers:
- Comparable to Java EE, there is a new standard called MicroProfile. Modern microservice frameworks implementing MicroProfile, enable you to build microservices and even serverless functions in good old powerful Java.
- The revolutionary GraalVM lets you build native images: Java as fast as C, millisecond startup time, and minimal footprint.
- MicroStream is a Java-native persistence that allows you to store any object graph or single subgraphs natively, which means without any mappings. The engine enables you to create Java in-memory database apps, microsecond query time, tremendous throughput and is predestined for microservices having their own persistence.
We help you to get started with microservices
Microservices come with a paradigm shift in architecture and if you want to develop state-of-the-art enterprise applications you must have microservices know-how. These courses will help you to learn how to develop highly efficient and powerful microservices in Java.