Traffic Management
TSB's traffic routing capabilities let you easily control traffic flow between services under its control. TSB simplifies the approach to structuring how you interact with applications and services, and by extension, simplifies the processes behind tasks such as traffic routing, staged rollouts and migrations.
This page will walk you through:
✓ Gateways in TSB
✓ Intelligent traffic routing
✓ Multi-cluster capabilities in TSB
✓ Traffic splitting, migrations and canary deployments
TSB is supported by Istio and Envoy in each cluster. All traffic inside the cluster is proxied by Envoy, while your local control plane enforces the rules defined by you within the management plane. Any changes that you make or policies that you apply are held in state within the global control plane, which assumes all responsibility for distributing policy changes to gateways and local control planes.
Gateways in TSB
As traffic enters through your mesh-managed environment, it passes through several ingress gateways to reach the endpoint it needs.
First, passing through a shared multi-tenant gateway will ensure it reaches the correct cluster or application gateway (depending on your setup) then entering the app or cluster and on to the endpoint if it’s allowed to do so.
By using multiple gateways, it allows for abstraction, isolation and control of your traffic. Firstly, the approach keeps you safe and reduces the risk of outages because no cluster shares a gateway; they don't share a failure domain. Secondly, it keeps those gateways specialized. For example, if you have a cluster to handle 'payments' it may contain billing, notification and payment services that would expose a single API for all of their endpoints. Any cluster or app-specific gateway is owned by the workspace responsible for maintaining that cluster or application. They remain in control of how traffic flows to their applications and endpoints.
Intelligent Traffic Routing
For TSB to act as a traffic management system, it needs to know where all your services are and whether they’re operable. Therefore, TSB relies on the local control planes to provide information on the services’ health and availability which it communicates with other local control planes to advertise available endpoints. All this information is communicated back to the management plane so that users can see near-real-time information on service health.
Multicluster and Intelligent Traffic Routing
Within TSB, multi-cluster management is an easy way for organizations to have multiple clusters ready to serve traffic and stand up as an up-to-date replica of any other active cluster. Then by configuring your gateways to listen to the same IPs and make smart routing decisions across multiple clusters.
What goes on underneath (thanks to the global control plane) makes intelligent traffic routing even smarter. The global control plane allows the local Istio control planes to communicate, and advertise available endpoints. It means your system can serve more requests and maintain a higher availability.
Traffic Splitting and Migrations
Traffic management within TSB is designed for simplicity at scale. As a user, you only need to push a configuration once to change or update how your services handle traffic. It makes the process of migrating to microservices, splitting traffic and canary deployments much easier to manage, and safer to perform at scale.
The mechanics behind migrations, traffic splitting and canary deployments are similar and you, as a user, define the percentage amounts you sent to different versions or different infrastructures. This means that you have intense control over your environment. With the added observability capabilities within TSB, you know if everything is working as you expect. If not, you can roll-back or redeploy an older version.
The aim of all points is to keep your services highly available, even during migrations to microservices.