It's been over a month since Parse, a well-known and widely used Mobile Backend as a Service platform (MBaaS), announced it's shutting down. The initial confusion due to the unexpectedness of the Facebook decision has gone, and now we can sensibly assess the situation. So, on January 28, 2017, Parse officially ceases to exist. Therefore, all it's 500,000+ hosted apps are going to become 'homeless', unless their owners take measures right now. The Internet is flooded with the options how to act if your app is based on Parse. You can easily come across guides that help to perform migration of your app from Parse to another backend platform. Alternative platforms, by the way, also suggest their services and recommendations on a smooth transition process. Tons of information may seem frustrating. Let's step aside a bit and look at everything we have learned over the last month in practical terms.
What is your backend strategy?
If your app was safely hosted on Parse, you are probably considering what alternative solution will suit you best or even made some moves towards it. So here the options we have.
1. Create a custom app backend
Relying on MBaaS services as Parse is evidently risky. Despite the fact that building your own backend demands a technically skillful team and a certain amount of time, this option suits you well if you want to have a complete control over your product. You may fill your app with any features and functionality you wish and have an opportunity to change them anytime. Having chosen the right app development team, you can be sure that they apply selected and proven tools, methods, technologies, databases, programming languages and frameworks. As a result, you receive a flexible backend architecture. Besides, you are no longer dependent on a company that may shut down.
Bespoke backend creating brings some additional challenges, such as maintenance, security, permissions, etc. After building and deploying your app server side will require regular maintenance. If you own a small app the maintenance cost can exceed the app benefit itself. Then, you also need to protect the database your app relies on and follow security standards like getting SSL Certificate. To avoid maintaining your own infrastructure, you can use a service like Microsoft Azure, Google Cloud Platform or Heroku.
2. Parse Server introduction
In order not to leave it's users alone, Parse has left it's offspring Parse Server. Released by Parse/Facebook the open-source server is aimed to replicate the functionality of Parse. Developers are free to use Parse Server to perform migration of an existing app from Parse to a self-hosted server.
To facilitate your task with Parse server, you can use DevOps services applying to certified specialists
You can run Parse Server on any operating system that allows to set up and run a web server using Node.js: Ubuntu, centOs, Debian, FreeBSD, OSX, Windows, IIS, etc. Parse community has introduced the guide in it's GitHub repository. There are two ways to run Parse Server:
- Autonomously with the use of the source code of the Parse Server
- Implement Parse Server into your existing web server using Express framework
After you migrated the data to MongoDB database, you have to configure the server to use the local database this is the most painless way to migrate your app from Parse. Certainly it all depends on how deeply your app is integrated with Parse, as Parse Server doesn't contain all the features that Parse did. Therefore, you will have to reimplement them, which also requires time expenses.
If you decide to choose this path, don't forget that Parse Server and MongoDB also require maintenance, which can be a challenging task. That's why it's more efficient to deploy Parse Server to an infrastructure-as-a-service (IaaS) platform as Heroku or Amazon Web Service (AWS).
3. Switch to a new MBaaS
Parse was one of the most prominent representatives of MBaaS technology. However, it's closure in no way means the downfall on the BaaS ideology. BaaS is convenient and suitable for those apps that are not going to go beyond the platform built-in capabilities. If you had your app fully hosted on Parse and you are not planning to go beyond existing functionality, then alternative BaaS service is right for you. Let's take a brief look at platforms that were previously overshadowed by Parse, but now came to the front stage offering their services.
AWS Mobile Hub is a feature-oriented integrated console of Amazon Web Services family that makes developing, testing and monitoring of your mobile apps easier. It also provides great Amazon's services compatibility. AWS Mobile Hub allows to add and set up the following features:
- user authentication;
- data storage;
- server-side logic;
- push notifications;
- content delivery;
Mobile Hub components are scalable and can handle an umpteen number of users. Besides, it's reasonable pricing and rich limits make it the best Parse alternative for small apps and apps with minor planning growth.
Firebase is another popular alternative to Parse as it provides a great solution for real-time communication and data storage. The downside of this platform is that it is not so flexible for implementing payment gateways, geo queries, push notifications, etc. The missing features can be supplemented with the number of supported third-party libraries.
The distinctive feature of Firebase is it's multi-platform structure multiple clients can access the same data. It's SDKs are available for:
- Objective-C (iOS), Java (Android);
- HTTP REST API.
Firebase isn't suitable for heavy data processing. So, if your mobile app operates around real-time data synchronization like chatting or news feed, Firebase is a great option for you.
Kinvey is a good BaaS platform for apps with more enterprise-class requirements. That is the reason why Kinvey is a bit more expensive that the others, but it provides developers with access to all necessary features and tools, at the same time ensuring stability. Kinvey is among pioneers of MBaaS and offers a full backend stack: data and file storing, engagement features, analytics, API console for testing and so further.
Countless companies can offer you their mobile BaaS services but before choosing a backend-as-a-service option you should look at your business more precisely. There is a chance that your app has outgrown the level of BaaS and it's time to 'free-float' it. BaaS platforms suit startups that are limited with time and money and would like to check their business idea.
What option is suitable for you?
We have tried to narrow down the possible variants of action if Parse shutdown affected you directly. No option is perfect, but you may choose one according to business needs and objectives. So, we have the following structure to help you identify the ideal solution for you.
If you run a startup business and are not ready to invest much in backend building but your MVP needs verification, then migration to another MBaaS is right for you.
In case your app is still under development and you haven't finished testing it's efficiency and demand, you should choose another MBaaS platform to finish your processes. If Parse functionality was enough for your application, you can freely choose one of the following platforms.
- Firebase is ideal for Parse fans as it's really similar;
- CloudKit is a perfect option for iOS-only apps;
- AWS Mobile Hub provides great scalability;
- Kinvey is suitable for enterprise solutions.
If you are a mid-sized company and want to grow your business further, the perfect option is to migrate your Parse-hosted app to a self-hosted server, so that you could take a time to build your own backend. Besides, this option allows to expand your app functionality to any extent.
All in all, having studied your own business realities and app perspectives, you will be able to make a sound decision. If you are still hesitating or can't find an option that suits you well, contact us and get a free consultation. Cleveroad is always there to offer you a helping hand.
Evgeniy Altynpara is a CTO and member of the Forbes Councils’ community of tech professionals. He is an expert in software development and technological entrepreneurship and has 10+years of experience in digital transformation consulting in Healthcare, FinTech, Supply Chain and Logistics
Give us your impressions about this article
Give us your impressions about this article