One of the key functionalities of microservices is their ability to decouple configurations. For instance, whenever a change happens, Kubernetes' primitive ConfigMap configurations are decoupled from the application and pushed down to the application by Kubernetes. Istio provides a much more powerful capability to decouple traffic routing that's independent of the application code.
Traffic management in Istio is decoupled from the application. This is possible due to the language-agnostic Envoy sidecar that sits with the microservice. The rules are defined in Pilot, and these are independent of the pod. This helps us to decouple traffic, independent of the replica sets' deployment. For instance, regardless of the number of replicas in a canary deployment, it is only possible to shift 10% of the live traffic to it.
Pilot plays an important role...