Hands-On Microservices with Spring Boot and Spring Cloud Build and deploy Java microservices using Spring Cloud, Istio, and Kubernetes
- Understand the challenges of building large-scale microservice landscapes
- Build cloud-native production-ready microservices with this comprehensive guide
- Discover how to get the best out of Spring Cloud, Kubernetes, and Istio when used together
Microservices architecture allows developers to build and maintain applications with ease, and enterprises are rapidly adopting it to build software using Spring Boot as their default framework. With this book, you'll learn how to efficiently build and deploy microservices using Spring Boot.
This microservices book will take you through tried and tested approaches to building distributed systems and implementing microservices architecture in your organization. Starting with a set of simple cooperating microservices developed using Spring Boot, you'll learn how you can add functionalities such as persistence, make your microservices reactive, and describe their APIs using Swagger/OpenAPI. As you advance, you'll understand how to add different services from Spring Cloud to your microservice system. The book also demonstrates how to deploy your microservices using Kubernetes and manage them with Istio for improved security and traffic management. Finally, you'll explore centralized log management using the EFK stack and monitor microservices using Prometheus and Grafana.
By the end of this book, you'll be able to build 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.0/OIDC and Spring Security to protect public APIs
- Implement Docker to bridge the gap between development, testing, and production
- Deploy and manage microservices using Kubernetes
- Apply Istio for improved security, observability, and traffic management
Who this book is for
This book is for Java and Spring developers and architects who want to learn how to break up their existing monoliths into microservices and deploy them either on-premises or in the cloud using Kubernetes as a container orchestrator and Istio as a service Mesh. No familiarity with microservices architecture is required to get started with this book.
Magnus Larsson has been in the IT industry for more than 30 years, working as a consultant for large companies in Sweden such as Volvo, Ericsson, and AstraZeneca. He has seen a lot of different communication technologies come and go over the years, such as RPC, CORBA, SOAP, and REST. In the past, he struggled with the challenges associated with distributed systems as there was no substantial help from the software available at that time. This has, however, changed dramatically over the last few years with the introduction of open source projects such as Spring Cloud, Netflix OSS, Docker, and Kubernetes. Over the last five years, Magnus has been helping customers use these new software technologies and has also done several presentations and blog posts on the subject.
- Introduction to Microservices
- Introduction to Spring Boot
- Creating a Set of Cooperating Microservices
- Deploying Our Microservices Using Docker
- Adding an API Description Using OpenAPI/Swagger
- Adding Persisitence
- Developing Reactive Microservices
- Introduction to Spring Cloud
- Adding Service Discovery Using Netflix Eureka and Ribbon
- 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 as an Alternative
- Using a Service Mesh to Improve Observability and Management
- Centralized Logging with the EFK Stack
- Monitoring Microservices