TL;DR — Envoy AI Gateway puts a single, OpenAI-compatible endpoint in front of every LLM provider you use. Your apps talk to one URL; the gateway handles provider routing, automatic failover, credential injection, token-based rate limits, and cost visibility. It's a Kubernetes-native layer built on top of Envoy Gateway, driven by a handful of CRDs.
What it is
Envoy AI Gateway is an open-source AI gateway built on Envoy Proxy and Envoy Gateway. It sits between your applications and the GenAI services they call — OpenAI, Anthropic, AWS Bedrock, Google, or self-hosted models like vLLM — and gives clients one unified, OpenAI/Anthropic-compatible API to hit.
It's a CNCF-adjacent Envoy subproject (started by Tetrate and Bloomberg) and reached its first production-ready API surface in v0.6.0, with its CRDs served at v1beta1. In the AI Native landscape it lives in AI Native Infra › Gateway: the traffic-control plane for AI.
Why it exists
Once more than one app calls LLMs, the same problems show up everywhere: API keys scattered across services, no shared rate limits, no failover when a provider has an outage, no idea who's spending how much, and a rewrite every time you switch model providers.
A gateway centralizes all of that. Clients stop knowing or caring which provider answers — they hit one endpoint, and policy, security, and routing live in one place instead of in every codebase.
How it works
The gateway reads the model field from each incoming request, tags it as a header (x-ai-eg-model), and routes on that. Credentials for the chosen backend are injected at the edge, so your app never holds provider keys. Token usage is parsed from the response (OpenAI schema) and fed into rate limits and cost metrics.
Fig 1 — Apps hit one endpoint; the gateway routes, secures, and meters traffic to every provider.
The core CRDs
You configure everything declaratively with Kubernetes resources. Five do the heavy lifting:
| CRD | What it defines |
|---|---|
AIGatewayRoute | The unified API entry — match rules that route requests (by model, etc.) to backends. |
AIServiceBackend | A provider/model target (OpenAI, Bedrock, a vLLM service…). |
BackendSecurityPolicy | Injects upstream credentials (API keys, cloud auth) into requests securely. |
GatewayConfig | Gateway-wide settings tying it to Envoy Gateway. |
MCPRoute | Routes Model Context Protocol traffic to MCP servers. |
Because routes stay stable while backends are swapped behind them, you can add, combine, or fail over providers without touching client code.
Key capabilities
- Unified API — one OpenAI/Anthropic-compatible surface for all providers.
- Routing & failover — model-aware routing with automatic failover across providers and self-hosted models.
- Token-based rate limiting — limits on input/output/total tokens per model and per user, via Envoy Gateway's global rate-limit API.
- Cost & usage visibility — token usage extracted from responses for analytics and budgeting.
- Backend security — credentials injected at the edge; apps never hold provider keys.
- MCP routing — first-class support for routing to MCP servers for agent tooling.
Quick start
It rides on Envoy Gateway, so install that first, then the AI Gateway control plane — both as Helm charts:
# 1. Envoy Gateway
helm install eg oci://docker.io/envoyproxy/gateway-helm -n envoy-gateway-system --create-namespace
# 2. Envoy AI Gateway
helm install aieg oci://docker.io/envoyproxy/ai-gateway-helm -n envoy-ai-gateway-system --create-namespace
Then apply the sample route + backend and send an OpenAI-style request at the gateway address:
kubectl apply -f basic.yaml # AIGatewayRoute + AIServiceBackend + BackendSecurityPolicy
curl $GATEWAY_URL/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o-mini","messages":[{"role":"user","content":"hi"}]}'
The model name in the request body is what the route matches on — switch gpt-4o-mini to a Bedrock or self-hosted model and the gateway re-routes, no client change.
When to use, when to skip
Use it when you run on Kubernetes, already use (or want) Envoy/Envoy Gateway, and need centralized routing, security, and token-level rate limiting across many apps and providers. It's the cloud-native, infra-team choice.
Skip it for a single app or a quick prototype — a library like LiteLLM gives you multi-provider routing in-process with far less setup. If you're not on Kubernetes, the operational overhead of Envoy Gateway probably isn't worth it yet.
v1beta1), and it supports a subset of the full OpenAI API. Check the supported-endpoints doc before assuming a specific route exists, and pin chart versions.vs the alternatives
| Tool | Best for | Trade-off |
|---|---|---|
| Envoy AI Gateway | K8s-native, Envoy shops, infra-grade policy | Young; needs Envoy Gateway |
| LiteLLM | In-process multi-provider routing, fast start | Library, not infra policy plane |
| kgateway | Gateway-API-native, broader API gateway | Less AI-specific tuning |
| Higress | AI-native gateway with rich plugins | Different ecosystem (Istio/Higress) |
References
- Official documentation — docs home, concepts, capabilities.
- envoyproxy/ai-gateway — source, CRDs, examples.
- Getting started — full install + first route walkthrough.
- Release notes — what landed in v0.6 and the v1beta1 CRDs.
- Envoy Gateway — the base it builds on.
Extra reads
- A Reference Architecture for Adopters — the two-tier gateway design.
- Usage-based rate limiting — token limits in depth.
- Tetrate & Bloomberg's journey — why the project exists.
- Supported API endpoints — what's actually implemented.
Verified against the official Envoy AI Gateway docs (aigateway.envoyproxy.io), May 2026. Targets v0.6+ (v1beta1 CRDs).
Where Envoy AI Gateway fits: the mental model
Envoy AI Gateway is a control-plane component that routes, schedules, or reliably executes AI work across services. The useful question is not simply “can it run the demo?” It is whether the component gives your team a clear ownership boundary, predictable failure behavior, and enough evidence to operate changes safely. Treat it as one replaceable layer in a larger system rather than letting it quietly become the architecture.
Start by drawing the request and data path. Mark where untrusted input enters, where identity is checked, where durable state changes, and where retries can repeat work. That diagram tells you which guarantees belong to Envoy AI Gateway and which still belong to your application, platform, cloud provider, or database. The distinction matters during incidents: a healthy process is not proof that the end-to-end task is correct.
Core concepts you should understand first
The vocabulary below is more important than any single SDK method. It lets application engineers, platform engineers, security reviewers, and incident responders describe the same system without confusing a framework feature with an end-to-end guarantee.
| Concept | Meaning in this layer | Design question |
|---|---|---|
| Desired state | The versioned configuration describing what should run, route, or be deployed. | Write down how Envoy AI Gateway represents or enforces this before production. |
| Reconciliation | A controller repeatedly compares desired and observed state and makes idempotent changes. | Write down how Envoy AI Gateway represents or enforces this before production. |
| Retry policy | Which failures are retryable, delay/backoff, maximum attempts, and what happens after exhaustion. | Write down how Envoy AI Gateway represents or enforces this before production. |
| Idempotency | The property that repeating an operation produces no additional side effect. | Write down how Envoy AI Gateway represents or enforces this before production. |
| Backpressure | Slowing admission or producers when downstream capacity is saturated. | Write down how Envoy AI Gateway represents or enforces this before production. |
| Rollout | A controlled transition between versions with health checks, traffic shaping, and rollback. | Write down how Envoy AI Gateway represents or enforces this before production. |
From quick start to a production deployment
The earlier quick start proves that the package or service runs. Production readiness is a different exercise. Build the smallest vertical slice that crosses every real boundary—identity, network, persistence, upstream provider, telemetry, and rollback—before broadening the feature set.
- Pin the compatibility envelope. Record the Envoy AI Gateway release, language/runtime version, client SDK version, model or backend version, and—where applicable—Kubernetes API or driver requirements. Use a lock file, immutable image digest, or chart version; floating “latest” tags prevent repeatable rollback.
- Define contracts before configuration. Write the accepted input, successful output, error classes, timeout, idempotency behavior, and ownership of durable state. Validate at the boundary so corrupt work fails early instead of surfacing deep in a workflow.
- Create separate development, staging, and production identities. Do not copy a broad personal API key into every environment. Prefer workload identity or short-lived credentials, scope access by tenant and operation, and verify denial cases as part of deployment.
- Add bounded failure behavior. Every remote call needs a deadline. Retry only transient, idempotent operations with exponential backoff and jitter. Set concurrency and queue limits so an upstream slowdown becomes controlled backpressure rather than resource exhaustion.
- Instrument the complete path. Emit a correlation ID, component and release version, duration, outcome, retry count, and resource or cost dimensions. Keep sensitive prompt, document, and credential values out of ordinary logs.
- Ship through a reversible rollout. Run compatibility and regression tests, deploy to a canary or isolated workload, compare service-level indicators, then increase exposure. Preserve the previous artifact and configuration until rollback has been exercised.
Production configuration checklist
- Pin artifacts by version and, where possible, digest.
- Set connect, request, and total workflow deadlines.
- Bound retries, concurrency, queue length, and payload size.
- Separate read-only operations from mutations.
- Use idempotency keys for replayable mutations.
- Persist canonical state outside disposable workers.
- Encrypt traffic and durable data with managed keys.
- Redact secrets, tokens, prompts, and personal data.
- Apply per-tenant quotas and authorization filters.
- Expose readiness separately from process liveness.
- Back up metadata and test restore, not only backup.
- Document owner, escalation path, RPO, and RTO.
Failure modes and the response you should design
| Failure mode | What you observe | Engineering response |
|---|---|---|
| Retry storm | Workers retry together and amplify an outage. | Use jitter, attempt limits, circuit breakers, and dead-letter handling. |
| Poison job | One malformed item fails forever. | Validate at admission and quarantine after a bounded number of attempts. |
| Configuration drift | Runtime behavior differs from reviewed configuration. | Continuously reconcile and alert on persistent drift. |
| Partial rollout | Old and new versions disagree on schema or state. | Use backward-compatible contracts and expand/contract migrations. |
| Control-plane loss | Existing data plane runs but changes cannot be made. | Document degraded operation, backup state, and rehearse recovery. |
| Credential fan-out | One broad secret reaches every worker. | Use workload identity and least-privilege, short-lived credentials. |
Turn these rows into runbook entries with an alert, first diagnostic query, safe mitigation, and escalation owner. Test at least one failure in staging every release cycle. If the system cannot be forced into a failure safely, it is usually not yet observable or isolated enough.
Security, privacy, and tenant isolation
Place Envoy AI Gateway in a threat model, not just an architecture diagram. Identify human users, workload identities, administrators, upstream services, model providers, artifact registries, and data stores. For each edge, document authentication, authorization, encryption, audit evidence, and the consequence of credential compromise.
Apply least privilege at the operation and resource level. A component that only retrieves documents should not be able to delete the index; an evaluation worker should not inherit production mutation credentials; a model-serving pod should not need cluster-admin. In multi-tenant systems, enforce the tenant boundary before retrieval or execution and include tenant identity in quotas and audit events. Never rely on a prompt instruction, namespace string supplied by the client, or UI filtering as authorization.
Decide what data is permitted in telemetry. Prompts, retrieved chunks, tool arguments, model responses, notebooks, and traces can contain secrets or regulated data. Redact close to collection, keep high-sensitivity payload capture opt-in, encrypt exports, restrict support access, and give each class an explicit retention period. Verify deletion across caches, replicas, indexes, backups, and derived evaluation datasets.
Observability and service-level objectives
A useful dashboard follows the user-visible unit of work and then decomposes it by component, release, tenant tier, backend, and failure class. Start with these signals for Envoy AI Gateway:
- queue depth and oldest age — graph both rate and distribution, then compare with the previous release and traffic mix.
- success and retry rate — graph both rate and distribution, then compare with the previous release and traffic mix.
- p95 control-plane latency — graph both rate and distribution, then compare with the previous release and traffic mix.
- backend saturation — graph both rate and distribution, then compare with the previous release and traffic mix.
- rollout failure and rollback rate — graph both rate and distribution, then compare with the previous release and traffic mix.
- configuration reconciliation lag — graph both rate and distribution, then compare with the previous release and traffic mix.
Choose an SLO at the boundary your users experience, such as “99% of accepted tasks complete correctly within five minutes over 28 days.” Availability alone is insufficient for AI systems because a fast but incorrect or ungrounded result is still a failure. Pair latency and completion objectives with a reviewed quality or policy indicator. Page on rapid error-budget burn; use tickets for slow capacity trends.
Testing and release strategy
Use four layers. Unit tests cover deterministic adapters, schemas, policy, and error mapping without a live external service. Contract tests exercise the pinned integration boundary—API, CLI, SDK, protocol, or ephemeral service—and verify its exact surface. Scenario tests exercise representative end-to-end cases, including permissions and state. Load and resilience tests establish saturation, queue behavior, retry amplification, and recovery after dependency loss.
Keep a small blocking suite for every commit and a broader scheduled suite for expensive or probabilistic checks. Store results with the application version, Envoy AI Gateway version, configuration hash, model/backend version, dataset version, and random seed. A score without that provenance cannot explain a regression. Before upgrading, read the migration notes, run both versions against the same replay set, and explicitly test rollback across any schema or state transition.
How to decide whether Envoy AI Gateway is the right tool
| Question | Evidence to collect | Red flag |
|---|---|---|
| Does it remove a real constraint? | A measured bottleneck, missing guarantee, or repeated custom component. | Adoption is based only on a demo or feature count. |
| Can the team operate it? | Named owner, upgrade path, alerts, runbooks, backup, restore, and on-call skills. | Only the original prototype author understands failure behavior. |
| Is the interface portable? | Your domain contracts wrap vendor-specific APIs; data and state have an export path. | Business objects are inseparable from framework internals. |
| Does it meet the envelope? | Benchmarks using your payloads, concurrency, topology, quality bar, and cost model. | Published benchmark hardware or workload does not resemble production. |
| Is failure affordable? | Tested degraded mode, bounded blast radius, rollback, RPO, and RTO. | A component outage blocks unrelated tenants or irreversible actions. |
Prefer the smallest component that satisfies the required guarantees. A provider SDK, relational table, background job, or standard Kubernetes controller is often better than another platform when the workload is small and predictable. Choose Envoy AI Gateway when its specific abstraction removes sustained engineering work and the team is willing to own its lifecycle.
A focused 90-minute validation lab
- Minutes 0–15: run the documented quick start in a disposable environment with pinned dependencies. Save the exact commands and a known-good input/output fixture.
- Minutes 15–35: replace the toy input with one representative case from your system. Add schema validation, a deadline, and a correlation ID.
- Minutes 35–55: force invalid credentials, a timeout, malformed input, and one dependency failure. Record the observed errors and whether retries are safe.
- Minutes 55–75: run a small concurrency test and capture latency, throughput, saturation, and unit cost. Do not extrapolate beyond the tested range.
- Minutes 75–90: write the adoption decision: required guarantees met, open risks, owner, next experiment, and the simplest credible alternative.
Frequently asked questions
Should we standardize on Envoy AI Gateway for every team?
Standardize the contracts, telemetry, security controls, and release evidence first. Standardizing one implementation is useful only when workloads share requirements and a platform team owns upgrades and support.
Can we use the hosted version and skip operations work?
Hosted service removes part of the control-plane burden, not architecture ownership. You still own identity, tenant isolation, data classification, quotas, dependency failure, observability, export, and an exit plan.
What should be pinned for reproducibility?
Pin the tool/server, client SDK, runtime, configuration, model or backend, container image digest, and test dataset. Record these values with every benchmark and evaluation result.
When is a proof of concept ready for production?
After representative success and failure tests pass, sensitive data paths are approved, limits and SLOs are defined, telemetry and runbooks exist, restore or rollback is rehearsed, and an accountable owner accepts the remaining risk.
Official sources and freshness
This guide was reviewed for architecture and operational guidance on 10 July 2026. Projects evolve quickly: verify installation syntax, supported versions, feature maturity, and upgrade notes against the exact release you deploy.