Special thank you to our iOS Engineers Anastasiia and Vitalii Bogdan for contribution to this article.
Since Facebook announced shutting down its mobile backend as a service (mBaaS) platform Parse, a huge number of developers have taken their frustration to all corners of the Internet. From a lengthy discussion of the reasons on Quora to a petition on Change.org signed by over 700 people, the community feels gutted and is starting to look for alternatives.
A platform that allowed to deploy backend for mobile apps without code, Parse was about perfect in terms of pricing, reliability, and feature set. Developers at Stanfy were avid Parse users as well, as Anastasiia put it almost a year ago:
We use Parse.com because it solves our problems. We tried it several years ago and built many applications using it. Some of them support features like anonymous login, geo-based push notifications, and offline synchronization. There were social apps (post-like-comment-share actions included) and personal apps (on-the-fly customization and offline mode).
Here’s a look at the alternative solutions available on the market now, from other mBaaS to full-fledged self-hosted backend.
Taking Matter In Your Own Hands
For the brave people among us, there’s the ultimate solution: create your own backend from scratch. Allocate cloud server instance or whole server rack, define hardware you want, use operating system that you prefer, deploy database that suits better, install modules that you like.
Then learn how to handle load balancing of your servers and version compatibility of your tools, and don’t forget to install security updates and add more RAM modules. What could possibly go wrong? ;)
Jokes aside, building your own backend solution is the most future-proof idea of all. You can be sure no one’s going to pull the plug on your service of choice, and you have full control of each and every aspect of your hardware and software stack.
The obvious downside is that building and maintaining your backend is an extremely time-consuming thing. This is a viable solution for a larger company with special requirements, applications with many data objects and tasks that require wide bandwidth like multimedia streaming.
Run Your Own Parse Server Instance
If you’re not that fond of tackling with hardware and adjusting load-balancing servers, it might be a good idea to deploy your own Parse Server to a cloud server. Thankfully, Parse has open-sourced it, so you can migrate data to your own MongoDB instance.
Unfortunately, not everything is working properly. Parse had lots of integrations like Facebook and Twitter login and third-party modules like Twilio or Mailchimp support, which won’t be available in Parse Server out of the box.
UPD: Parse Server now supports push notifications for iOS and Android!
The situation, however, may get better over time. In addition, Parse team is expected to open-source their awesome web admin dashboard, a place where you can rule everything.
Here’s how you can run your own parse instance in the cloud.
If you’re after a simple and cheap alternative to Parse but don’t want to buy into another mBaaS, this one might be good for you. It’s definitely good for us, as that’s what Stanfy is going to do with current projects.
The main idea is that you can migrate your app from Parse to Parse Server by using a free Heroku instance and deploying your database to MongoLab.
Granted, this looks like yet another vendor-locked solution, however it brings more diversification than going for an alternative mBaaS. Moreover, Heroku doesn’t look like a project that’s about to go under in the near future.
Here’s a thoroughly crafted walkthrough on how to migrate your app to Parse Server using Heroku and MongoLab.
Another cloud service you can choose to deploy your Parse Server instance to is Azure. You’d still need find a platform to run your MongoDB database–that could be MongoLab or any other one.
As many other Parse alternatives, the cloud by Microsoft is waiting for new users:
Azure App Service makes a great alternative for hosting your Parse server implementation. After all, the Node.js backend for Mobile Apps in Azure App Service is also an Express app. To make things even easier for you to get started, the Azure App Service team has created a streamlined provisioning process that makes it very easy to get your Parse server running in App Service.
If that sounds compelling to you, check out this migration guide.
Another cloud solution popular among mobile app developers, AWS also sounds like a decent choice. There’s also a migration guide that outlines the benefits of going all Amazon in a rather authoritative manner:
Why AWS? It’s an enterprise-grade cloud platform which is miles ahead of competitors when it comes to features, price, and support. IMO if you’re not using Heroku (good for when you don’t want to manage anything) or bare metal (good for when you want to manage everything), you should be on AWS.
In addition to deploying Parse Server itself, you’ll need to get MongoDB running and set up Elastic Beanstalk, which is something like Heroku but compatible with all things AWS.
Don’t want to read long tutorials? Community takes care of you! Deploy Parse Server to one of the above-mentioned clouds just tapping a button from ReadMe!
Go For Another mBaaS
Shutting down of Parse has definitely weakened developers’ faith in ready-made BaaS solutions.
“Fool me once, shame on you. Fool me twice, shame on me. There will be no “fool me three times”. Until mBaaS can come up with a credible response to the question of vendor lock-in, it’s dead. No sane developer would touch this now.”
However, mBaaS is still good for lazy developers, pet projects and proof of concept apps that aren’t meant to be running for years to come. We’ve looked around and found a few good ones for you.
Recently updated by Apple in the wake of the news of Parse shutting down, CloudKit in its current state looks like a good mBaaS for iOS applications.
Up until this week, developers using CloudKit could only access user data stored in iCloud from directly within the app. The last update, however, brought the possibility to “easily read and write to the CloudKit public database from a server-side process or script with a server-to-server key.”
The main issue of using Firebase as a backend for mobile apps used to be that it didn’t support push notifications. In early February, however, this issue was addressed by providing a way to integrate with Batch, a push notification backend that has already built a migration tool for Parse users.
Another popular mBaaS solution, Backendless provides everything an app developer might want to see in a cloud backend. It includes push notifications, media streaming, geolocation, analytics dashboard, etc.
Same as many other mBaaS platforms, Backendless has already published a migration guide to make the transition easier for developers.
Of course, it’s next to impossible to go over all the available alternatives to Parse. If you’re interested in digging deeper and discovering more service providers, both ready-made mBaaS and different DIY components, check out this crowdsourced list on GitHub and make your informed choice.
At the moment, it’s still unclear what solution will prevail and where the mobile app developers’ community will move. There’s still almost a year until Parse is fully shut down, and the landscape of its alternatives can change significantly.
Parse really solved lots of problems that are typical for different groups of customers, from students and startups to huge enterprise companies. We believe that at the end of the day every group will find its unique way of doing things.
- Backend without code. Parse: Myth vs Reality
- Cloud Platforms for the Internet of Things
- 10 of the Best Mobile App Prototyping Tools
- Data Transfer Security for Mobile Apps