In this chapter, we saw what the differences are between the traditional monolith approach and microservices architecture, and how microservices allow us to scale development across several teams and improve the delivery of quality software.
We discussed the main challenges that are faced during a transition from a monolith to microservices and how to perform the change in different stages: analyzing the current system, measuring to validate our assumptions, creating a plan to split the monolith in a controlled way, and tactics to successfully perform the move.
Though this chapter was written in a technology-agnostic way, we've learned why Docker containers are a great way of implementing microservices, something that will be explored in the following chapters. You also now know how using a load balancer helps to maintain backward compatibility and deploy new services...