Book Image

Practical Cloud-Native Java Development with MicroProfile

By : Emily Jiang, Andrew McCright, John Alcorn, David Chan, Alasdair Nottingham
Book Image

Practical Cloud-Native Java Development with MicroProfile

By: Emily Jiang, Andrew McCright, John Alcorn, David Chan, Alasdair Nottingham

Overview of this book

In this cloud-native era, most applications are deployed in a cloud environment that is public, private, or a combination of both. To ensure that your application performs well in the cloud, you need to build an application that is cloud native. MicroProfile is one of the most popular frameworks for building cloud-native applications, and fits well with Kubernetes. As an open standard technology, MicroProfile helps improve application portability across all of MicroProfile's implementations. Practical Cloud-Native Java Development with MicroProfile is a comprehensive guide that helps you explore the advanced features and use cases of a variety of Jakarta and MicroProfile specifications. You'll start by learning how to develop a real-world stock trader application, and then move on to enhancing the application and adding day-2 operation considerations. You'll gradually advance to packaging and deploying the application. The book demonstrates the complete process of development through to deployment and concludes by showing you how to monitor the application's performance in the cloud. By the end of this book, you will master MicroProfile's latest features and be able to build fast and efficient cloud-native applications.
Table of Contents (18 chapters)
Section 1: Cloud-Native Applications
Section 2: MicroProfile 4.1 Deep Dive
Section 3: End-to-End Project Using MicroProfile
Section 4: MicroProfile Standalone Specifications and the Future

What this book covers

Chapter 1, Cloud-Native Applications, defines the concept of cloud-native applications and briefly discusses best practices.

Chapter 2, How Does MicroProfile Fit Into Cloud-Native Application Development?, provides an overview of MicroProfile and then describes the specifications of MicroProfile in terms of fulfilling the requirements of cloud-native applications.

Chapter 3, Introducing the IBM Stock Trader Cloud-Native Application, presents the Stock Trader application with high-level architecture and describes its functionality and design.

Chapter 4, Developing Cloud-Native Applications, explains the details of JAX-RS, JSON-B, JSON-P, CDI, and the MicroProfile Rest Client, and then demonstrates how to use them to build cloud-native applications using some code examples.

Chapter 5, Enhancing Cloud-Native Applications, explains how to configure your cloud-native application using MicroProfile Config, ensuring that the application behaves under all kinds of conditions using MicroProfile Fault Tolerance. Finally, you will understand how to secure the applications using MicroProfile JWT.

Chapter 6, Observing and Monitoring Cloud-Native Applications, covers Day 2 operations in terms of how to observe the health status and operation status of cloud-native applications and then how to identify faults using MicroProfile Open Tracing.

Chapter 7, MicroProfile Ecosystem with Open Liberty, Docker, and Kubernetes, explains how to deploy cloud-native applications to the cloud and how it interacts with cloud infrastructures such as Docker, Kubernetes, and Istio.

Chapter 8, Building and Testing Your Cloud-Native Application, covers how to build the real-world, cloud-native application, Stock Trader, from scratch and gradually utilize MicroProfile specifications to fulfill the best practices of cloud-native applications.

Chapter 9, Deployment and Day 2 Operations, discusses how to deploy the Stock Trader application via Operator and talks about Day 2 operations, such as post-deployment maintenance.

Chapter 10, Reactive Cloud-Native Applications, explains the difference between imperative and reactive applications and demonstrates how to use reactive messaging to build reactive applications.

Chapter 11, MicroProfile GraphQL, expands on why you need to use MicroProfile GraphQL for queries, followed by a demonstration of how to use GraphQL to build queries.

Chapter 12, MicroProfile LRA and the Future of MicroProfile, explains what cloud-native application transactions are and demonstrates how to use MicroProfile LRA to perform cloud-native transactions, followed by the future roadmap of MicroProfile.