EnRoute Achieves Breakthrough Scalability: 200K+ HTTPRoutes Supported, While Kong Limits Out at 10K
While working with Envoy and EnRoute over the years, performance has been a key consideration, and not an afterthought.
We start with one of the most common asks that we get — how do you compare against Kong?
In this article, we aim to clarify the differences between the two solutions while considering several key aspects. This test is focused on scalability for control-plane and data plane; there are several other methods to conduct performance tests with different configurations. We have tried to keep it a high-level comparison to help show how architectural choices can influence performance.
From the inception of Saaras EnRoute, we have prioritized performance as a foundational principle. We have consistently made deliberate design choices to ensure that the addition of new capabilities does not compromise the platform’s performance
Performance has several vectors. We will describe our reasoning behind the benchmarking approach.
With the Kubernetes Gateway API becoming the established standard for handling ingress, egress, and internal cluster traffic, more gateways are implementing this API. While gateways may appear functionally equivalent, selecting the right gateway carries significant consequences, especially concerning scalability.
With Gateway API, we can easily compare the performance of multiple gateways by maintaining the same configuration. Additionally, it is crucial to evaluate both the Data Plane and Control Plane components.
When we started building Saaras EnRoute, we took great care to ensure it was architected with performance in mind. We have noticed that EnRoute's performance exceeds that of other gateways by orders of magnitude. While this performance comparison focuses on comparing it to Kong, we will run similar performance benchmarks with other gateways and publish the results.
Here, we conduct a detailed performance comparison between Saaras EnRoute and Kong. In our performance tests, we noticed the EnRoute control plane is over 20 times more performant than Kong. This is critical. A control plane that cannot scale, cannot program the data plane, rendering it useless.
Saaras EnRoute Data Plane is built from Envoy, and it has been shown to exhibit superior performance over proxies like Nginx and OpenResty. This is also apparent in the tests. We notice a jump in tail latencies when benchmarking Envoy with the proxy used by Kong. Note that this test was done without any plugins configured. We believe additional processing could further hinder the performance of platforms like Kong, which relies on interpreted Lua code, versus Envoy, which is built using C++.
We installed Saaras EnRoute and Kong on separate clusters and progressively added HTTPRoutes to both gateways. We monitored the control plane and data plane components of both gateways.
The routes did not get programmed on the data plane and caused failures
While running these tests, we captured the memory and CPU of Saaras EnRoute and Kong. We noticed the memory consumption of Kong was 10x or more compared to what Saaras EnRoute.
This measures how efficiently the data plane can handle traffic. While Kong's performance is comparable at lower percentiles, it has long-tail latencies for P99.
We created a simple listener and routes without any additional configurations. The wrk2 tool was used to capture accurate latencies
Number of concurrent HTTPs Requests
Number of concurrent HTTP Requests
For Saaras EnRoute, we notice a linear memory increase as the number of configuration objects increases. This is what would be expected of a well designed system.
We also notice that there are no memory leaks with an overnight run even after such a high number of configuration objects
High control plane performance directly translates to infrastructure savings. One of our customers, who operates microservices for hundreds of tenants serving high-performance, real-time workloads, faced significant challenges due to the scalability limitations of their Ingress control plane.
To accommodate the load, they were forced to provision multiple clusters, resulting in substantial infrastructure costs and operational complexity. Each new infrastructure upgrade or release required updates across all clusters, and troubleshooting issues necessitated sifting through every cluster to identify the source of the problem.
With the configuration layer of several components increasingly centralized in the Kubernetes API Server, a performant control plane is critical. The impact is even more pronounced in High Availability (HA) setups, where identical solutions must be deployed across multiple availability zones.
By adopting EnRoute, the customer reduced their cluster count to a quarter of the original, achieving a 70%+ reduction in both infrastructure and operational costs.
While Saaras EnRoute is 20 times more performant than Kong for the control plane, its data plane, built on the robust Envoy Proxy, provides superior performance overall.
Resource consumption of Saaras EnRoute is one-tenth of Kong.
Saaras EnRoute is a drop-in replacement for Kong, offering significant savings on infrastructure and operational simplicity. Saaras EnRoute also features a deterministic pricing model.
If you would like more details about the test or are interested in exploring Saaras EnRoute further, please don’t hesitate to reach out. We’d be happy to assist you.