Envoy Control is a production-ready Control Plane for Service Mesh based on Envoy Proxy Data Plane that is platform agnostic.
- Exposing data from Service Discovery to Envoy via gRPC xDS v2 API
- Scalable integration with Consul
- Multi-DC support
- Permission management
- Weighted load balancing and canary support
- Service tags routing support
- Access log filter
- Local reply modification
Why another Control Plane?#
Our use case for Service Mesh is running 800 microservices on Mesos / Marathon stack. Some of these services are run on Virtual Machines using the OpenStack platform. Most current solutions on the market assume that the platform is Kubernetes. After evaluating current solutions on the market we decided to build our own Control Plane. See comparision with other popular alternatives.
Envoy Control is built with performance in mind. It was tested on a real-world production system. Currently, at allegro.tech there are 800+ microservices which converts to 10k+ Envoys running across all the environments. With a proper configuration, a single instance of Envoy Control with 2 CPU and 2GB RAM can easily handle 1k+ Envoys connected to it.
Envoy Control includes a suite of reliability tests that checks the behavior of the system under unusual circumstances. Additionally, there are multiple metrics that help to observe the current condition of the Control Plane.