One of the key aspects of being cloud native is to break up your application into microservices. This means an application that may have run on a single server now has multiple services, backed by multiple Pods, as separate components. As applications scale out their services, it becomes difficult to troubleshoot problems that you may encounter with the application. With this added complexity, we needed a tool to help organize, secure, and add resilience to the expanding complexities that microservices introduced. Another important problem is that enterprises often have a huge number of microservices and aren’t always able to control, manage, and observe them—something a service mesh could fix.
In this chapter, we will discuss Anthos Service Mesh (ASM) and the features that ASM inherits from Istio (https://istio.io/), a popular open source framework for creating, managing, and implementing a service mesh.