How a Project Graduates from the Cloud Native Computing Foundation
KubeCon + CloudNativeCon sponsored this podcast.
Originally created by ride-hailing firm Lyft over three years ago, Envoy serves as a network proxy geared for microservice service mesh architectures and was open sourced about two and a half years ago. About a year after Envoy 1.0’s release, Envoy was accepted by the Cloud Native Computing Foundation (CNCF) as an incubation project.
During a podcast hosted Alex Williams, founder and editor-in-chief of The New Stack, at KubeCon + CloudNativeCon North America 2018, Cheryl J Hung, director of ecosystem at the CNCF, and Matt Klein, senior software engineer at Lyft, discussed how Envoy has benefited as a CNCF project, and consequently, how Envoy’s lifecycle has evolved.
They detailed what happens when a CNCF project “graduates” and how users ultimately benefit from the process.
“Overall, it’s been a great experience for us — the CNCF has been very helpful for helping us grow the project, not only from events perspective but helping with governance and just all those types of things,” Klein said. “So, Envoy has had a pretty spectacular growth over the last two years since it’s been open sourced and I think just through natural project growth and evolution especially during 2018, it became clear that it was time to look at the graduating criteria.”
Envoy’s graduate status was achieved after the Envoy worked with the CNCF to see if the solution met the CNCF’s criteria and its eligibility was finally put to a vote. “I think [graduation process has been] a great testament to the maturity of the project and the faith that the larger industry has in it moving forward,” Klein said. Envoy started as an incubating project. “I think, that was mostly because we already had very widespread production use at Lyft. So, I think, we were fairly confident that it had a basic level of stability that made it acceptable to other users who might want to pick it up,” Klein said. “The reason obviously they started the incubation is that Lyft at that time was the only user.
The CNCF-defined criteria include rate of adoption, longevity and whether the open source project can be relied upon to build a product, Hung said. Like every CNCF project, Envoy has “an associated maturity level.” Hung said. “So, the maturity levels are a way of saying at the graduation level that this is something that’s battle-tested and has good adoption and traction,” Hung said.
Whether a project meets the criteria or not is largely managed by the CNCF’s technical oversight committee (TOC). The TOC consists of community technical experts and evangelists who are elected and judge whether the production use case is sufficiently mature, Hung said.
Currently, Envoy has 10 or 11 maintainers from five different organizations. Previously, when Lyft first open sourced the project, “Lyft had the only people writing code, and actually, I wrote the majority of the code myself,” Klein said. “If you actually look at the data over the last couple of years — and there is a great presentation where one of the maintainers did the analysis of project’s contributions over time — Lyft’s contribution has… actually declined,” Klein said. “And then there’s a curve going out from Google, and now we have a curve going up from all types of other players. So, it really has gone through three stages: from a Lyft-only project, a Lyft-Google project and now a Lyft, Google and a whole-bunch-of-other people [project].”
The process reflects how CNCF “is looking for is a sustainable maintenance system such that, you know, if one person or one company, for example, were to pull out, it wouldn’t mean that the project would go away.” “And I think from Envoy, we have clearly achieved that,” Klein said. “I think that the project is now ultimately self-sustaining.”
In this Edition:
1:39: What is the prices you’ve [Matt] gone through in working with the CNCF on Envoy?
7:25: At the graduation stage, you have commitments from at least two organizations. How many commitments do you have now?
12:26: What is the usage of Envoy now?
17:19: When Envoy was an incubator project, was it in a sandbox at the time?
19:25: What have been some of the new projects that have joined the sandbox?
26:22: So how do you prepare the people that are coming into these projects?
The Cloud Native Computing Foundation is a sponsor of The New Stack.