{"id":42950,"date":"2024-02-01T12:35:58","date_gmt":"2024-02-01T12:35:58","guid":{"rendered":"https:\/\/www.devopsschool.com\/blog\/?p=42950"},"modified":"2024-02-01T12:35:59","modified_gmt":"2024-02-01T12:35:59","slug":"what-is-envoy-and-use-cases-of-envoy","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/what-is-envoy-and-use-cases-of-envoy\/","title":{"rendered":"What is Envoy and use cases of Envoy?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is Envoy?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"331\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-29-1024x331.png\" alt=\"\" class=\"wp-image-42967\" style=\"width:705px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-29-1024x331.png 1024w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-29-300x97.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-29-768x248.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-29.png 1172w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><strong><em>What is Envoy<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Envoy is an open-source, high-performance <strong>service proxy<\/strong> designed for cloud-native and microservices architectures. It acts as a sidecar proxy, running alongside your applications, and provides features like:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load balancing:<\/strong> Distributes traffic efficiently across your microservices.<\/li>\n\n\n\n<li><strong>Traffic management:<\/strong> Routes requests based on rules, enabling features like A\/B testing and canary deployments.<\/li>\n\n\n\n<li><strong>Security:<\/strong> Implements authentication, authorization, and encryption to protect your services.<\/li>\n\n\n\n<li><strong>Observability:<\/strong> Collects metrics and traces for monitoring and troubleshooting.<\/li>\n\n\n\n<li><strong>Resilience:<\/strong> Provides retries, circuit breakers, and other features to handle failures gracefully.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Top 10 use cases of Envoy?<\/h2>\n\n\n\n<p>Top 10 Use Cases of Envoy:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>API Gateway:<\/strong> Securely manage traffic to your APIs with authentication, rate limiting, and other features.<\/li>\n\n\n\n<li><strong>Service Mesh:<\/strong> Implement a service mesh for communication between microservices with Envoy as the data plane.<\/li>\n\n\n\n<li><strong>Traffic Management:<\/strong> Control and optimize traffic flow with routing rules, retries, and load balancing.<\/li>\n\n\n\n<li><strong>Security and Encryption:<\/strong> Enhance security by enforcing authentication, authorization, and encrypting communication.<\/li>\n\n\n\n<li><strong>Observability and Monitoring:<\/strong> Gain insights into service performance with metrics and traces collected by Envoy.<\/li>\n\n\n\n<li><strong>Canary Deployments and A\/B Testing:<\/strong> Safely roll out new versions of your application with controlled traffic routing.<\/li>\n\n\n\n<li><strong>Fault Tolerance:<\/strong> Improve service resilience by handling failures gracefully with retries and circuit breakers.<\/li>\n\n\n\n<li><strong>Microservice Communication:<\/strong> Facilitate communication between microservices across different languages and platforms.<\/li>\n\n\n\n<li><strong>Cloud-Native Deployments:<\/strong> Integrates seamlessly with cloud platforms like Kubernetes and Istio.<\/li>\n\n\n\n<li><strong>Hybrid and Multi-Cloud Environments:<\/strong> Manage services across different environments with consistent security and routing.<\/li>\n<\/ol>\n\n\n\n<p><strong>Key Benefits of Using Envoy:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>High Performance:<\/strong> Handles high traffic volumes with low latency.<\/li>\n\n\n\n<li><strong>Platform Agnostic:<\/strong> Runs on various platforms and supports multiple programming languages.<\/li>\n\n\n\n<li><strong>Modular Architecture:<\/strong> Extensible with plugins for additional functionalities.<\/li>\n<\/ul>\n\n\n\n<p>Remember, these are just a few examples, and the specific use cases will vary depending on your needs and architecture. Envoy offers a versatile platform that can be adapted to various scenarios, making it a popular choice for managing traffic and securing microservices in modern applications.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What are the feature of Envoy?<\/h2>\n\n\n\n<p>Envoy packs a powerful punch with a range of features designed to empower your service mesh and improve your microservices architecture. Here&#8217;s a breakdown of some key capabilities:<\/p>\n\n\n\n<p><strong>Traffic Management:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load Balancing:<\/strong> Distribute traffic efficiently across your services based on various criteria like weighted round robin, least active, or dynamic weights.<\/li>\n\n\n\n<li><strong>Routing:<\/strong> Route requests based on paths, headers, methods, and other attributes for fine-grained control.<\/li>\n\n\n\n<li><strong>Traffic Splitting:<\/strong> Implement A\/B testing and canary deployments by gradually rolling out new versions to a portion of traffic.<\/li>\n\n\n\n<li><strong>Fault Tolerance:<\/strong> Handle failures gracefully with features like retries, circuit breakers, and timeouts.<\/li>\n<\/ul>\n\n\n\n<p><strong>Security:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Authentication and Authorization:<\/strong> Enforce robust authentication and authorization methods like mTLS, JWTs, and RBAC.<\/li>\n\n\n\n<li><strong>Encryption:<\/strong> Encrypt communication between services and clients for secure data transmission.<\/li>\n\n\n\n<li><strong>TLS Termination:<\/strong> Offload TLS processing from your applications, improving performance and scalability.<\/li>\n<\/ul>\n\n\n\n<p><strong>Observability:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Metrics and Tracing:<\/strong> Collect detailed metrics and distributed tracing data for performance monitoring and troubleshooting.<\/li>\n\n\n\n<li><strong>Integration with Prometheus and Grafana:<\/strong> Seamlessly integrate with popular observability tools for powerful data visualization.<\/li>\n<\/ul>\n\n\n\n<p><strong>Resilience:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Health Checks:<\/strong> Monitor service health with active and passive health checks to identify and react to issues.<\/li>\n\n\n\n<li><strong>Retries and Fallbacks:<\/strong> Automatically retry failed requests or route them to healthy backups for improved availability.<\/li>\n\n\n\n<li><strong>Circuit Breakers:<\/strong> Prevent service overload by limiting requests and gracefully handling failures.<\/li>\n<\/ul>\n\n\n\n<p><strong>Additional Features:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plugin Ecosystem:<\/strong> Extend Envoy&#8217;s functionality with various plugins for advanced features like gRPC routing, rate limiting, and more.<\/li>\n\n\n\n<li><strong>Dynamic Configuration:<\/strong> Update Envoy configuration on the fly without restarts, ensuring flexibility and adaptability.<\/li>\n\n\n\n<li><strong>Platform Agnostic:<\/strong> Runs on various platforms and supports multiple programming languages, offering broad compatibility.<\/li>\n\n\n\n<li><strong>Open Source and Community Driven:<\/strong> Benefits from active development and contributions, ensuring continuous improvement.<\/li>\n<\/ul>\n\n\n\n<p>The specific features you utilize will depend on your specific needs and the version of Envoy you&#8217;re using. However, this overview provides a good starting point for understanding the wide range of capabilities that Envoy offers to enhance your cloud-native infrastructure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How Envoy works and Architecture?<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"486\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-30.png\" alt=\"\" class=\"wp-image-42968\" style=\"width:676px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-30.png 950w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-30-300x153.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-30-768x393.png 768w\" sizes=\"auto, (max-width: 950px) 100vw, 950px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Envoy works and Architecture<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Envoy&#8217;s internal workings and architecture are designed for high performance, flexibility, and modularity. Here&#8217;s a breakdown of the key components and how they interact:<\/p>\n\n\n\n<p><strong>Data Plane:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP Server:<\/strong> Receives incoming requests and acts as the entry point for all traffic.<\/li>\n\n\n\n<li><strong>Network Filters:<\/strong> These modular components perform specific tasks like authentication, load balancing, routing, and more. Filters are chained together in a specific order to achieve desired behavior.<\/li>\n\n\n\n<li><strong>Upstream Connection Manager:<\/strong> Manages connections to backend services based on routing decisions and health checks.<\/li>\n\n\n\n<li><strong>Envoy Static Configuration:<\/strong> Defines settings for filters, routing rules, and upstream connections.<\/li>\n<\/ul>\n\n\n\n<p><strong>Control Plane (Optional):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>xDS API Server (Optional):<\/strong> Dynamically configures Envoy instances using the xDS protocol. This enables features like service discovery and dynamic routing updates.<\/li>\n\n\n\n<li><strong>Pilot (Optional):<\/strong> Part of the Istio service mesh, this component manages Envoy configuration centrally.<\/li>\n<\/ul>\n\n\n\n<p><strong>Interaction and Flow:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Client sends a request to the Envoy data plane (HTTP server).<\/li>\n\n\n\n<li>Network filters intercept the request and perform their respective tasks (e.g., authentication, transformation).<\/li>\n\n\n\n<li>Based on routing rules and upstream configuration, Envoy forwards the request to the appropriate backend service.<\/li>\n\n\n\n<li>The backend service processes the request and sends a response back to Envoy.<\/li>\n\n\n\n<li>Network filters can again process the response before sending it back to the client.<\/li>\n<\/ol>\n\n\n\n<p><strong>Key Architectural Concepts:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Data Plane vs. Control Plane Separation:<\/strong> Provides flexibility and improved manageability.<\/li>\n\n\n\n<li><strong>Network Filter Architecture:<\/strong> Enables modularity and extension with custom filters.<\/li>\n\n\n\n<li><strong>Dynamic Configuration:<\/strong> Allows runtime updates to Envoy behavior without restarts.<\/li>\n\n\n\n<li><strong>xDS Protocol:<\/strong> Enables communication between control plane and data plane for configuration management.<\/li>\n\n\n\n<li><strong>API-driven Management:<\/strong> You can manage Envoy using configuration files or the xDS API.<\/li>\n<\/ul>\n\n\n\n<p>Understanding these elements and their interactions will give you a solid foundation for appreciating how Envoy works and how it can be utilized in your service mesh and microservices architecture.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to Install Envoy it?<\/h2>\n\n\n\n<p>There are several ways to install Envoy, depending on your environment and preferences. Here are some of the most common methods:<\/p>\n\n\n\n<p><strong>1. Pre-built Binaries:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This is the easiest and most common approach for basic use cases.<\/li>\n\n\n\n<li>Visit the official Envoy site download page.<\/li>\n\n\n\n<li>Choose the version and operating system that matches your needs.<\/li>\n\n\n\n<li>Download the appropriate <code class=\"\">tar.gz<\/code> or <code class=\"\">zip<\/code> file.<\/li>\n\n\n\n<li>Extract the downloaded file to a favored location.<\/li>\n\n\n\n<li>The <code class=\"\">envoy<\/code> binary will be inside the extracted folder.<\/li>\n<\/ul>\n\n\n\n<p><strong>2. Build from Source:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>This option gives you more control over the build process but requires compiling the code yourself.<\/li>\n\n\n\n<li>Follow the instructions in the Envoy GitHub repository README file: https:\/\/github.com\/envoyproxy\/envoy<\/li>\n<\/ul>\n\n\n\n<p><strong>3. Package Managers:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Many Linux distributions provide pre-built Envoy packages through their package managers (e.g., <code class=\"\">apt<\/code>, <code class=\"\">yum<\/code>, <code class=\"\">dnf<\/code>).<\/li>\n\n\n\n<li>Consult your distribution&#8217;s documentation for specific instructions and package names.<\/li>\n<\/ul>\n\n\n\n<p><strong>4. Containerized Deployment:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Deploy Envoy as a Docker container for a portable and isolated environment.<\/li>\n\n\n\n<li>Use the official Envoy Docker image from Docker Hub<\/li>\n<\/ul>\n\n\n\n<p><strong>5. Cloud-based Deployments:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Most major cloud providers offer managed Envoy services, enabling quick deployment and management in your cloud environment (e.g., AWS App Mesh, Google Cloud Mesh).<\/li>\n<\/ul>\n\n\n\n<p><strong>Extra Considerations:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Choose the installation method that best suits your needs and technical expertise.<\/li>\n\n\n\n<li>For production deployments, consider using a configuration management tool (e.g., Ansible, Chef) to automate Envoy management.<\/li>\n<\/ul>\n\n\n\n<p>Remember, the specific installation instructions may vary depending on your chosen method and environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Basic Tutorials of Envoy: Getting Started<\/h2>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"540\" src=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-31.png\" alt=\"\" class=\"wp-image-42969\" style=\"width:663px;height:auto\" srcset=\"https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-31.png 960w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-31-300x169.png 300w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-31-768x432.png 768w, https:\/\/www.devopsschool.com\/blog\/wp-content\/uploads\/2024\/02\/image-31-355x199.png 355w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Basic Tutorials of Envoy<\/em><\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Envoy is a powerful service proxy used for traffic management, load balancing, security, and observability in microservice architectures. Let&#8217;s have a look at some step-by-step tutorials to get you started:<\/p>\n\n\n\n<p><strong>Prerequisites:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Basic understanding of Docker and command-line interface (CLI)<\/li>\n\n\n\n<li>Docker installed on your system<\/li>\n<\/ul>\n\n\n\n<p><strong>1. Installation:<\/strong><\/p>\n\n\n\n<p>There are several ways to install Envoy, but here are two common approaches:<\/p>\n\n\n\n<p><strong>a) Using Envoy Docker Image:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Pull the latest Envoy Docker image: <code class=\"\">docker pull envoyproxy\/envoy:latest<\/code><\/li>\n\n\n\n<li>Run the container: <code class=\"\">docker run -d --name my-envoy -p 15000:15000 envoyproxy\/envoy:latest<\/code> This starts Envoy in standalone mode, listening on port 15000.<\/li>\n<\/ol>\n\n\n\n<p><strong>b) Using <code>func-e<\/code> CLI (Recommended):<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Install <code class=\"\">func-e<\/code>: <code class=\"\">curl -L https:\/\/func-e.io\/install.sh | bash -s -- -b .<\/code><\/li>\n\n\n\n<li>Download Envoy configuration file: <code class=\"\">func-e get envoy --version latest --distro debian11 --arch amd64 &gt; envoy.yaml<\/code><\/li>\n\n\n\n<li>Start Envoy with the downloaded configuration: <code class=\"\">func-e run envoy envoy.yaml<\/code><\/li>\n<\/ol>\n\n\n\n<p><strong>2. Basic Configuration:<\/strong><\/p>\n\n\n\n<p>The Envoy configuration file (<code class=\"\">envoy.yaml<\/code>) defines how Envoy operates. Here&#8217;s a basic example:<\/p>\n\n\n\n<p>YAML<\/p>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"CSS\" data-shcb-language-slug=\"css\"><span><code class=\"hljs language-css\"><span class=\"hljs-selector-tag\">static_resources<\/span>:\n  <span class=\"hljs-selector-tag\">listeners<\/span>:\n  <span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">name<\/span>: <span class=\"hljs-selector-tag\">listener_0<\/span>\n    <span class=\"hljs-selector-tag\">address<\/span>:\n      <span class=\"hljs-selector-tag\">socket_address<\/span>:\n        <span class=\"hljs-selector-tag\">address<\/span>: 0<span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span><span class=\"hljs-selector-class\">.0<\/span>\n        <span class=\"hljs-selector-tag\">port_value<\/span>: 15000\n  <span class=\"hljs-selector-tag\">clusters<\/span>:\n  <span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">name<\/span>: <span class=\"hljs-selector-tag\">cluster_0<\/span>\n    <span class=\"hljs-selector-tag\">connect_timeout<\/span>: 0<span class=\"hljs-selector-class\">.25s<\/span>\n    <span class=\"hljs-selector-tag\">lb_policy<\/span>: <span class=\"hljs-selector-tag\">ROUND_ROBIN<\/span>\n    <span class=\"hljs-selector-tag\">load_assignment<\/span>:\n      <span class=\"hljs-selector-tag\">cluster_name<\/span>: <span class=\"hljs-selector-tag\">cluster_0<\/span>\n      <span class=\"hljs-selector-tag\">endpoints<\/span>:\n      <span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">lb_endpoints<\/span>:\n        <span class=\"hljs-selector-tag\">-<\/span> <span class=\"hljs-selector-tag\">endpoint<\/span>:\n            <span class=\"hljs-selector-tag\">endpoint<\/span>:\n              <span class=\"hljs-selector-tag\">address<\/span>:\n                <span class=\"hljs-selector-tag\">socket_address<\/span>:\n                  <span class=\"hljs-selector-tag\">address<\/span>: <span class=\"hljs-selector-tag\">your-service-address<\/span>\n                  <span class=\"hljs-selector-tag\">port_value<\/span>: 80\n<span class=\"hljs-selector-tag\">admin<\/span>:\n  <span class=\"hljs-selector-tag\">access_log_service<\/span>:\n    <span class=\"hljs-selector-tag\">grpc_server<\/span>:\n      <span class=\"hljs-selector-tag\">envoy_grpc<\/span>:\n        <span class=\"hljs-selector-tag\">cluster_name<\/span>: <span class=\"hljs-selector-tag\">admin<\/span>\n<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">CSS<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">css<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>This configuration defines a listener on port 15000 and routes traffic to your service running at <code class=\"\">your-service-address:80<\/code>.<\/p>\n\n\n\n<p><strong>3. Testing:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Send an HTTP request to <code class=\"\">http:\/\/localhost:15000\/<\/code> (replacing the address with your actual setup).<\/li>\n\n\n\n<li>If everything is configured correctly, you should receive a response from your backend service.<\/li>\n<\/ol>\n\n\n\n<p><strong>4. Advanced Tutorials:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Load Balancing:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Basic: Configure multiple services in your <code class=\"\">cluster<\/code> and use <code class=\"\">ROUND_ROBIN<\/code> policy.<\/li>\n\n\n\n<li>Advanced: Explore weighted load balancing, active health checks, and outlier detection.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Rate Limiting:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Define rate limits for specific paths or services using Envoy filters.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Authentication &amp; Authorization:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Implement mTLS authentication between Envoy and your services.<\/li>\n\n\n\n<li>Enforce authorization rules based on JWT tokens or other mechanisms.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Tips:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use tools like <code class=\"\">envoyctl<\/code> to manage and diagnose Envoy instances.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>These tutorials provide a basic introduction to Envoy.<\/li>\n\n\n\n<li>It&#8217;s crucial to understand your specific needs and environment before using Envoy in production.<\/li>\n\n\n\n<li>Secure your Envoy deployment with proper authentication, authorization, and access control measures.<\/li>\n<\/ul>\n\n\n\n<p>By following these step-by-step tutorials and exploring the resources provided, you can gain a solid foundation for using Envoy to manage and secure your microservice interactions.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is Envoy? Envoy is an open-source, high-performance service proxy designed for cloud-native and microservices architectures. It acts as a sidecar proxy, running alongside your applications, and provides features like:&#8230; <\/p>\n","protected":false},"author":41,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[2],"tags":[],"class_list":["post-42950","post","type-post","status-publish","format-standard","hentry","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=42950"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42950\/revisions"}],"predecessor-version":[{"id":42970,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/42950\/revisions\/42970"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=42950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=42950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=42950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}