API Gateway is the thing AWS puts between your users and your actual services. It's basically a bouncer that checks IDs and deals with rate limiting so you don't have to write that tedious shit yourself. Works great until you get your first $3K AWS bill.
You get three flavors: REST APIs with all the bells and whistles, HTTP APIs that are faster and cheaper but with fewer features, and WebSocket APIs for when you need real-time communication. Pick your poison based on what you actually need, not what sounds impressive.
How It Actually Works
API Gateway runs on AWS's edge locations (CloudFront's network) when you pick "edge-optimized," or stays in one region if you choose "regional." Edge-optimized is marketing bullshit for "double your CloudFront bill" - learned this when our API Gateway costs were $200/month but CloudFront hit $800. Those execute-api URLs look like https://abc123.execute-api.us-east-1.amazonaws.com/prod
and you can't change the ugly bastards without custom domains.
It plays nice with AWS Lambda (probably what you'll use most), Amazon Cognito for user management, and IAM for permissions. CORS configuration will make you question your life choices - the error messages are complete garbage like "CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https." Deployment stages confuse the shit out of everyone: "prod" and "production" are different things to API Gateway because fuck consistency. CloudWatch handles monitoring, assuming you want to pay $0.50/GB for detailed logs.
Performance Reality Check
API Gateway scales automatically, but your backend better keep up. Default limits are 10,000 requests per second per account - sounds generous until you do the math: that's $35K/month on REST APIs if you max it out. You can request limit increases through AWS Support, but expect a 20-question Spanish Inquisition about your traffic patterns.
Since the 2019 HTTP API launch, nobody should use REST APIs unless they need the features. HTTP APIs are actually 71% cheaper than REST APIs and faster too, but you lose request validation and caching. Lambda cold starts can add 500ms+ to your first request - especially brutal for those "just checking if the API is up" health checks. Edge-optimized might help global latency but adds complexity and CloudFront costs.
Who Actually Uses This Thing
TiVo uses API Gateway for streaming because it auto-scales during peak viewing times (think Sunday night HBO premieres) without them having to provision servers. WirelessCar needed sub-100ms response times for connected cars - edge-optimized endpoints solved their latency problem.
Most people use it for microservices APIs, mobile app backends, or modernizing legacy systems. It's particularly good when you need something up fast and don't want to manage load balancers, SSL certificates, and all that infrastructure nonsense. Just remember: it's another layer that can break, so plan accordingly.