We've all heard the saying, "Out of adversity comes opportunity", and nothing could be more accurate if you asked Matt Klein, the creator of Envoy.
In 2013, Matt Klein unknowingly created a bug within Twitter's previous software (TSA - Twitter Streaming Aggregator), and in early 2014 it logged 40 million Android users out of their Twitter accounts. No big deal, right?" Wrong. This one-character bug, nestled within TSA and just so happened to be in date-handling code, not only logged people out but also prevented them from logging back in. Consequently, a multitude of these 40 million Twitter users chose to uninstall the app, triggering a cascade of even greater predicaments for the tech giant.
Although, at the time, this was a significant (F-bomb) up, it became abundantly clear that TSA presented major challenges for reliability and observability, thus, becoming the precursor to Envoy.
Last month (April 2023), a captivating and enlightening documentary, "Inside Envoy: The Proxy for the Future", was released. This remarkable documentary takes an immersive deep dive into the extraordinary journey of Envoy. It chronicles how this revolutionary project has achieved immense success and solidified its position as the most invaluable open-source project in the world. With its compelling narrative and insightful storytelling, "Inside Envoy: The Proxy for the Future" comprehensively explores Envoy's transformative impact on the technological landscape. It's a must-watch for anyone eager to understand and appreciate the profound significance of Envoy's contributions to the industry.
But first, what is Envoy?
Envoy is a remarkable open-source edge and service proxy meticulously crafted for cloud-native applications, with its genesis attributed to the brilliant minds of Lyft engineers Matt Klein and Pete Morelli. This ingenious creation is a distributed, lightweight proxy written in high-performance C++ tailored to individual services and applications. Beyond its fundamental purpose, Envoy transcends into an exceptional communication conduit and a "universal data plane," purposefully architected to seamlessly integrate within expansive microservice "service mesh" architectures. Its versatile nature finds application in an array of scenarios, encompassing but not limited to:
- Empowering the dynamic interconnectivity of various microservices.
- Orchestrating intricate communication patterns within complex service architectures.
- Facilitating the realisation of large-scale service mesh deployments.
- Enabling streamlined traffic management and load balancing for optimal performance.
- Enhancing observability and fine-grained control over network traffic.
- Providing resilient and fault-tolerant communication channels.
- Amplifying security measures for comprehensive protection in distributed systems.
Envoy embodies versatility and adaptability, positioning itself as an invaluable asset in modern cloud-native applications. Its unrivalled capabilities redefine software architecture's boundaries, revolutionising the essence of how applications interact and flourish in an interconnected digital landscape. It is a popular choice for small and large organisations, and it is used by companies such as Google, Amazon, and Netflix.
Some of the key features of Envoy Proxy include:
- High performance: Envoy is a highly performant proxy that can handle high traffic volumes.
- Lightweight: Envoy is a lightweight proxy that does not add significant overhead to applications.
- Flexible configuration: Envoy can be configured in various ways to meet the needs of different applications.
- Support for a wide range of protocols: Envoy supports many protocols, including HTTPS, TCP, and UDP. It also supports HTTP/2 and gRPC for incoming and outgoing connections and is a transparent HTTP/1.1 to HTTP/2 proxy.
- Robust security features: Envoy includes several robust security features, such as TLS termination and authentication.
- Advanced load balancing features: include automatic retries, circuit breaking, global rate limiting, request shadowing, zone local load balancing, etc.
- Provides deep observability: of L7 traffic, native support for distributed tracing, and wire-level observability of MongoDB, DynamoDB, and more.
- Offers robust APIs: for dynamically managing its configuration.
The documentary tells us:
- Ride-sharing company Lyft struggled with transitioning from a monolithic architecture to microservices, leading to reliability issues.
- Lyft engineers Matt Klein and Pete Morelli joined forces to create Envoy, a service proxy or service mesh, to address microservices reliability issues.
- Envoy was designed to provide observability, fault tolerance, and other features for reliable microservices architecture.
- When Lyft tested Envoy Proxy, they were blown away by its performance and decided to use it for Istio.
- Matt Klein hoped to get at least one company like Lyft to use Envoy Proxy, and they reached out to other companies in 2016, like Airbnb, Stripe and Pinterest.
- Many companies were interested in Envoy Proxy and its features, and open-sourcing attracted even more interest from larger companies such as Microsoft and Apple.
- Envoy became popular and is now an open-source project many companies use for service-to-service communication in cloud-native environments.
Summary
Envoy has emerged as a widely embraced and influential technological marvel, garnering the support of major corporations such as Google, Apple, and Booking.com. This groundbreaking innovation has revolutionised the very foundations of software development and deployment, leaving an indelible mark on the industry. Moreover, Envoy's resounding triumph underscores the utmost significance of knowledge exchange and fosters a culture of collaboration, urging organisations to unite and share their groundbreaking ideas. Envoy is viewed as an evolutionary technology that builds on what came before rather than being revolutionary.
Watch Inside Envoy: The Proxy for the Future, the documentary
Loved the documentary and want to sink your teeth into more? Check out 8 Great Tech Documentaries For Developers.