Chapter 5. Control Traffic

You are now ready to take control of how traffic flows between services. In a Kubernetes environment, there is simple round-robin load balancing between service endpoints. While Kubernetes does support deployment strategies such as a rolling deployment, it is quite coarse grained and is limited to moving to a new version of the service. You may find it necessary to have more than one version of the service running and perform a dark launch or a canary test. A service mesh enables these types of traffic management patterns by controlling requests and resiliency between services and controlling the traffic entering and leaving the cluster. This chapter explores many of these types of features to control the traffic between services including increasing the resiliency between the services.

Dark Launch

Dark launch allows you to deploy a service or a new version of a service while minimizing the impact to users; in other words, you can keep the service in the dark. It is imperative that you can develop and deliver new versions of your application with agility and low risk. Using a dark-launch approach enables you to deliver new functions rapidly with reduced risk. Since Istio allows you to precisely control how new versions of services are rolled out and accessed by clients, you can use a dark-launch approach for delivering changes.

Introducing Changes as a New Version

For example, you may want to create a new version of the Stock Trader service with the ...

Get Istio Explained now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.