Book Image

Hands-On Cloud-Native Microservices with Jakarta EE

By : Luigi Fugaro, Mauro Vocale
Book Image

Hands-On Cloud-Native Microservices with Jakarta EE

By: Luigi Fugaro, Mauro Vocale

Overview of this book

Businesses today are evolving rapidly, and developers now face the challenge of building applications that are resilient, flexible, and native to the cloud. To achieve this, you'll need to be aware of the environment, tools, and resources that you're coding against. The book will begin by introducing you to cloud-native architecture and simplifying the major concepts. You'll learn to build microservices in Jakarta EE using MicroProfile with Thorntail and Narayana LRA. You'll then delve into cloud-native application x-rays, understanding the MicroProfile specification and the implementation/testing of microservices. As you progress further, you'll focus on continuous integration and continuous delivery, in addition to learning how to dockerize your services. You'll also cover concepts and techniques relating to security, monitoring, and troubleshooting problems that might occur with applications after you've written them. By the end of this book, you will be equipped with the skills you need to build highly resilient applications using cloud-native microservice architecture.
Table of Contents (14 chapters)

Rolling deployment

Rolling deployment is a technique that's used to gradually replace the current application with the newer version of it.

This kind of deployment technique allows you to have no downtime during the update, but also requires you to have the old and the new versions of the application running at the same time. This is only possible with data model compatibility.

Here are three diagrams depicting the beginning, the process, and the final stage of the deployment. At first, one instance of the new version of the application is deployed:

Once the new version of the application is ready to be used, which means that readiness and health checks are passed successfully, one instance of the old version is scheduled to be destroyed:

In the final stage, once the last expected instance of the new version of the application is ready to use, the last instance of the old...