Anyone doubting the viability of Backend as a Service (BaaS) only needs to look at Facebook’s acquisition of Parse.com this year and the growth of BaaS over the past eight years. Facebook’s acquisition of Parse.com, for example, allows the social media giant to provide their own backend services for games and applications. Close integration of Parse with the Facebook platform should lead to reduced server latency and greater responsiveness.
Parse.com has been described as both BaaS and XaaS (Everything as a Service). Simply put, it’s a complete service for the backend of your apps (whether on mobile, Web, etc.) so you don’t have to worry about setting up and managing your own server. Note, server here generally refers to a lightweight game server which manages message passing between users, storage of game state, and push notifications. This is not your father’s Quake multiplayer server.
Since 2007-2008, when the Facebook platform and mobile apps first appeared, there has been massive growth in the BaaS sector. Wikipedia lists 33 current BaaS providers, the Developer Economics website shows 43, and more are likely to emerge before the dust settles.
Presently, most of these providers offer their services free to developers up to a certain traffic threshold, above which you start paying. With so much competition, there will inevitably be failures, mergers and acquisitions, as the sector consolidates. Here are some questions and answers that are often raised and addressed when it comes to BaaS:
Who Are the BaaS Customers?
Why Not Roll Your Own Service?
Mainly because most app developers don’t have the expertise to setup and manage a robust and scalable backend. Nothing says unprofessional more than an app that’s unable to connect because the server is overwhelmed. FarmVille initially suffered from connectivity issues due to its rapid user growth but Zynga quickly fixed it.
With so much BaaS available, the question should really be why you’d want to develop your own server. It’s worth looking at what BaaS providers offer. Some have focused on the specifics of what developers need from a server and most offer an API or SDK for the different mobile platforms.
Under the “traditional” cloud providers such as Amazon, Rackspace, Azure, OpenStack, etc., you pay separately for traffic, storage, processing, database use, and more. It’s your responsibility to create and then spin up servers and monitor them.
Many BaaS providers have simplified payment systems, so, for example, you pay per API request once you exceed the million free threshold in Parse.com, or per user in Apstrata after the first 500 users. Cloudbase.io uses a more traditional pricing tier structure, with 30 users and 150MB of data free and a GB of data for $11.99 a month.
What’s the Real Cost?
Here’s an example of the running costs with users. 15 million API requests per month on Parse.com will cost you $199 per month at their Pro tier. That seems like a lot but if a user’s actions use 50 API requests per day, then you’ve got a maximum of 10,000 users a month. Double that number of users and at 5 cents per 1,000 over the 15 million, you’re talking another $750, so $949 a month.
Apstrata’s fees are based on registered users and are 5 cents per user from 501-10,000, so 10,000 users costs $500 a month. Adding another 10,000 only increases the price to $600 as the price per user drops to 3 cents.
So in both cases the income from selling 20,000 iOS apps at $0.99 (revenue $0.69) will be mostly eaten up by a year’s hosting fees. You’d better have other revenue streams or keep the number of API calls down.
And Open Source?
If you’re prepared to get your hands dirty, dreamfactory and others provide open source that you run on your server and which interfaces to your preferred cloud provider. This takes more effort than using a full BaaS provider but is a lot less than creating your own server.
It’s an exciting but confusing time for app developers who want to go beyond standalone single user apps.