Here are 5 things that really stood out (a long form blog post to follow soonish)
#serverless #aws #graphql
1/
With API GW you need to set request model (not bad) but there's no response validation (the response model is only used for doc generation) so you have to roll your own.
With AppSync, it's just how GraphQL works, no extra work required.
3/
With API GW I have to manage the connection mapping myself, there's 0 support for broadcasts. If I wanna send update to 1M subscribers, that's 1M reads from DynamoDB + 1M API GW calls...
AppSync subscriptions scales to millions, and I don't have to manage it
4/
Ok, more of a tooling problem than API GW itself. Tools like @goserverless and SAM doesn't support contract-first development, nor do they support API doc generation particularly well.
With AppSync, my .graphql files are my contracts.
5/
API GW service proxies support more services (by a country mile!) but they aren't easy to configure (unless you use the console, because who needs IAC...)
With AppSync you mostly just follow the template and fill in your bits.
6/
7/
8/
When I eventually gave up and restarted from scratch with AppSync, I got all of these + more in just a few hours, not looked back since.
9/
I thought I've had it good with API GW, but AppSync has really upstaged it and it's hard for me to go back to API GW nowadays...
10/
Good job guys 👏👏👏
end/