Chapter 12. Real-World Considerations for Application Deployment
People adopt service meshes for many reasons, not least of which is to improve the reliability of services they deliver to their users. A key consideration of improving the reliability of a workload on Istio is understanding Istio’s reliability characteristics. As you might expect, the reliability of the two are linked. Although use of Istio (or any service mesh) stands to dramatically lift the boats of all workloads (on and off the mesh), the introduction of additional components to the system, like a service proxy that creates a
services-network, presents new modes of potential failure. Considerations for deploying Istio and workloads on Istio reliably is the focus of this chapter.
In earlier chapters, we talked about how Istio can improve your application’s reliability (with outlier detection, circuit breakers, and retries, among others). We examined how Istio can allow you to control where traffic flows through your mesh very precisely, and how Istio helps you gain visibility into your deployment (by generating telemetry for your applications). We have addressed features of Istio that are helpful in protecting you against certain classes of failures, but we haven’t addressed, in detail, how Istio helps when it comes to mitigating the most common sources of outages: deploying new versions of your applications. Fortunately, the ability to control traffic and see how that traffic is behaving is exactly what we need ...