If you want to store data on a server while developing your web or a mobile app, you’re left with two choices. You can write your own code for the server backend, create your own database, and even your own communications protocol to connect your app with the server. Sounds Herculean for the resources you have in mind? That’s when you go for the second choice, MBaaS. Mobile Backend as a Service aka MBaaS is basically a service that will do this sort of grunt work for your app.
BaaS companies make building apps easier by providing complete backend functionality and scalability. They help reduce server side coding and enable smaller teams to build better apps faster. They handle complex day-to-day work like backing up data, push notifications and server management for you. They offer you these backend services on top of a cloud-based infrastructure. Which means your mobile app is now talking to their cloud, so you don’t have to do the server maintenance or hire engineers that write the low-level server-side code.
For example, maybe your app is a game that stores user data such as levels completed or high score on a server. If you’re a startup that is stretched on resources, a service like MBaaS can help your gaming app out. Put simply, it is essentially going in for a contract with a service provider like Amazon that has the servers and communications APIs in place. Your developers will need to just write your code on top of their servers and communicate with your mobile app using their API.
MBaaS has solved the challenging aspect of managing mobile backend in a way that app developers are now consistently leveraging its offerings across multiple projects. Instead of doing the tricky work of setting up a cloud database and a server for push notification and user-management system, they can simply ask an MBaaS vendor to provide it all out of the box. Then, their work day no longer involves the tedious exercise of checking up on uptime and backend scalability. Therefore, not surprisingly, BaaS use within mobile app developers has exploded in the past couple years. The global BaaS market had an estimated value of $216.5 million in 2012 and is projected to grow to $7.7 billion by 2017.
But is cloud backend the right choice for your business? If you are looking to make that decision, here are six factors that will help you:
- How fast do we need to deliver?
While every project today seems to be on a tight deadline, if yours truly is time sensitive, it may make sense to go with BaaS. Complex functionalities like real-time synchronization, notifications, access management, and data modeling become relatively easier to handle with BaaS.
That said, you might not always have the choice to take advantage of BaaS.
- Do you already have a database?
If you already have a SQL or Mongo Database that you are using for a web app, then migrating the database to a BaaS platform may not be worth the time and effort. You may be better of just writing web services to let you mobile app get access to your database.
- Do you have strong database resources?
If your team is front end focussed, then instead of learning the ins and outs to SQL and then writing web services, you might be better of using BaaS. The major advantage is that these platforms provide solid customer service. Its not unheard of that they will actually setup the backend for you!
- Are you open to spending on a subscription?
Going the BaaS route will definitely save you big at the development stage. However, if your app has too many moving parts and database fields, you might end up paying a hefty subscription fee that can run into thousands of dollars every month.While it comes down to how a BaaS platform charges (per request, per user, per functionally), but as you will scale your app, rest assured that the costs will get compounded.
- Do you want complete control on the backend?
Hosting your complete backend data over the cloud can alter your app response time numbers. Check with your service provider to understand if they are too slow for your needs. Some providers provide better speeds with higher enterprise-grade plans, but unfortunately you will never have a complete control over response times. Just like you will have no control over where your app is hosted. That brings us to the next point.
- Can you legally store your app data with a third-party service?
BaaS providers are ultimately third party service companies that can, at any point of time, bet bought over, face mergers or undergo management reshuffles.
This means that a service provider can always alter its service terms in the contract and easily rock your boat forcing you to either go along or suffer looking for another solution.
Also, if you’re in the business of mobilizing sensitive corporate data through your mobile app, you may have to take a close look at securely moving information in and out of any virtual data source right up to the mobile device. It’s important to ask questions like: Can the provider provide you with an instance of your data on the cloud? Can they provide you with an appliance that you can install in-house to ensure your business continuity? Also, consider the user demography that your app aims at. Take a re-look at the security policies that it demands.
There are as many as 40 companies that provide cloud backends some of the popular ones being App Accelerator, Sencha IO, Stackmob, Kinvey and Parse. And there’s an entire industry of on-premise mobile development tools. Even if your mobile strategy involves building your own backend at a later stage, considering to start with a BaaS to reduce your time-to-market is a wise step. This will also give you ample support to test out your app in the market and gather enough usage data to validate your app’s functionality.