Building and maintaining complex distributed systems
June 19–20, 2017: Training
June 20–22, 2017: Tutorials & Conference
San Jose, CA

Lyft's Envoy: Experiences operating a large service mesh

Matt Klein (Lyft)
1:15pm–1:55pm Wednesday, June 21, 2017
Level: Intermediate
Average rating: ****.
(4.33, 3 ratings)

Who is this presentation for?

  • Software engineers, DevOps engineers, and network engineers

Prerequisite knowledge

  • A basic understanding of SoA concepts (services, communication protocols, deployment, etc.), HTTP and HTTP/2, and computer networking (TCP, TLS, etc.)

What you'll learn

  • Understand the difficulties in running in running modern distributed SoA architectures and the "service mesh" concept
  • Learn how Envoy helps solve common difficulties running a modern distributed SoA architecture using a service mesh

Description

Over the past several years, Lyft has migrated from a monolith to a sophisticated service mesh powered by Envoy, a new high-performance open source proxy that aims to make the network transparent to applications. Envoy’s out-of-process architecture allows it to be used alongside any language or runtime.

At its core, Envoy is an L4 proxy with a pluggable filter chain model. It also includes a full HTTP stack with a parallel pluggable L7 filter chain. This programming model allows Envoy to be used for a variety of different scenarios, including HTTP/2 gRPC proxying and MongoDB filtering and rate limiting. Envoy provides advanced load balancing support, including eventually consistent service discovery, circuit breakers, retries, and zone-aware load balancing. Envoy also has best-in-class observability, using statistics, logging, and distributed tracing.

Matt Klein explains why Lyft developed Envoy, focusing primarily on the operational agility that the burgeoning service mesh SoA paradigm provides, and shares lessons learned along the way.

Photo of Matt Klein

Matt Klein

Lyft

Matt Klein is a software engineer at Lyft and the architect of Envoy. Matt has been working on operating systems, virtualization, distributed systems, and networking and making systems easy to operate for 15 years across a variety of companies. Some highlights include leading the development of Twitter’s C++ L7 edge proxy and working on high-performance computing and networking in Amazon’s EC2.