Amazon AppSync

Power your applications with the right data, from one or more data sources, at global scale

Amazon AppSync simplifies application development by letting you create a flexible API to securely access, manipulate, and combine data from one or more data sources. AppSync is a managed service that uses GraphQL to make it easy for applications to get exactly the data they need.

With AppSync, you can build scalable applications, including those requiring real-time updates, on a range of data sources such as NoSQL data stores, relational databases, HTTP APIs, and your custom data sources with Amazon Lambda. For mobile and web apps, AppSync additionally provides local data access when devices go offline, and data synchronization with customizable conflict resolution, when they are back online.

Benefits

Start effortlessly; scale with your business

Get started in minutes directly from your IDE of choice (such as Xcode, Android Studio, VS Code), leverage the intuitive Amazon AppSync management console, or use Amazon Amplify CLI to automatically generate your API and client-side code. Amazon AppSync integrates with Amazon DynamoDB, Amazon Aurora, Amazon Elasticsearch, Amazon Lambda, and other Amazon Web Services services, enabling you to create sophisticated applications, with virtually unlimited throughput and storage, that scale according to your business needs. 

Real-time subscriptions and offline access

Amazon AppSync enables real-time subscriptions across millions of devices, as well as offline access to app data. When an offline device reconnects, Amazon AppSync automatically syncs only the updates that occurred when the device was disconnected, and not the entire data set. Amazon AppSync offers user-customizable server-side conflict detection and resolution that does the heavy lifting of managing data conflicts so you don’t have to. 

Unify and secure access to your distributed data

Perform complex queries and aggregation across multiple data sources with a single network call using GraphQL. Amazon AppSync makes it easy to secure your app data using multiple concurrent authentication modes as well as allowing to define security and fine grained access control at the data definition level directly from your GraphQL schema. 

How it works

product-page-diagram_AppSync@2x

Amazon AppSync is generally available. If you would like try building data driven mobile and web applications, watch the re:Invent session video to learn more and open the Amazon AppSync console to get started. For pricing details, please see the pricing page. Amazon AppSync is available in multiple regions. For details on region availability, please see the regions detail page.

Customers using Amazon AppSync

Use cases

Real Time Collaboration

Data Broadcasting

You can use Amazon AppSync to enable scalable, real-time collaboration use cases by broadcasting data from the backend to all connected clients (one-to-many) or broadcasting data between clients themselves (many-to-many). For example, you can build a second screen scenario where you broadcast the same data to all clients, and users then respond in real time by voting and commenting about what's on the screen.

Reference Architecture: Sample Code

product-page-diagram_AppSync_Data-Broadcasting@2x-china-rebranded

Chat Applications

You can use Amazon AppSync to power collaborative and conversational applications. For example, you can build a mobile and web application that supports multiple private chat rooms, offers access to conversation history, and enqueues outbound messages, even when the device is offline.

Reference Architecture: Sample Code

Product-Page-Diagram_AppSync_Chat-Applications_2@2x-china-rebranded

Internet of Things

You can use Amazon AppSync to access IoT device data sent to Amazon IoT. For instance, you can build a real-time dashboard in a mobile or web application to visualize telemetry from a connected car.

Reference Architecture: Sample Code

Product-Page-Diagram_AppSync_IoT@2x-china-rebranded

Data Layer

Microservices Access Layer

You can use Amazon AppSync as a single interface to access and combine data from multiple microservices in your application, even if they're running in different environments such as containers in a VPC, behind a REST API on Amazon API Gateway, or behind a GraphQL API on another Amazon AppSync endpoint.

Reference Architecture: Sample Code 1 Sample Code 2

Product-Page-Diagram_AppSync_Microservices-Aggregation@2x-china-rebranded

Polyglot Backend Data Access

You can retrieve or modify data from multiple data sources (SQL databases in Amazon Aurora Serverless, NoSQL tables in Amazon DynamoDB, search data in Amazon Elasticsearch Service, REST endpoints in Amazon API Gateway, or serverless backends in Amazon Lambda) with a single call. Query and create relations between data sources using GraphQL connections. Provide real-time and offline capabilities to web and mobile clients. 

Product-Page-Diagram_AppSync_Polyglot-Back-end-Data-Access@2x-china-rebranded

Offline

Offline Delta Sync

You can use AppSync with Amplify DataStore, an on-device persistent storage engine that automatically synchronizes data between mobile/web apps and the cloud using GraphQL with a local-first and familiar programming model, leveraging Amazon AppSync built-in support for data versioning with advanced conflict detection and resolution strategies such as auto-merge, optimistic concurrency or custom resolution with your own Lambda functions.

Product-Page-Diagram_AppSync_Offline@2x-china-rebranded