ParseServer on AWS

I was pretty surprised at hearing about Parse shutting down. I was sure they are to stick around after being acquired by Facebook a few years back. I even built a few production apps that rely on their backend to work… oh well.

A few days ago I received an email “Your Own Parse Server on AWS and Heroku” and decided to give it a go by setting up ParseServe on AWS; after all, I only have 11 month to migrate my apps somewhere, right?.

This will be a short tutorial on how to deploy your own instance of ParseServer on AWS with a few Swift examples of making GET, POST requests. Quite honestly, I never worked with AWS until this week. My choice for backend was always Parse (ironically), most recently CloudKit (great solution provided by Apple), Heroku, or personal server running Node.js.

Assuming you already have AWS account, login to your console here. After successfully logging in, you’ll need to deploy a ParseServer Example found here (scroll until you see Deploy to AWS button and click on it).


Make sure to select a region closest to you, specify application name (ParseServer is set by default), and click on “Review and Launch” button. Doing so will take you to the “Review” screen where you need to verify application info, environment, configuration details, permissions and a few more things. Generally speaking you won’t need to change anything, but double checking never hurts. After checking and ensuring the correct settings, click on “Launch” button at the bottom of the page.


Give the setup process a few minutes to complete. If the setup is completed successfully, the “Health” indicator should be green (image above). If you get an error launching the environment, try deleting your instance, select a different region and give the setup process a go once more.

Please note your environment ID and the URL above, you’ll need it later.

Select “Configuration” option on the left, find “Software Configuration” and click on the small gear icon; scroll to the bottom of the page where you should see things like APP_ID, DATABASE_URI, MASTER_KEY, etc.


Generate random strings for both the APP_ID and MASTER_KEY… something like this:

For the DATABASE_URI specify the URL to your MongoDB. If you are using MongoLab, the URL will look something like this:

If you don’t have MongoLab account, take a few moments to register. They offer 500MB of free space for your database and are perfect for the initial setup.

Alternatively you could host MongoDB on you private server. It is very simple to set up. Visit MongoDB page for instructions on how to do that.

You are now ready to use your newly setup ParseServer. So let’s take a look at few examples of how to POST and GET your data.

Make sure you have your AWS URL handy (I mentioned you’ll need it earlier in the post), fire up Xcode playground and give this code a go:

The response would look like this (POST):


As you can see, it is relatively simple to setup your own ParseServer. The awesome thing about ParseServer is that you can host it on AWS, Heroku, or your own server. Quite honestly, open source ParseServer is the best thing that ever happened to Parse.

ParseServer on AWS