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)

Kubernetes

Kubernetes is a portable, extensible, open source platform for managing containerized workloads and services, facilitating both declarative configuration and automation. Kubernetes was developed by Google, and the first committer after Google was Red Hat.

Kubernetes manages application integrity, replicates load balancing, and allocates hardware resources. One of the fundamental tasks of Kubernetes is the work of maintaining an application, making it work, and responding to all user requests. Apps that become unhealthy or do not complete the health check that you decide for them can be flushed automatically. Another advantage offered by Kubernetes is maximizing the use of hardware resources, including the memory, storage, and network bandwidth. Applications can have varying limits regarding the use of resources. Many apps that use minimal resources can be grouped together...