Kubernetes and Cloud Native Associate - KCNA
Container Orchestration Service Mesh
Envoy
Envoy is one of the most widely used proxies in the service mesh ecosystem. In this article, we dive into what Envoy is, why it has gained popularity among developers, and how it plays a crucial role in modern, service-oriented systems.
What Is a Proxy and Why Use Envoy?
A proxy serves as an intermediary between a user and an application. Consider a scenario where an application not only handles core business logic but also takes care of essential functions like TLS encryption, authentication, and retrying failed requests. Implementing these features inside the application can divert focus away from its primary purpose. By delegating these responsibilities to a dedicated proxy service like Envoy, developers can concentrate on building unique application features.
When a user sends a request, the proxy intercepts it and forwards it to the appropriate destination. Envoy is an open-source proxy tailored for modern, distributed systems. Originally developed at Lyft in 2015 to tackle challenges in microservices management, Envoy matured quickly. In 2017, it joined the Cloud Native Computing Foundation (CNCF), and by 2018, it had evolved into a robust solution supported by an active community.
Envoy in a Containerized Ecosystem
Envoy operates both as a high-performance proxy and as a communication bus with advanced functionalities. Typically deployed as a sidecar container, Envoy ensures that all traffic entering or leaving a pod is routed through it, thereby standardizing and securing inter-service communication. This sidecar pattern is central to many service mesh implementations.
Offloading Critical Tasks from Your Application
Using Envoy allows developers to offload common tasks that are essential for modern applications, such as:
- Traffic management
- Circuit breaking
- Load balancing
- Security enforcement
By moving these functions out of the application, Envoy simplifies both development and operations, making it especially well-suited for distributed systems and microservices architectures where managing and securing inter-service communication is paramount.
Note
For a deeper understanding of how Envoy integrates within service mesh architectures, refer to the Istio Service Mesh documentation.
In the later sections of this article, we will explore Envoy's critical role within the core architecture of the Istio Service Mesh and demonstrate how it facilitates secure, reliable service-to-service communication.
Watch Video
Watch video content