Understanding Traffic Director


Traffic Director is a GCP-managed service that provides configuration and traffic management (load balancing, traffic routing, security, and so on) for services based on various environments, such as Compute Engine instances, Google Kubernetes Engine, on-premises, or other public cloud providers. The key point that Traffic Director introduces is that the control plane (Istiod for clarity) is fully managed in Google Cloud. There is no need to install it either to maintain it in a Kubernetes cluster.

Traffic Director is a fully managed service in GCP that allows you to build a service mesh across several deployment environments. In this case, we can observe how Traffic Director orchestrates a service mesh across multiple Kubernetes clusters within a Google Cloud project. It directly interacts with Envoys in order to configure, discover, and secure services. Note that you don’t need to have the control plane installed on each cluster. This is because Traffic Director integrates all the service mesh control functions in it.

Another great feature of Traffic Director is that it can control proxy-less gRPC services (here, you can find a well-explained introduction to gRPC: https://grpc.io/docs/what-is-grpc/introduction/) and thus integrate them into the service mesh. gRPC is a modern, open source, high-performance Remote Procedure Call (RPC) framework that can run in any environment. It can connect services in and across data centers with pluggable support for load balancing, tracing, health checking, and authentication.

Moreover, these services can run anywhere, either on a Kubernetes cluster or a Compute Engine instance

Traffic Director can control both proxy and proxy-less microservices on either Kubernetes or Compute Engine environments. This feature is unique, and it will enable you to build your service mesh in heterogeneous environments. This is possible because Traffic Director supports xDS API technology, which is a set of discovery services available through gRPC/REST API calls. Services can query the mesh configuration from Traffic Director using these APIs. This works whether the services use a sidecar proxy or not, which leads to greater flexibility in the service mesh configuration and governance. For more information on xDS API, follow this link: https://bit.ly/2Z0KI6U.