Building Microservices, 2nd Edition

Building Microservices is a forthcoming book on all aspects of Microservices, available August 2021

The 2nd edition is a complete rewrite of the previous best selling edition. It is aimed at giving a broad overview of all aspects related to microservices. Giving a firm foundation in the basics, it goes further, covering off all aspects of the software delivery process, and how they are impacted by adopting a microservice architecture.

What's New?

This 2nd edition involves every page of the best selling 1st edition being reviewed and where appropriate reworked, with new topics covered for the first time. This edition will be reflecting the shifts in the use of microservices over the last five years, including an exploration of some of the new technology which has emerged.

Status

The book is in the final stages of production and will be printed in late July 2021, with a view to print copies being available in late August 2021. Ebook versions will be available in the middle of August 2021, although if you want to view the current pre-production copy, you can do so via O'Reilly.

How To Get The Book

You can pre-order the book now, but if you want to read the early version straight away, head over to O'Reilly Learning Online.

Read on O'Reilly Learning Online Pre-order on Amazon.co.uk 🇬🇧 Pre-order on Amazon.com 🇺🇸

Translations & Other Editions

We fully expect an English-language local printing for the India, although at yet we don't have a confirmed ETA.

The book will also be translated into Chinese complex & simplified, Portuguese, and Russian. We do expect further translations to follow, and I'll update the website when I have more details. Translations will likely not be available until 2022.

The current plan is to have the 2nd edition finalised and released in August 2021.

If you are interested in helping translate the book into a language not seen here, then please contact me and I'll put you in touch with the right people at O'Reilly.

Contents

This book is primarily organized in a topic-based format. I have structured and written the book as though you are reading it from beginning to end, but of course you may want to jump into the specific topics that interest you the most.

The main body of the book is broken into three separate parts—Foundation, Implementation, and People. Let’s look at what each part covers.

Part I, Foundation

In this part, I detail some of the core ideas behind microservices.

  • Chapter 1, What Are Microservices? This is a general introduction to microservices, first introducing a number of topics that we expand later in the book.
  • Chapter 2, How to Model Microservices The importance of concepts like information hiding, coupling, cohesion, and domain-driven design in helping find the right boundaries for your microservices.
  • Chapter 3, Splitting the Monolith Some guidance on how to take an existing monolithic application and break it apart into microservices.
  • Chapter 4, Microservice Communication Styles A discussion of the different types of microservice communication, including asynchronous vs synchronous calls, request-response and event-driven collaboration styles.

Part II, Implementation

Moving from higher-level concepts to more implementation detail, we look at techniques and technologies to help get the best out of microservices.

  • Chapter 5, Implementing Microservice Communication A deeper look at the specific technologies used to implement inter-microservice communication.
  • Chapter 6, Workflow A comparison of Sagas and distributed transactions and their usefulness in mod‐ eling business processes involving multiple microservices.
  • Chapter 7, Build Mapping from a microservice to repositories and builds.
  • Chapter 8, Deployment The myriad options around deploying a microservice, including a look at con‐ tainers, Kubernetes and FAAS.
  • Chapter 9, Testing The challenges of testing microservices, including the issues caused by end-to- end tests, and how consumer-driven contracts and in-production testing can help.
  • Chapter 10, From Monitoring to Observability Covers the shift in thinking from static monitoring activities, to thinking more broadly about how improve the observability of microservice architectures, along with some specific recommendations regarding tooling.
  • Chapter 11, Security Microservice architectures can increase the surface area of attack, but also give us more opportunity to defend in depth. In this chapter we explore this balance.
  • Chapter 12, Resiliency A wider look at what resiliency is, and what part microservices can play in improving the resiliency of your applications.
  • Chapter 13, Scaling In this chapter I outline the four axis of scaling, and show how they can be used in combination to scale a microservice architecture.

Part III, People

Ideas and technology don’t mean anything without the people and organization to back them up.

  • Chapter 14, User Interfaces From moving away from dedicated front-end teams to the use of BFFs and GraphQL, this chapter explores how microservices and user interfaces can work together.
  • Chapter 15, Organizational Structures Focuses on how stream-aligned and enabling teams can work in the context of microservice architectures.
  • Chapter 16, The Evolutionary Architect Microservice architectures aren’t static, so your view of system architecture may need to change—a topic that this chapter explores in depth.