<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Concepts on Envoy Gateway</title><link>/v1.5/concepts/</link><description>Recent content in Concepts on Envoy Gateway</description><generator>Hugo</generator><language>en</language><atom:link href="/v1.5/concepts/index.xml" rel="self" type="application/rss+xml"/><item><title>The Gateway API</title><link>/v1.5/concepts/gateway-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/gateway-api/</guid><description>&lt;h2 id="before-you-begin"&gt;Before You Begin&lt;a class="td-heading-self-link" href="#before-you-begin" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;You may want to be familiar with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gateway-api.sigs.k8s.io/"&gt;Kubernetes Gateway API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://kubernetes.io/docs/concepts/services-networking/ingress/"&gt;Kubernetes Ingress&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;The Gateway API is a Kubernetes API designed to provide a consistent, expressive, and extensible method for managing network traffic into and within a Kubernetes cluster, compared to the legacy Ingress API. It introduces core resources such as &lt;code&gt;GatewayClass&lt;/code&gt; and &lt;code&gt;Gateway&lt;/code&gt; and various route types like &lt;code&gt;HTTPRoute&lt;/code&gt; and &lt;code&gt;TLSRoute&lt;/code&gt;, which allow you to define how traffic is routed, secured, and exposed.&lt;/p&gt;</description></item><item><title>API Gateways</title><link>/v1.5/concepts/api-gateways/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/api-gateways/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;An API gateway is a centralized entry point for managing, securing, and routing requests to backend services. It handles cross-cutting concerns, like authentication, rate limiting, and protocol translation, so individual services don’t have to. Decoupling clients from internal systems simplifies scaling, enforces consistency, and reduces redundancy.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use an API Gateway to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Avoid duplicating logic across microservices.&lt;/li&gt;
&lt;li&gt;Create a central point of control for access, monitoring, and traffic rules.&lt;/li&gt;
&lt;li&gt;Expose internal services to the public internet.&lt;/li&gt;
&lt;li&gt;Provide protocol support for HTTP, gRPC, or TLS.&lt;/li&gt;
&lt;li&gt;Enforce policies and see traffic metrics at the edge.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="api-gateways-in-relation-to-envoy-gateway"&gt;API Gateways in relation to Envoy Gateway&lt;a class="td-heading-self-link" href="#api-gateways-in-relation-to-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Under the hood, Envoy Proxy is a powerful, production-grade proxy that supports many of the capabilities you&amp;rsquo;d expect from an API Gateway, like traffic routing, retries, TLS termination, observability, and more. However, configuring Envoy directly can be complex and verbose.&lt;/p&gt;</description></item><item><title>Proxy</title><link>/v1.5/concepts/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/proxy/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;A proxy server is an intermediary between a client (like a web browser) and another server (like an API server).&lt;/strong&gt; When the client makes a request, the proxy forwards it to the destination server, receives the response, and then sends it back to the client.&lt;/p&gt;
&lt;p&gt;Proxies are used to enhance security, manage traffic, anonymize user activity, or optimize performance through caching and load balancing features. In cloud environments, they often handle critical tasks such as request routing, TLS termination, authentication, and traffic shaping.&lt;/p&gt;</description></item><item><title>Load Balancing</title><link>/v1.5/concepts/load-balancing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/load-balancing/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Load balancing distributes incoming requests across multiple backend services to improve availability, responsiveness, and scalability. Instead of directing all traffic to a single backend, which can cause slowdowns or outages, load balancing spreads the load across multiple instances, helping your applications stay fast and reliable under pressure.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Use load balancing to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Handle high traffic by distributing it across multiple service instances&lt;/li&gt;
&lt;li&gt;Keep services available even if one or more backends go down&lt;/li&gt;
&lt;li&gt;Improve response time by routing to less busy or closer backends&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="load-balancing-in-envoy-gateway"&gt;Load Balancing in Envoy Gateway&lt;a class="td-heading-self-link" href="#load-balancing-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports several load balancing strategies that determine how traffic is distributed across backend services. These strategies are configured using the &lt;code&gt;BackendTrafficPolicy&lt;/code&gt; resource and can be applied to &lt;code&gt;Gateway&lt;/code&gt;, &lt;code&gt;HTTPRoute&lt;/code&gt;, or &lt;code&gt;GRPCRoute&lt;/code&gt; resources either by directly referencing them using the targetRefs field or by dynamically selecting them using the targetSelectors field, which matches resources based on Kubernetes labels.&lt;/p&gt;</description></item><item><title>Rate Limiting</title><link>/v1.5/concepts/rate-limiting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/v1.5/concepts/rate-limiting/</guid><description>&lt;h2 id="overview"&gt;Overview&lt;a class="td-heading-self-link" href="#overview" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is a technique for controlling the number of incoming requests over a defined period. It can be used to control usage for business purposes, like agreed usage quotas, or to ensure the stability of a system, preventing overload and protecting the system from, e.g., Denial of Service attacks.&lt;/p&gt;



&lt;h2 id="use-cases"&gt;Use Cases&lt;a class="td-heading-self-link" href="#use-cases" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Rate limiting is commonly used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prevent Overload:&lt;/strong&gt; Protect internal systems like databases from excessive traffic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enhance Security:&lt;/strong&gt; Block or limit abusive behavior such as brute-force attempts or DDoS attacks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ensure Fair Usage:&lt;/strong&gt; Enforce quotas and prevent resource hogging by individual clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement Entitlements:&lt;/strong&gt; Define API usage limits based on user identity or role.&lt;/li&gt;
&lt;/ul&gt;



&lt;h2 id="rate-limiting-in-envoy-gateway"&gt;Rate Limiting in Envoy Gateway&lt;a class="td-heading-self-link" href="#rate-limiting-in-envoy-gateway" aria-label="Heading self-link"&gt;&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Envoy Gateway supports two types of rate limiting:&lt;/p&gt;</description></item></channel></rss>