Envoy today joined Kubernetes and Prometheus as graduated projects at the Cloud Native Computing Foundation (CNCF), and gained that diploma more than one year faster than its fellow graduated projects. CNCF’s graduation status means that a project has hit a level of maturity and stability that provides confidence to vendors that want to integrate the project into their commercial platforms.
Envoy was originally created by Lyft in 2015. It was developed as a “service mesh” substrate that provides common utilities such as service discovery, load balancing, rate limiting, circuit breaking, stats, logging, and tracing to heterogeneous application architectures.
At a practical level, Envoy operates on the data plane of a service mesh where it sits next to running container pods. It’s designed to ease the transition to and the operation of cloud-native architectures by managing the interactions among microservices to ensure application performance.
Matt Klein, lead maintainer for Envoy and an engineer at Lyft, said that graduation status provides a “level of confidence that the project won’t disappear and be relied on for building critical infrastructure and services.”
Klein did note that Lyft did most of the initial development for Envoy when it entered the CNCF, but Lyft has since done just a small percentage of that development work. “We have maintainers from five organizations, contributors from many multiples of that, and a vibrant community that helps each other out,” he explained.
Envoy was donated to CNCF in September 2017 as an open source edge, middle, and service proxy. It moved through the CNCF maturation process in just over a year.
Klein attributed Envoy’s speedy move through CNCF as “simply a matter of project growth and adoption speed.”
By comparison, it took more than two years for both Kubernetes and Prometheus to hit their respective graduations dates after joining CNCF (not that it’s a competition). Kubernetes has become the de facto management plane for container deployments, while Prometheus is a container monitoring platform.
While the entire CNCF ecosystem has begun to gain traction thanks to growing support for open source and Kubernetes, Klein said that Envoy’s growth has “been orthogonal to the growth of Kubernetes.”
“It might even be true that production usage of Envoy has grown faster than Kubernetes had attained at the same project lifespan,” Klein explained. “Envoy is clearly aimed at dynamic cloud native deployments and in the sense that the rise of Kubernetes is nudging people in that direction, it certainly also leads to a more obvious use case for Envoy.”
Envoy has indeed been a hot topic among CIOs looking at service mesh platforms to help manage their sprawling cloud and infrastructure deployments. The software solves a problem that comes from the fact that services have been associated with the servers on which they reside. The services map to specific machines in the network. If an application wants to use a service, it has to know specific server information.
Envoy has also been linked closely with Istio, which is used as a service mesh platform. Istio sits at the network level and uses a substrate for microservices development and maintenance. This allows for the decoupling of management from application development.
In terms of a service mesh, Istio acts as the control plane for management of the service mesh. It can handle the deployment of Envoy sidecars and coordinate that deployment through the container orchestration layer working with platforms like Kubernetes or Apache Mesos.
Lane Patterson, vice president of global network infrastructure services with Verizon’s Yahoo/Oath business, in an interview with SDxCentral at this year’s ONUG Spring 2018 conference, explained that Istio and Envoy allow the code for different services to easily talk to each other. He said that applications can be built by linking pre-existing web services.
Examples of services include things like Hadoop, which Yahoo invented, or Sherpa, which is Yahoo’s cloud storage platform. “We have all these different services, and when we create an application, the whole goal of computer programming is so you don’t have to rewrite code all the time,” said Patterson. Istio and Envoy enable web services to easily talk to each other and become building blocks to create applications.
However, one potential snag for the Envoy-Istio duo is that Istio remains outside of the CNCF ecosystem, though there are efforts to perhaps change that.
“It’s not an issue,” Klein said of that division. “Istio is a user of Envoy, but at this point there are so many products, services, and end users utilizing Envoy that we consider Istio one of many.”
Looking ahead, Klein said that the Envoy team was working on adding support for different routing protocol, scalability issues, and foundational work on supporting IoT use cases.