Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Envoy project proposal #43

Merged
merged 1 commit into from Sep 13, 2017
Merged

Add Envoy project proposal #43

merged 1 commit into from Sep 13, 2017

Conversation

caniszczyk
Copy link
Contributor

@caniszczyk caniszczyk commented Aug 21, 2017

https://github.com/lyft/envoy

Also-by: Matt Klein mklein@lyft.com
Signed-off-by: Chris Aniszczyk caniszczyk@gmail.com

Also-by: Matt Klein <mklein@lyft.com>
Signed-off-by: Chris Aniszczyk <caniszczyk@gmail.com>
@caniszczyk
Copy link
Contributor Author

@caniszczyk caniszczyk commented Aug 21, 2017

The Envoy project proposal is ready for RFC @cncf/toc

@bgrant0607
Copy link
Contributor

@bgrant0607 bgrant0607 commented Aug 24, 2017

cc @louiscryan

@wmorgan
Copy link
Contributor

@wmorgan wmorgan commented Aug 25, 2017

+1 would be a great addition to the CNCF IMO

@rosskukulinski
Copy link

@rosskukulinski rosskukulinski commented Aug 25, 2017

This is fabulous! I view Envoy as an essential component of a modern cloud-native stack. Having the backing of the CNCF community will be mutually beneficial to all parties.

@louiscryan
Copy link

@louiscryan louiscryan commented Aug 25, 2017

@jaymecox-pinterest
Copy link

@jaymecox-pinterest jaymecox-pinterest commented Aug 25, 2017

+1 to adding Envoy to CNCF

@rshriram
Copy link

@rshriram rshriram commented Aug 25, 2017

+1! Finally!
In my experience working with different proxies, envoy is architecturally much more native to modern service oriented systems. Others need to be shoe horned into the data plane while Envoy is designed ground up to serve as the data plane rpc router.

@shalako
Copy link

@shalako shalako commented Aug 26, 2017

The Cloud Foundry community is looking forward to collaborating on enhancements to Envoy for our use cases. I expect a governance model as provided by CNCF should help facilitate this.

@christian-posta
Copy link

@christian-posta christian-posta commented Aug 28, 2017

+1 yay! Happy to see Envoy being considered for the CNCF. Not only is this technology valuable for next-generation microservices architectures, it fits nicely with existing CNCF technology.

@bradtopol
Copy link

@bradtopol bradtopol commented Aug 29, 2017

So this is a great writeup that motivates the value this project provides. One suggested improvement would be for the writeup to clarify the relationship between envoy and istio. See https://news.ycombinator.com/item?id=14540900 that highlights the confusion that exists on the relationship of envoy and istio: "I remember reading about the release of Envoy by Lyft maybe a month or two ago. Then I saw the release of Istio maybe a month ago. I'm having trouble reconciling the two. I read that Istio is based on Envoy. Are they mutually exclusive? Is envoy obsolete now?"

@idvoretskyi
Copy link
Member

@idvoretskyi idvoretskyi commented Aug 29, 2017

+1!

@mattklein123
Copy link
Contributor

@mattklein123 mattklein123 commented Aug 29, 2017

@bradtopol I will defer to @caniszczyk on whether to add to proposal, but this is how I would describe Envoy vs. Istio:

The service mesh architecture is composed of two pieces: the data plane and the control plane. The data plane is responsible for touching every packet that flows through the network (e.g., load balancing, buffering, rate limiting, timeouts, protocol translation, security enforcement, etc.). The control plane is responsible for configuring the data plane so that it can go about its job (e.g., creating route tables, service discovery, traffic shifting, authn/authz policy, etc.).

Envoy is a "universal data plane." A rich set of configuration APIs allow it to be used in a large variety of deployments that may range from bare metal to FaaS. This inherent flexibility comes with the cost of complexity; Envoy by design is meant to to be useful in a lot of scenarios. In order to do anything useful, Envoy must be coupled with a control plane. Control plane complexity can range from human built static configs, to a config generator using salt/python/jinja, to an extremely complex system using all of the Envoy management APIs. This again depends on the needs of the deployment. In summary, without some control plane, human or otherwise, Envoy is not useful.

Istio is an advanced control plane for service mesh architectures that aims to create a more seamless developer and operator experience. Istio requires a data plane to function. The project has chosen Envoy as its reference proxy, however other vendors have already demonstrated the ability to plug their proxy in (e.g., Bouyant and NGINX). By focusing entirely on the control plane, Istio achieves the benefit of a clear separation of concerns, and can focus on creating an end-user experience that is more magical, at the expense of not being as flexible (Istio has initially focused on k8s, though ultimately it will support other deployment options as well).

Ultimately, Envoy and Istio are related, but not the same thing. For various reasons, Istio has chosen Envoy as its reference proxy. However, Envoy will see wide deployment outside of Istio, and other data planes may see deployment with Istio without Envoy.

@countspongebob
Copy link

@countspongebob countspongebob commented Sep 1, 2017

Non-binding +1 as show of community support.

@emmanuel
Copy link

@emmanuel emmanuel commented Sep 1, 2017

Non-binding +1.

I'm excited to watch (and help) the Envoy project continue its march of success for years to come!

@andyday
Copy link

@andyday andyday commented Sep 1, 2017

Non-binding +1

@josephjacks
Copy link

@josephjacks josephjacks commented Sep 1, 2017

+1! (non-binding).

@bgrant0607
Copy link
Contributor

@bgrant0607 bgrant0607 commented Sep 1, 2017

Thanks much for the clarification @mattklein123.

@debianmaster
Copy link

@debianmaster debianmaster commented Sep 1, 2017

+1 (non-binding)

1 similar comment
@ar4mirez
Copy link

@ar4mirez ar4mirez commented Sep 1, 2017

+1 (non-binding)

@caniszczyk
Copy link
Contributor Author

@caniszczyk caniszczyk commented Sep 1, 2017

The vote has been formally called on the CNCF TOC mailing list:
https://lists.cncf.io/pipermail/cncf-toc/2017-September/001107.html

@archyufa
Copy link

@archyufa archyufa commented Sep 2, 2017

+1 to adding Envoy to CNCF!

@vongosling
Copy link

@vongosling vongosling commented Sep 5, 2017

+1 (non-binding)

2 similar comments
@arun-gupta
Copy link

@arun-gupta arun-gupta commented Sep 5, 2017

+1 (non-binding)

@ngehani
Copy link

@ngehani ngehani commented Sep 7, 2017

+1 (non-binding)

@caniszczyk
Copy link
Contributor Author

@caniszczyk caniszczyk commented Sep 13, 2017

Welcome Envoy as our 11th project in CNCF, the @cncf/toc has accepted the project :)

https://lists.cncf.io/pipermail/cncf-toc/2017-September/001202.html

@caniszczyk caniszczyk closed this Sep 13, 2017
@caniszczyk caniszczyk reopened this Sep 13, 2017
@caniszczyk caniszczyk merged commit 7cf6bf2 into master Sep 13, 2017
1 check was pending
@caniszczyk caniszczyk deleted the add-envoy-proposal branch Sep 13, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet