A step-by-step guide to creating and deploying production-quality microservices-based applications
Key Features
Build cloud-native production-ready microservices with this comprehensively updated guide
Understand the challenges of building large-scale microservice architectures
Learn how to get the best out of Spring Cloud, Kubernetes, and Istio in combination
Book Description
With this book, you'll learn how to efficiently build and deploy microservices. This new edition has been updated for the most recent versions of Spring, Java, Kubernetes, and Istio, demonstrating faster and simpler handling of Spring Boot, local Kubernetes clusters, and Istio installation. The expanded scope includes native compilation of Spring-based microservices, support for Mac and Windows with WSL2, and an introduction to Helm 3 for packaging and deployment. A revamped security chapter now follows the OAuth 2.1 specification and makes use of the newly launched Spring Authorization Server from the Spring team.
Starting with a set of simple cooperating microservices, you'll add persistence and resilience, make your microservices reactive, and document their APIs using OpenAPI.
You'll understand how fundamental design patterns are applied to add important functionality, such as service discovery with Netflix Eureka and edge servers with Spring Cloud Gateway. You'll learn how to deploy your microservices using Kubernetes and adopt Istio. You'll explore centralized log management using the Elasticsearch, Fluentd, and Kibana (EFK) stack and monitor microservices using Prometheus and Grafana.
By the end of this book, you'll be confident in building microservices that are scalable and robust using Spring Boot and Spring Cloud.
What you will learn
Build reactive microservices using Spring Boot
Develop resilient and scalable microservices using Spring Cloud
Use OAuth 2.1/OIDC and Spring Security to protect public APIs
Implement Docker to bridge the gap between development, testing, and production
Deploy and manage microservices with Kubernetes
Apply Istio for improved security, observability, and traffic management
Write and run automated microservice tests with JUnit, testcontainers, Gradle, and bash
Who this book is for
If you are a Java or Spring Boot developer who wants to learn how to build microservice landscapes from scratch, this book is for you.
No familiarity with microservices architecture is required.
Table of Contents
Introduction to Microservices
Introduction to Spring Boot
Creating a Set of Cooperating Microservices
Deploying our Microservices using Docker
Adding an API Description using OpenAPI
Adding Persistence
Developing Reactive Microservices
Introduction to Spring Cloud
Adding Service Discovery Using Netflix Eureka
Using Spring Cloud Gateway to Hide Microservices Behind an Edge Server
Securing Access to APIs
Centralized Configuration
Improving Resilience Using Resilience4j
Understanding Distributed Tracing
Introduction to Kubernetes
Deploying Our Microservices to Kubernetes
Implementing Kubernetes Features to Simplify the System Landscape
Using a Service Mesh to Improve Observability and Management
Centralized Logging with the EFK Stack
Monitoring Microservices
Installation instructions for macOS
Installation Instructions for Microsoft Windows with WSL 2 and Ubuntu
Description:
A step-by-step guide to creating and deploying production-quality microservices-based applications
Key Features
Book Description
With this book, you'll learn how to efficiently build and deploy microservices. This new edition has been updated for the most recent versions of Spring, Java, Kubernetes, and Istio, demonstrating faster and simpler handling of Spring Boot, local Kubernetes clusters, and Istio installation. The expanded scope includes native compilation of Spring-based microservices, support for Mac and Windows with WSL2, and an introduction to Helm 3 for packaging and deployment. A revamped security chapter now follows the OAuth 2.1 specification and makes use of the newly launched Spring Authorization Server from the Spring team.
Starting with a set of simple cooperating microservices, you'll add persistence and resilience, make your microservices reactive, and document their APIs using OpenAPI.
You'll understand how fundamental design patterns are applied to add important functionality, such as service discovery with Netflix Eureka and edge servers with Spring Cloud Gateway. You'll learn how to deploy your microservices using Kubernetes and adopt Istio. You'll explore centralized log management using the Elasticsearch, Fluentd, and Kibana (EFK) stack and monitor microservices using Prometheus and Grafana.
By the end of this book, you'll be confident in building microservices that are scalable and robust using Spring Boot and Spring Cloud.
What you will learn
Who this book is for
If you are a Java or Spring Boot developer who wants to learn how to build microservice landscapes from scratch, this book is for you.
No familiarity with microservices architecture is required.
Table of Contents