AWS AppSync = GraphQL as a Service
What do you like best?
AppSync has full native integration out of the box with many AWS services including Amplify & DynamoDB. It enables the real-time extraction of data from multiple databases. AppSync is totally serverless, so it scales automatically. Not only does it save the time of setting up your own GraphQL server, but there's NOTHING to maintain. Multiple developers can share AppSync code. AppSync allows the developers to focus on their own business logic code, as they spend less time dealing with the data-connectivity that AppSync provides out of the box. As with all AWS servers, AppSync evolves with regular updates which are virtually 100% backward compatible with your existing AppSync code, so nothing breaks. We recommend using AppSync as part of the DRACAL.dev stack of DynamoDB, REACT, Amplify, Cognito, AppSync & Lambda. Together, these 5 services provide long term code stability, extensive documentation and many open source components & code recipes. AppSync boasts virtually 100% uptime.
What do you dislike?
There is a learning curve in incorporating AppSync & its important to follow all AWS Best Practices. Using AppSync by itself without the other supporting AWS services such as DynamoDB, REACT, Amplify, Cognito, AppSync & Lambda is not as useful. So making a commitment to the entire AWS serverless eco-system becomes a defacto requirement in getting the most out of AppSync.
Recommendations to others considering the product:
Test AppSync on a small project first and be sure that you develop your AppSync resolvers according to AWS best practices. Do NOT do any work-arounds in your code, as many times that will prevent NEW AppSync features from working in the future.
What problems are you solving with the product? What benefits have you realized?
Real-time use cases such as Chat, Chatbots, Calendars and other projects where real-time is an absolute requirement. Coding is much more efficient in AppSync. AWS provides an AppSync console for a detailed view and navigation of AppSync Code. AppSync utilizes resolvers which have the benefit of being re-useable when set up properly.