--- title: Intelligent Routing description: This guide demonstrates how to use various traffic management capabilities of an Istio service mesh. weight: 20 --- This guide demonstrates how to use various traffic management capabilities of an Istio service mesh. ## Overview Deploying a microservice-based application in an Istio service mesh allows one to externally control service monitoring and tracing, request (version) routing, resiliency testing, security and policy enforcement, etc., in a consistent way across the services, for the application as a whole. In this guide, we will use the [Bookinfo sample application](/docs/guides/bookinfo/) to show how operators can dynamically configure request routing and fault injection for a running application. ## Before you begin * Install the Istio control plane by following the instructions corresponding to your platform [installation guide](/docs/setup/). * Run the Bookinfo sample application by following the applicable [application deployment instructions](/docs/guides/bookinfo/#deploying-the-application). ## Tasks 1. [Request routing](/docs/tasks/traffic-management/request-routing/) This task will first direct all incoming traffic for the Bookinfo application to the v1 version of the `reviews` service. It will then send traffic only from a specific test user to version v2, leaving all other users unaffected. 1. [Fault injection](/docs/tasks/traffic-management/fault-injection/) We will now use Istio to test the resiliency of the Bookinfo application by injecting an artificial delay in requests between the `reviews:v2` and `ratings` services. Observing the resulting behavior as the test user, we will notice that the v2 version of the `reviews` service has a bug. Note that all other users are unaware of this testing against the live system. 1. [Traffic Shifting](/docs/tasks/traffic-management/traffic-shifting/) Finally, we will use Istio to gradually migrate traffic for all users from to a v3 version of the `reviews` service, one which includes the fix for the bug discovered in v2. ## Cleanup When you're finished experimenting with the Bookinfo sample, you can uninstall it by following the [Bookinfo cleanup instructions](/docs/guides/bookinfo/#cleanup) corresponding to your environment.