In the previous chapter, we saw how to get traffic into a cluster and what considerations we needed to account for when doing so. Once a request makes it into our cluster, how is it routed to the appropriate service to handle the request? How do services that live within the cluster communicate with other services that live within the same cluster or outside the cluster? Finally, and most importantly, when we make changes to a service and introduce new versions, how do we safely expose our clients and customers to these changes with minimal disruption and impact?
As we’ve seen, Istio service proxies intercept the communication between services within the service-mesh cluster and give us a point of control for traffic. Istio allows us to finely control traffic flowing between applications down to the individual request. In this chapter, we look at why you might want to do that, how to do it, and what benefits you should achieve when utilizing these capabilities.