BT

InfoQ Homepage Podcasts Matt Klein on Envoy Mobile, Platform Complexity, and a Universal Data Plane API for Proxies

Matt Klein on Envoy Mobile, Platform Complexity, and a Universal Data Plane API for Proxies

Bookmarks

The Envoy Proxy has taken the cloud native computing platform world by storm. Practically every large cloud vendor has integrated Envoy into their stack, and many end user organisations are leveraging this proxy within their platform, either at the edge or within a service mesh. 

In this podcast, we sit down with Matt Klein, software plumber at Lyft and creator of Envoy, and discuss topics including the continued evolution of the popular proxy, the strength of the open source Envoy community, and the value of creating and implementing standards throughout the technology stack. We also explore the larger topic of cloud natives platforms, and discuss the tradeoffs between using a simple and opinionated platform against something that is bespoke and more configurable, but also more complex. Related to this, Matt shares his thoughts on when and how to make the decision within an organisation to embrace technology like container orchestration and service meshes.

Finally, we explore the creation of the new Envoy Mobile project. The goal of this project is to expand the capabilities provided by Envoy all the way out to mobile devices powered by Android and iOS. For example, most current user-focused traffic shifting that is conducted at the edge is implemented with coarse-grained approaches via by BGP and DNS, and using something like Envoy within mobile app networking stacks should allow finer-grained control.

Key Takeaways

  •  
  • The Envoy Proxy community has grown from strength-to-strength over the last year, from the inaugural EnvoyCon that ran alongside KubeCon NA 2018, to the increasing number of code contributions from engineers working across the industry
  • Attempting to create a community-driven “universal proxy data plane” with clearly defined APIs, like Envoy’s XDS API, has allowed vendors to collaborate on a shared abstraction while still allowing room for “differentiated success” to be built on top of this standard
  • Google’s gRPC framework is adopting the Envoy XDS APIs, as this will allow both Envoy and gRPC instances to be operated via a single control plane, for example, Google Cloud Platform’s Traffic Director service.
  • There is a tendency within the software development industry to fetishise architectures that are designed and implemented by the unicorn tech companies, but not every organisation operates at this scale.
  • However, there has also been industry pushback against the complexity that modern platform components like container orchestration and service meshes can introduce to a technology stack. Using a platform within these components provides the best return on investment when an organisation’s software architecture and development teams have reached a certain size.
  • Function-as-a-Service (Faas)-type platforms will most likely be how engineers will interact with software in the future. Business-focused developers often do not want to interact with the platform plumbing
  • Envoy Mobile is building on prior art, and aims to expand the capabilities provided by Envoy all the way out to mobile devices using Android and iOS. Most current end user traffic shifting is implemented with coarse-grained approaches via BGP and DNS, and using something like Envoy instead will allow finer-grained control.
  • Using Envoy Mobile in combination with Protocol Buffers 3, which supports annotations on APIs, can facilitate working with APIs offline, configuring caching, and handling poor networking conditions. One of the motivations for this work is that small increases in application response times can lead to better business outcomes.
  •  

 

The Envoy Proxy has taken the cloud native computing platform world by storm. Practically every large cloud vendor has integrated Envoy into their stack, and many end user organisations are leveraging this proxy within their platform, too. There is now a CNCF working group established that is expanding on the initial Envoy data plane XDS APIs, with the goal of creating a universal data plane for proxy technology. Organisations like Google are also looking to add XDS API support into their gRPC technology, as this would allow a single control plane -- something like their TrafficDirector product -- to manage both Envoy and gRPC communication. In addition, with the early release of Envoy Mobile, the technology is vying to add extra functionality and standardisation within mobile app networking stacks, too. 

The development of all of this technology is interesting, but arguably it is adding extra complexity to the average development stack. Most business-focused developers simply want to write code that provides end user value, and they don’t want to spend large amounts of time configuring networking libraries, container orchestrators, or service meshes. As a technology leader within an organisation, a key responsibility is choosing appropriate technologies, and constantly balancing organisation size and goals against the use of opinionated platforms or the choice of adding new technologies and configuration complexity.

Hello, I’m Daniel Bryant co-host of the InfoQ podcast, news manager at InfoQ, and product architect at Datawire, and I recently had the pleasure of sitting down with Matt Klein, software plumber at Lyft and creator of the Envoy Proxy, at the QCon New York conference. Alongside the Lyft team and many other organisations, Matt has been one of the driving forces behind the success of Envoy. He has previously worked on networking technologies at companies like AWS and Twitter, and he has broad software delivery experience. You can often find him sharing ideas about the current and future trends within software development on Twitter, and although I don’t think he would embrace this label, he is often seen as a thought leader with the cloud native computing space.

In this podcast, we discuss the evolution of the Envoy Proxy, and explore how Matt has deliberately attempted to foster a strong open source community that focuses on making technology-first decisions. Matt also shares his thoughts on the value of creating and implementing standards throughout the technology stack, and we discuss the evolution of the Envoy XDS APIs, and how multiple competing vendors are working together to build a universal data plane. 

We also touch on the increasing configuration complexity being exposed by cloud native platforms, and discuss when and how to make the decision of embracing things like container orchestration and service mesh technology. In relation to this, I particularly enjoyed learning about the heuristics Matt uses to help guide whether it is time for a software delivery team to tradeoff the simplicity of an opinionated platform against the extra configurability, and extra complexity, provided by a more bespoke platform.

Finally, we explore the creation of Envoy Mobile, and the goal of this project is to expand the capabilities provided by Envoy all the way to mobile devices powered by Android and iOS. For example, most current user traffic shifting conducted at the edge is implemented with coarse-grained approaches provided by BGP and DNS, and using something like Envoy within mobile app networking stacks should allow finer-grained control.

 

The following podcast was recorded live at QCon New York, and so apologies for any audio issues, and please excuse the background noise and a couple of folks accidentally entering the room at the end of the podcast. Every QCon is full of speakers and attendees looking to find quiet areas to discuss ideas that they have heard at the conference, and therefore it can be slightly challenging to find a completely isolated space at times. Hopefully this won’t detract from your listening experience. I always enjoy chatting to Matt, and I enjoy picking his brains on everything from the business side of engineering, current software delivery trends, and low-level coding details.

About QCon

QCon is a practitioner-driven conference designed for technical team leads, architects, and project managers who influence software innovation in their teams. QCon takes place 8 times per year in London, New York, San Francisco, Sao Paolo, Beijing, Guangzhou & Shanghai. QCon San Francisco is at its 13th Edition and will take place Nov 11-15, 2019. 140+ expert practitioner speakers, 1600+ attendees and 18 tracks will cover topics driving the evolution of software development today. Visit qconsf.com to get more details.

More about our podcasts

You can keep up-to-date with the podcasts via our RSS Feed, and they are available via SoundCloud, Apple Podcasts, Spotify, Overcast and the Google Podcast. From this page you also have access to our recorded show notes. They all have clickable links that will take you directly to that part of the audio.

Previous podcasts

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.