AWS Amplify + AppSync & MongoDB Realm : Comparitive Study

Rajesh Vinayagam
3 min readMar 27, 2021

AWS Amplify

AWS Amplify is a full stack development platform helping developers to focus on delivering functionality. Below are the major 3 components of AWS Amplify

  • Amplify CLI — Configure all the services needed to power backend through a simple command line interface.
  • Amplify Libraries — Use case-centric client libraries to integrate app code with a backend using declarative interfaces.
  • Amplify UI Components — UI libraries for React, React Native, Angular, Ionic and Vue.

Amplify Datastore & App Sync

Amplify Datastore is a client that runs inside the mobile device and exposes an API for developers to interact.

It serves as a persistent data repository and will be responsible for synchronizing data with cloud in the background via GraphQL Queries, mutations and subscriptions.

Synchronization & conflict detection is handled automatically in the background by the Sync Engine and AWS AppSync.

Developers leverage Datastore APIs and the client automatically transforms those operations into GraphQL queries, mutations and subscription to interact with AppSync API endpoint.

MongoDB Realm

MongoDB Realm is a set of integrated application development services that makes it possible for anyone to build a great app concentrating on the core functionality and not worrying about the infra. Below are some of the major components

Users & Authentication — MongoDB Realm supports authentication and user accounts through a variety of authentication providers.

Realm Functions allow you to define and execute server-side logic for your application.

Realm Triggers enable you to execute application and database logic automatically, either in response to events or based on a pre-defined schedule.

GraphQL API allows client applications to access data stored in a linked MongoDB cluster using any standard GraphQL client

Other Services like Web Hosting, Integration with Third Party Services( HTTP, Twilio, Push Notification (FCM)

MongoDB Realm Sync

Realm Sync automatically handles complex and tedious issues like data serialization, network recovery, and conflict resolution, so you can focus on the actual business logic of your app.

Realm Database is the local, mobile database for the app to store data using Realm SDK.

Realm Sync handles network access and conflict resolution in a background thread of your application, so application logic can stay the same regardless of network conditions.

Realm Sync has a built-in conflict resolution engine that guarantees strong eventual consistency, its conflict resolution comes down to last write wins.

Feature Comparison

--

--