front matter
A service mesh can maximize the development speed of your whole organization by enabling thousands of independent microservices that are automatically compliant with a wide range of evolving policies. This book discusses many other benefits of Istio, but they largely follow from this premise.
This brings us to the central question, “What is a service mesh, and why do I need one?” I’m asked this question frequently, and the answer is not trivial. It is not about security or telemetry or most of the benefits some people claim. Nor is it automatically the case that you need a service mesh for your application, especially if it is a monolith.
The real answer has to do with decoupling applications from infrastructure. Istio is the third major step in that direction. First, Docker provided a way to package an application (and its library choices) separately from the machine on which it runs. Next, Kubernetes made it easy to create a service with automation to help with autoscaling and management. Together, Docker and Kubernetes enabled the practical movement to fine-grain services, often called microservices. This book guides you through implementing a service mesh with Istio to achieve this third step: application decoupling.