Parse and Facebook – A dossier about the BaaS market
This article will provide a comprehensive report explaining what is Parse Server, the history behind it, the most important contributors for the Parse Server community, and the best alternatives for the Parse shut down. Reading this article, you will know:
- What is Parse Server? Pros and Cons of using it.
- The real reason behind Parse shut down.
- Parse download – Where to perform it?
- The best Parse alternatives and how to move off Parse.
- Parse migration options.
- How to deploy and use Parse Server.
- Parse Dashboard.
- The cost to host the Parse Server.
- How to create a Parse application.
- What will happen after Parse shut down?
Let´s start with a little bit of context.
Contents
The Announcement
I was in the middle of a meeting with my partners talking about our next steps for the company when suddenly everything changed. It was Jan, 28th 2016 and we were completely shocked by the announcement made by Facebook informing its developer platform Parse would be discontinued.
I could not believe it when I started to read the statement below:
“We have a difficult announcement to make. Beginning today we’re winding down the Parse service, and Parse will be fully retired after a year-long period ending on January 28, 2017. We’re proud that we’ve been able to help so many of you build great mobile apps, but we need to focus our resources elsewhere.”
You can read the entire announcement below:
http://blog.parse.com/announcements/moving-on/
But why? Parse History
Parse is BaaS – Backend as a Service platform which provides SDK’s for building mobile backends for Windows 8, Windows Phone 8, iOS, Android, JavaScript, and OS X. With Parse, developers can add a scalable backend in minutes and launch a full-featured mobile or web app in record time without ever worrying about server management. Parse offers push notifications, social integration, data storage, and the ability to add rich custom logic to your app’s backend with Cloud Code.
In 2011, Parse was accelerated by Y Combinator and in Nov 2011 received a Series A investment from several investors. In 2013 Facebook acquired Parse for $ 85M.
This Wikipedia link provides further details about Parse.
At that time, the acquisition made a lot of sense and was the opportunity for Facebook to grow inside the mobile developer’s community. This is a great Techcrunch article about it.
Parse had 4 founders at the beginning of the operations, and they are mentioned below:
Ilya Sukhar – CEO
Tikhon Bernstam – CEO (between 2011 and 2013)
Kevin Lacker – CTO
James Yu – CPO
What is Parse Server? Can I download it? How to use it?
Parse Server is the Open Source version of Parse and can be downloaded at Github. Please use the link below to perform Parse download.
Facebook decided to shut down the Parse hosting service, but provided to the developer community an Open Source version of the product. Below you can see the official blog detailing the launch of Parse Server.
http://blog.parse.com/announcements/what-is-parse-server/
Parse Server is NOT a copy of Parse! There are major differences between both platforms. I will illustrate the main differences:
Features | Parse | Parse Server |
Local development & testing | No | Yes |
Flexible Hosting (USA, Europe, Asia, etc) | No | Yes |
Control over database (backup / restore) | No | Yes |
Control over database indexes | No | Yes |
Query more than 1000 objects | No | Yes |
Store files elsewhere (CDN) | No | Yes |
Enforced time limits | No | Yes |
Open Source | No | Yes |
External contributions | No | Yes |
Analytics | Yes | No |
Authentication | Yes | Yes |
Config | Yes | No |
Push Notification | Yes | No |
Data Browser | Yes | Yes |
In-App Purchase Receipt Validation | Yes | No |
Background Jobs | Yes | No |
System E-mails | Yes | No |
Schema API | Yes | Yes |
Webhooks | Yes | No |
Uptime monitoring | Yes | No |
Logs | Yes | Yes |
Dashboard | Yes | Yes |
Queries | Yes | Yes |
Users | Yes | Yes |
Sessions | Yes | Yes |
Roles | Yes | Yes |
Files | Yes | Yes |
Geopoints | Yes | Yes |
Data Browser | Yes | Yes |
You can read a more detailed article about the differences between both platforms below:
https://blog.back4app.com/2016/03/30/parse-open-source-is-moving-fast-but-still-has-some-features-to-be-opened-up-see-which/
General Purpose: Open Source
Hosting: Self-hosting or Parse Server Hosting providers. Supports local testing and development.
Custom Code: Supported via Cloud Code.
Database: A NoSQL (originally referring to “non SQL”, “non relational” or “not only SQL”) database provides a mechanism for storage and retrieval of data which is modeled in means other than the tabular relations used in relational databases (key-value format, graph, wide column store, etc). Data constraints are loosely defined, or even not defined at all. (wiki).
Push: Support push notifications for Android, iOS. Also, users can manage Push Notifications campaigns.
Storage: No restricted time limits and no file storage restrictions. Control over backup, restore, and database indexes.
Provider: Developed by Facebook.
Ideal for: General purpose applications.
https://blog.back4app.com/2016/11/08/parse-com-vs-parse-server/
Parse Migration – What are the alternatives?
If you are migrating from Parse, creating a new mobile or web app you have basically 3 options to move forward. The options are:(1) Parse Server hosting providers. (2) Another MbaaS – Mobile Backend as a Service platform. (3) Parse Server Self-Hosting solutions.
Parse Hosting Services
The main differences between self-hosting solutions versus a Parse Server hosting providers are related to the Parse Server deployment and maintenance. A Parse Service hosting provider will provide a ready to go environment in which you can create a new app or migrate your app from Parse. The table below details the differences:
Features | Parse Server
Hosting Provider |
Parse Server Self-Hosting |
Create Server | Included | User need to create the server structure |
Download Parse Server | Included | User needs to download Parse Server |
Install Parse Server | Included | User needs to install Parse Server |
Deploy Parse Server | Included | User needs to deploy Parse Server |
Keep Parse Server-Updated | Included | User needs to keep Parse Server up to date. |
Create multiple apps | Included | Users can only deploy one app. |
Auto Scale | Included
(check vendor) |
User needs to create new servers and take care of the infrastructure. |
Backup | Included
(check vendor) |
User needs to take care of the backups. |
Redundant Server Structures | Included
(check vendor) |
User needs to take care of the redundancies. |
Please find below the major Parse Server hosting providers.
Back4App
What Is: Parse Server Hosting platform to build and host your apps using Parse Open source.
Main Features: Parse Server Dashboard, Push Notifications Tool, Global Config, Facebook and Twitter Integration, Push config, Background Jobs, Cloud Code Tool, System emails, Migration tool, CLPs, Automatic emails.
Pros: Features, no vendor lock-in, backup policy, server redundancy, AWS server provider.
Cons: Servers in the USA only, new company.
Nodechef
What Is: Provides Parse Server hosting
Main Features: Push Notifications, Background Jobs, Addons, Parse Dashboard
Pros: Database management experience, addons
Cons: New company, not 100% focused on Parse Server, run only Parse Server core product.
Sashido
What Is: Parse Server Hosting for busy people
Main Features: Push Notification, Cloud Code, Background Jobs, Social Logins, E-mail Integration,
Pros: Features, focus on Parse replacement, no vendor lock-in.
Cons: Does not have a backup policy, no USA servers and does not have a US-legal entity.
The table below provides a detailed description of the players.
Description | Back4App | NodeChef | Sashido |
Price | Free
Starts at $4.99/month |
Paid Only
Starts at $9.00 / month |
Paid Only Starts at $4.95 / month |
Backup | Yes
Every Hour |
Info not available website | No |
Redundancies | Yes | Yes (Need to pay extra) | Info not available website |
Hosting | Amazon AWS | Info not available website | Cloudstrap / AWS |
Vendor Lock-In | No | No | No |
Support | 24 / 7 | 8 / 5 | 24 / 7 |
Auto Scaling | Yes | No | Yes |
US Legal Entity | Yes | Yes | No |
FAQ | Yes | No | Yes |
Docs | Yes | Yes | Yes |
Blog | Yes | Yes | Yes |
Partnerships with Cloud Services | Yes | No | No |
Migration Engine | Yes | No | Yes |
Parse Server Dashboard | Yes | Yes | Yes |
Push Notifications | Yes | No | Yes |
Global Config | Yes | No | Yes |
Facebook & Twitter Integration | Yes | No | Yes |
Background Jobs | Yes | Yes | Yes |
Cloud Code Tool | Yes | Yes | Yes |
Automatic Emails | Yes | No | Yes |
BaaS – Backend as a Service platforms
There is a vast quantity of BaaS providers available on the market, and I will focus on the 3 most relevant for the Parse migration.
Firebase
What Is: Firebase is a mobile and web application platform with tools and infrastructure designed to help developers build high-quality apps. Firebase is made up of complementary features that developers can mix-and-match to fit their needs.
Main Features: Cloud Messaging, Realtime Database, Test Lab for Android, Crash Reporting
Pros: Large company, good documentation, and reliable server structure.
Cons: Time to conduct Parse migration and the necessity to change the API.
The article below compares Firebase with Parse Server.
Stamplay
What Is: The low code development platform to build with APIs as if they were building blocks.
Main Features: Connectors, Bring your own code, Database & REST API, User Auth & Security, Frontend
Pros: Vast quantity of connections, it is #500 Startup company, time in the market.
Cons: Time to conduct Parse migration and the necessity to change the API.
Backendless
What Is: Is a universal server-side platform used by mobile and desktop developers to build applications.
Main Features: MBaaS, API Engine, Marketplace
Pros: Long time in the market, Online, and Offline version.
Cons: Time to conduct Parse migration and the necessity to change the API.
Parse Server Self-Hosting
The main platforms being used for Parse Server’s self-hosting deployment are AWS, Azure, and Digital Ocean.
Digital Ocean
It is a new cloud hosting provider. Launched in 2011, Digital Ocean focuses only on developers’ needs, unlike Azure or AWS with everything-to-all-people approach. A detailed comparison can be found below.
(I) Digital Ocean x AWS (II) Digital Ocean x AWS
Digital Ocean supports Parse Server, and the following steps are necessary to conduct the migration.
Prerequisites: Ubuntu 14.04 server, Node.js 5.6.x, A domain name pointing at the server and a Parse App to be migrated.
- Step 1 – Install Let’s Encrypt and Retrieve a Certificate.
- Step 2 – Configure DB for Migration
- Step 3 – Migrate Application Data from Parse
- Step 4 – Install and Configure Parse Server and PM2
- Step 5 – Install and Configure Nginx
- Step 6 – Test Parse Server
- Step 7 – Configure Your App for Parse Server and Finalize Migration
The detailed steps can be found below:
How to migrate Parse Server to Digital Ocean
AWS
Amazon Web Services is a secure cloud services platform, offering compute power, database storage, content delivery, and other functionality to help businesses scale and grow. It has servers all over the world and support since very small applications to huge enterprise projects. Please see the comparison below.
AWS supports Parse Server, and the following steps are necessary to conduct the migration.
- Step 1 – Run a Parse Server using AWS Elastic Beanstalk
- Step 2 – Set up a DB Instance
- Step 3 – Configure AWS
- Step 4 – Check your setup
The entire migration process can be found at:
Azure
Microsoft Azure is a growing collection of integrated cloud services—analytics, computing, database, mobile, networking, storage, and web—for moving faster, achieving more, and saving money. It also huge and has servers worldwide. Please see the comparison below:
Azure supports Parse Server, and the following steps are necessary to conduct the migration.
- Step 1 – Create your Azure subscription
- Step 2 – Set up a DB
- Step 3 – Get a GitHub account
- Step 4 – Create a new backend in App Service
- Step 5 – Clone the Parse server repo and deploy to Azure
- Step 6 – Configure the backend
- Step 7 – Add your Parse cloud code
- Step 8 – Update the Parse SDK in client apps
The detailed tutorial is shown below.
Parse Server – Costs
The cost to host Parse Server depends on the size of your application and if you will use a Parse hosting service or a self-hosting instance.
The cheapest way to move on is to choose a Parse hosting service. Dedicated instances on AWS, Digital Ocean, or Azure will be much more expensive in comparison to the shared instances of Parse hosting providers. See below:
Plan | Back4App | Nodechef | Sashido |
Free Plan | Yes | No | No |
Start Plan | $4.99 | $9.00 | $4.95 |
For a complete understanding of how to create a dedicated instance on a self-hosting provider, please read the article below.
https://blog.back4app.com/2016/06/21/parse-aws/
Parse Dashboard
With the shutting down of the Parse hosted service and the transition to the Open Source version you may be questioning how to manage your application when it is running on your server or on a Parse hosting service.
Parse Hosting Service
The providers will take care of the dashboard for you, and you do not need to worry about it.
Parse Server Self-Hosting
Please check the article below for further information.
http://blog.parse.com/announcements/introducing-the-parse-server-dashboard/
Parse Server Contributors – Developer Community
The main advantage of Parse Server in comparison to Parse is related to the large developer community surrounding it. The product is improved on a daily basis, can be customized and provides much more flexibility in comparison to the web version. The complete list of contributors can be found with the link below:
Why did Facebook Shut Down Parse?
There are a lot of theories about it, but most of them are mere speculation and the real reasons are detailed below.
#1 – Acquihire
I don’t think so. It would be the most expensive and longest acquihire in history.
#2 – Facebook Login
I don’t think so, but there is a long discussion on Hacker News about it.
#3 – Parse was not a profitable business
I don’t think so. Parse was profitable and had reasonable margins for a hosting service.
So, what are the reasons?
#4 – Strategy + Ads + B2C
Facebook´s strategic roadmap changed a lot between 2013 and 2016, and as you can on the image below, Parse was no longer part of it.
At the moment of Parse acquisition, Facebook was not profitable and was not clear how they would make money. This scenario changed, and Facebook is now a money-making machine with its ads business. This business has much higher margins in comparison to the Parse hosting service. So, with this new variable in place these are the 03 main reasons Facebook decided to shut down Parse are: (I) Focus on their core business. There is more money there and no competition. (II) BaaS is a B2B business, and Facebook’s expertise is with B2C customers. (III) Facebook’s strategy changed since 2013.
Focus – Facebook acquired Parse for $ 85M. This is a huge amount, but it represents less than 1% of Facebook´s revenue in 2015. Most of the revenue from Facebook is generated from Ads and focusing engineering effort on this area does make much more sense.
B2B x B2C – Most of the revenue created on the BaaS market comes from companies and not from single developers. Facebook has a very deep knowledge in terms of B2C customer acquisition but has very little expertise with B2B sales. This type of sales is completely different and would demand additional effort and investments to be made by Facebook.
Strategy Change – Parse acquisition made a lot of sense in 2013 for Facebook. Their mobile SDK was never greatly accepted inside the developer community, and Parse could help to solve it. It looks like Facebook´s strategy has changed since 2013, and they are now much more focused on Messenger and moving the Parse team to work on this product.
Another important point emphasized by Sokna Ly – Software Engineer is:
“Parse represents less than 1% of Facebook´s revenue in 2015,” so this is the main reason why Facebook had decided to give up on Parse.”
Please see my Quora article for further reference.
The blog from Highscalability is also very helpful and provides great info.
What happens after Parse shut down in Jan 2017?
After the complete retirement of Parse, the following event will happen:
- Hosting Service will no longer work
- Apps and Databases will no longer be able to be accessed
- Data will be lost.
- The Apps still connected to the Parse API will stop working.
So, all applications must migrate prior to Jan 2017. Otherwise, they will simply stop working. It is important also to note the migration process takes some time, and even after the migration, the apps will need to update the SDKs and point it to the new APIs created after the migration.
Parse Server will dominate the BaaS landscape because it´s free, Open Source and has a huge developer community around it. Parse Server will do for APIs just like Git did for source code versioning. Proprietary tools are very hard and expensive to scale, and very few companies can create a large community around it. Parse may be shutting down, but Parse Server is growing bigger than ever. Parse Server technology has 600k developers around it, 11k stars and 3k forks on Github and this community is eager for value-added solutions.