← Blog

Best API Gateway for Microservices: How to Choose

2026-09-08 · 5 min read · SubToAPI Team

There's no single "best" API gateway for microservices — the right choice depends on your traffic patterns, team size, and how much operational overhead you're willing to own. What you're really solving for is a small set of concrete needs: request routing across services, centralized authentication, rate limiting, observability, and a place to enforce policy without touching every service's code.

This article gives you the criteria that actually matter when comparing gateways, the main categories of tools you'll run into, and a decision framework you can apply instead of just picking whatever's trending on GitHub.

What "best" actually means here

Before comparing products, define what the gateway needs to do in your architecture. Most teams end up needing some combination of:

A gateway that's "best" for a 200-service platform at a large company is usually the wrong choice for a five-person startup. Scale and team capacity change the calculus more than feature checklists do.

Core evaluation criteria

Routing and protocol support

Check whether the gateway supports the protocols your services actually use — HTTP/1.1, HTTP/2, gRPC, WebSockets, server-sent events. If any of your services stream responses (common with AI/LLM backends or real-time data), confirm the gateway proxies streaming connections without buffering the whole response first, since that defeats the purpose of streaming.

Authentication and authorization

Look for support for API keys, OAuth2/JWT validation, and mTLS between the gateway and internal services. The gateway should be able to reject unauthenticated requests before they hit your services, not just log them.

Rate limiting and quotas

Rate limiting needs to work per client, not just globally, otherwise one noisy consumer can degrade service for everyone else. If you sell API access as a product, you'll also want quota enforcement tied to plans or seats.

Observability

At minimum you need request logs, latency percentiles, and error rates per route. For anything you bill or meter, you need usage data broken down by API key or client — this is often the difference between a gateway that's "fine" and one that actually supports a business built on API access.

Deployment model and operational overhead

This is where most gateway decisions actually get made. Self-hosted gateways give you full control but require you to run, patch, and scale them yourself. Managed gateways remove that burden but come with less flexibility and, often, per-request pricing that adds up at scale.

Gateway categories

Open source, self-hosted: Kong, Envoy, Traefik, and Apache APISIX are common choices. They're flexible and free to run, but you own the infrastructure — clustering, upgrades, plugin management, and scaling the gateway itself as traffic grows.

Cloud-managed gateways: AWS API Gateway, Azure API Management, and Google Cloud's equivalents integrate tightly with their respective clouds. Good if you're already committed to one cloud provider; less appealing if you're multi-cloud or want to avoid vendor lock-in.

Service mesh ingress: Istio, Linkerd, and similar tools bundle gateway functionality with service-to-service mesh features (mTLS between services, retries, circuit breaking). Worth it if you already need a mesh; overkill if you just need north-south traffic control.

Purpose-built gateways for specific backends: Sometimes the "microservices" you're routing to aren't your own REST services — they're a third-party API you want to expose consistently, with your own keys, rate limits, and usage tracking. General-purpose gateways can do this, but a lot of setup goes into config that a specialized tool handles out of the box.

A practical decision framework

Instead of ranking tools abstractly, answer these questions for your own setup:

  1. How many services and how much traffic? Under a dozen services, a lightweight gateway (Traefik, a managed service) is usually enough. Past that, invest in something with better observability and plugin ecosystems.
  2. Who operates it? If you don't have a platform team, self-hosted Envoy or Kong will cost you more in maintenance than it saves in licensing fees.
  3. Do you need to expose the API externally as a product? If you're billing customers or partners for API access, prioritize per-key rate limiting, usage metadata, and dashboards over raw throughput benchmarks.
  4. Does traffic include streaming responses? Confirm the gateway handles chunked/streamed responses correctly before committing — this is a common gap in generic gateway configs.

Where a specialized gateway fits

Not every "microservice" behind your gateway is one you wrote. If part of your architecture routes to a third-party model provider — for example, exposing Claude access to your own services or customers — a general-purpose gateway means configuring auth, rate limits, streaming, and usage tracking yourself for that one backend.

SubToAPI is a narrower, purpose-built example of this: it turns Claude access into a standard HTTPS API with application-scoped keys (sub_live_...), streaming support, tool use, usage metadata per key, and team seats — the same concerns a general API gateway handles, but preconfigured for this one backend instead of built from scratch. If one of your microservices needs Claude behind an API contract your other services can call, it's worth checking the quickstart and pricing rather than wiring up a generic gateway for a single upstream.

For everything else in your service graph — your own services talking to each other — the general-purpose gateway categories above still apply.

Questions

Is Kong or Envoy better for microservices? Envoy is a high-performance proxy typically used as a building block (including inside Istio); Kong is a full gateway product built on top of similar proxy tech with a plugin ecosystem and admin API. Choose Envoy if you want low-level control or are building a service mesh; choose Kong if you want a more turnkey gateway with less assembly required.

Do I need an API gateway for a small number of microservices? Below roughly 5–10 services, a lightweight reverse proxy with basic auth and rate limiting (Traefik, nginx, or a managed cloud gateway) is usually sufficient. Invest in a full-featured gateway once you need centralized policy enforcement across many teams and services.

Can one gateway handle both internal microservices and external API products? Yes, but it often means running two logically separate configurations — internal routing/mTLS for service-to-service traffic, and public-facing auth/rate limiting/usage tracking for external consumers — even if they share the same gateway software.

Turn your Claude access into an HTTPS API

SubToAPI gives you application API keys, streaming, tool use and usage insights on top of your existing Claude access — set up in minutes.

Start free  Read the quickstart →