Microservices have become the backbone of the largest web companies in existence today, including Netflix, Amazon, and Google. These companies run large distributed systems that span multiple datacenters and geographic regions, and this usually involves distributed schedulers, service discovery, load balancing, traffic shaping, monitoring, and logging solutions. This practical book provides several common design patterns for building a platform around microservices at scale. Developers, software architects, infrastructure engineers, and site reliability engineers will learn about schedulers, fault tolerant remote procedure calls, distributed tracing, traffic shaping, and the role of chaos engineering in building resilient systems. You'll be able to design a platform that can power microservices that span multiple datacenters, regions, and provide a high degree of availability on public and hybrid clouds.
You'll explore: The landscape of internet scale services Guiding principles, practices, and core infrastructure components for building and scaling services on top of SOA/microservice architecture Practices, tools, and techniques for operating large-scale microservices and distributed systems on dynamic and elastic infrastructure Patterns and techniques for making internet services highly available and reliable, including multi-geography architectures
Diptanu Choudhury is a Senior Distributed Systems Engineer at HashiCorp. Prior to this role he worked in the Platform Engineering and Operations Engineering groups at Netflix. He has extensive experience in building large scale services on public clouds that span multiple geographies. He has been working on distributed schedulers such as Apache Mesos for a long time, and he currently leads the Nomad open source distributed scheduler. Cindy Sridharan is an engineer at imgix, where she works on API development, infrastructure, and other miscellaneous backend engineering tasks. Cindy likes thinking about building resilient and maintainable systems and recently started writing about several of these topics.