I've been experimenting with AppSync and it seems promising. The only thing I hem and haw about is the resolver templates, which are written in VTL (as opposed to JS). I asked the core devs about this on Twitter and they said it's so they can have a deterministic bound on the execution time for resolvers against Dynamo. Still, seems to me like giving the option of lightweight JS resolvers with bounded execution time would be a good feature. I know you have this option with Lambda, but then you run into the "cold start" issues on a per resolver basis.<p>Other than that, it seems like a great stack. It's scalable and has all the right features baked in to build a prod-ready app. I feel really productive when I'm using it.<p>After seeing Cloudflare's superior performance with their service workers at the edge (over AWS Lambda), and seeing both AppSync and Prisma and Apollo, I'm wondering if we couldn't get a stack like:<p>1) Service workers at the edge, globally distributed JS running in V8 isolates, that work as GraphQL resolvers against a globally distributed DB like Cosmos on Azure.
2) Built-in websockets/subscriber support either handled at the edge or from AWS/Azure/etc
3) Global caching via Apollo Engine
4) A cleaner DB abstraction like Prisma offers over Postgres<p>^^ seems to me like we're getting close to this realization of being able to just ship serverless code, have it automatically geo-replicated and cached for low latency, quick response times, and without having to worry about dev ops. These are huge productivity wins for devs.