Skip to content

Commit

Permalink
update deprecation date; WIP on aws appsync migration guide
Browse files Browse the repository at this point in the history
  • Loading branch information
MongoCaleb committed Jan 21, 2025
1 parent 6334005 commit 7e15162
Show file tree
Hide file tree
Showing 13 changed files with 87 additions and 11 deletions.
2 changes: 1 addition & 1 deletion source/deprecation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Previously Deprecated Services

As of March 12, 2024, GraphQL and Static Hosting are deprecated for Atlas App
Services. GraphQL and Static Hosting services will be discontinued on
**March 12, 2025**.
**September 30, 2025**.

To learn more about these deprecations, refer to the :ref:`Migrate Static
Hosting and GraphQL From App Services page <migrate-hosting-graphql>`.
Expand Down
2 changes: 1 addition & 1 deletion source/graphql/migrate-apollo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ following steps:
Once you have verified that your GraphQL API endpoints are fully migrated
and operational on Apollo Server, you can delete your MongoDB Atlas App
Services app to avoid unnecessary costs. As a reminder, Atlas GraphQL
endpoints will no longer be supported beginning March 12, 2025.
endpoints will no longer be supported beginning September 30, 2025.

Next Steps
----------
Expand Down
2 changes: 1 addition & 1 deletion source/graphql/migrate-hasura.txt
Original file line number Diff line number Diff line change
Expand Up @@ -191,4 +191,4 @@ Shut down MongoDB Atlas App Services Endpoints
Once you have verified that your GraphQL API endpoints are fully migrated
and operational on Hasura, you can delete your MongoDB Atlas App
Services app to avoid unnecessary costs. As a reminder, Atlas GraphQL
endpoints will no longer be supported beginning March 12, 2025.
endpoints will no longer be supported beginning September 30, 2025.
2 changes: 1 addition & 1 deletion source/graphql/migrate-wundergraph.txt
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ your project and the technologies used.
Once you have verified that your GraphQL API endpoints are fully migrated
and operational on WunderGraph, you can delete your MongoDB Atlas App
Services app to avoid unnecessary costs. As a reminder, Atlas GraphQL
endpoints will no longer be supported beginning **March 12, 2025**.
endpoints will no longer be supported beginning **September 30, 2025**.

Next Steps
----------
Expand Down
2 changes: 1 addition & 1 deletion source/hosting/migrate-blob.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ below to migrate from using Atlas Hosting to using your own S3 bucket.
Once you have verified that your files deploy successfully to your S3
bucket, delete your hosted files from your Atlas App Services app.
As a reminder, hosting domains on Atlas App Services will no longer run
starting on March 12, 2025.
starting on September 30, 2025.

Access S3 Bucket from Atlas Functions
-------------------------------------
Expand Down
2 changes: 1 addition & 1 deletion source/hosting/migrate-netlify.txt
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ your site manually <https://docs.netlify.com/cli/get-started/#manual-deploys>`__
Once you have verified that your application deploys successfully to
Netlify, delete your hosted files from your Atlas App Services app.
As a reminder, hosting domains on Atlas App Services will no longer run
starting on March 12, 2025.
starting on September 30, 2025.

Next Steps
----------
Expand Down
2 changes: 1 addition & 1 deletion source/hosting/migrate-vercel.txt
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ Vercel documentation: `Deploy from CLI <https://vercel.com/docs/cli/deploying-fr
Once you have verified that your application deploys successfully to
Vercel, delete your hosted files from your Atlas App Services app.
As a reminder, hosting domains on Atlas App Services will no longer run
starting on March 12, 2025.
starting on September 30, 2025.

When you create a deployment, Vercel automatically adds a new and unique
generated URL. You can visit this URL to preview your changes in a live
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions source/migrate-hosting-graphql.txt
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ Migrate Static Hosting and GraphQL From App Services

GraphQL and Static Hosting are deprecated.

As of **March 12, 2024** , GraphQL and Static Hosting are deprecated for Atlas App
Services. GraphQL and Static Hosting services will be discontinued after one
year on March 12, 2025.
As of **September 30, 2024** , GraphQL and Static Hosting are deprecated for Atlas App
Services. GraphQL and Static Hosting services will be discontinued on September
30, 2025.

If you use GraphQL or Static Hosting, you should migrate to other providers
before the services are discontinued. Below, you can find migration guides
Expand Down
2 changes: 1 addition & 1 deletion source/release-notes/backend.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Atlas App Services Changelog
~~~~~~~~~~~~~~~~~~~~~~

- New Apps can no longer enable GraphQL or Static Hosting. Apps that already have these
features will continue to have access until March 2025.
features will continue to have access until September 30 2025.

.. _backend_20240807:

Expand Down
2 changes: 2 additions & 0 deletions source/sync/device-sync-deprecation.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ and be removed before **September 30, 2024**.
Refer to the :ref:`App Services deprecation page <app-services-deprecation>` for
more deprecation information.

.. _alternative_solutions:

Alternative Solutions
---------------------

Expand Down
74 changes: 74 additions & 0 deletions source/sync/migration/awsappsync.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
.. meta::
:robots: nosnippet

.. _aws_appsync:

============================
AWS App Sync Migration Guide
============================

.. contents:: On this page
:local:
:backlinks: none
:depth: 2
:class: singlecol

As of September 2024, :ref:`Device Services is deprecated <device-sync-deprecation>`.
There are many :ref:`third-party services <alternative_solutions>` you can use
to migrate your App Services app. This page provides guidance in using
AWS AppSync.

What is AWS AppSync?
--------------------
`AWS AppSync <https://aws.amazon.com/appsync/>`__ is a serverless platform that
you can use to keep your data synchronized between devices through GraphQL and
Pub/Sub APIs. Combined with MongoDB Atlas as the backend datastore, you maintain
many of the benefits of Device Sync.

System Architecture
-------------------

Device Sync
~~~~~~~~~~~

The following diagram shows the typical Device Sync architecture:

.. image:: /images/migration/device_sync_architecture.png
:alt: A diagram showing a typical Device Sync architecture.

In this architecture, your app uses the Realm APIs to communicate directly with
Atlas App Services, which handles data storage, synchronization, and conflict
resolution.

The data flow is:

- Data is stored in each device’s local realm db.
- A user makes changes on the device.
- Device Sync APIs send changes to Atlas App Services.
- Atlas App Services performs any necessary conflict resolution, stores the changes
in Atlas, and syncs the changes to the other devices.
- Device Sync APIs updates the data in each device’s local realm.

AWS AppServices
~~~~~~~~~~~~~~~

When you migrate from Device Sync to AWS AppSync, you will need to make the
following changes to your architecture:

- Use AWS AppSync to handle data synchronization
- Use an AWS Lambda Resolver to send data to Atlas via the MongoDB driver SDKs
- Use AWS Event Bridge to listen for event triggers from Atlas
- Add a Database Trigger to Atlas

You will also change 2 parts of your client code:

- Because AppSync uses GraphQL, you will use the AWS AppSync API to communicate
with it AppSync
- The local data store also changes from a Realm database to the default
datastore on the device (typically SQLite), or another one of your choice.

The following diagram shows a typical example of the new architecture:

.. image:: /images/migration/aws_appsync_architecture.png
:alt: A diagram showing a typical Device Sync architecture.

0 comments on commit 7e15162

Please sign in to comment.