Section 1, Introduction to Microservices, introduces the microservice architecture and the concepts to be used throughout the rest of the book. It also introduces an example scenario that is followed throughout the book.
Chapter 1, Making the Move – Design, Plan, Execute, explores the differences between the monolith approach and microservices, and how to design and plan a migration from the former to the latter.
Section 2, Designing and Operating a Single Service – Creating Docker Containers, looks at building and operating a microservice, covering its full life cycle, from design and coding to following good practices to ensure that it's always high quality.
Chapter 2, Creating a REST Service with Python, covers the implementation of a single web RESTful microservice, using Python and high-quality modules for development speed and quality.
Chapter 3, Build, Run, and Test Your Service Using Docker, shows you how you can encapsulate a microservice using Docker to create a standard, immutable container.
Chapter 4, Creating a Pipeline and Workflow, teaches you how to run tests and other operations automatically to ensure that containers are always of high quality and ready to use.
Section 3, Working with Multiple Services: Operating the System through Kubernetes, moves on to the next stage, which is to coordinate each of the individual microservices so they work as a whole in a consistent Kubernetes cluster.
Chapter 5, Using Kubernetes to Coordinate Microservices, introduces Kubernetes concepts and objects, including how to install a local cluster.
Chapter 6, Local Development with Kubernetes, has you deploy and operate your microservices in a local Kubernetes cluster.
Chapter 7, Configuring and Securing the Production System, delves into the setup and operation of a production Kubernetes' cluster deployed in the AWS Cloud.
Chapter 8, Using GitOps Principles, describes in detail how to use Git source control to control Kubernetes infrastructure definition.
Chapter 9, Managing Workflows, explains how to implement a new feature in a microservice, from design and implementation to deployment to an existing Kubernetes cluster system that is open to the world.
Section 4, Production-Ready System: Making It Work in Real-Life Environments, talks about techniques and tools for the successful operation of a real-life cluster.
Chapter 10, Monitoring Logs and Metrics, is about monitoring how a live cluster is behaving to proactively detect problems and improvements.
Chapter 11, Handling Change, Dependencies, and Secrets in the System, is concerned with how to effectively handle configuration that is shared across multiple microservices in a cluster, including the proper management of secret values and dependencies.
Chapter 12, Collaborating and Communicating across Teams, focuses on the challenges of teamwork between independent teams and how to improve collaboration.