Prompt
I'm building a migration off a legacy gateway and need version routing and failover. What should I use?
Latest observation
Oct 6, 2026
OpenAI APIWeb search: off
Use HTTP route matching + canary/failover logic at the edge, ideally in Envoy / Kong / NGINX / a service mesh rather than hard-coding it in apps.
A good pattern is:
- Version routing
- Route by path (
/v1,/v2) - or by header (
X-API-Version: 2) - or by percentage-based traffic splitting for gradual migration
- Route by path (
- Failover
- Use active health checks
- configure retry + timeout + circuit breaking
- fail over to the legacy backend if the new backend is unhealthy
- Migration strategy
- Start with shadow traffic to validate the new path
- then small canary
- then increase to full cutover
- keep the legacy gateway as a fallback until confidence is high
If you want a concrete recommendation:
- Kubernetes / microservices: Istio or Linkerd + Envoy
- API gateway / edge routing: Kong, Envoy Gateway, or NGINX
- Cloud-native managed: AWS API Gateway + ALB/CloudFront rules, or equivalent in your cloud
If you tell me:
- where this runs (Kubernetes, VM, cloud-managed),
- what protocols you need (HTTP, gRPC, WebSocket), and
- whether routing is by path/header/percentage,
I can suggest the best specific setup and configuration.