Choosing an MBAAS Solution (OR NOT).

Boydlee

Boydlee

MBaaS (Mobile Backend as a Service) is being hailed as a road to faster, more secure and more stable app data delivery. It’s a relatively new, niche platform, but the essential crux of it is that an MBaaS provider will deliver a set method of storing and retrieving your data (usually with at least one API stream, but normally with REST, iOS and Android SDK’s as a minimum) and guarantee scalability and up time. In return, the functionality of the MBaaS is usually limited to a number of pre-set data containers and functions. These services are geared tightly around mobile apps and their specific requirements, so again most MBaaS providers will provide API’s for mobile specific features like push notifications, social integration, out-of-the-box user management, and mobile analytics.

There is no doubt that MBaaS should be an option you investigate whenever you embark on a new mobile project. The benefits of such a system are huge – particularly for startups where pricing is a key to success as most of the MBaaS providers offer generous “free” limits available to both personal and commercial customers. There are, however, numerous pros and cons to choosing an MBaaS that you should be aware of before embarking on any project. Let’s evaluate two of the most popular MBaaS systems – Appcelerator’s ACS, Parse.com (now owned by Facebook), versus building your own custom solution.

Appcelerator Cloud Services (ACS)

Pros: Probably the most mature, enterprise focused of the three solutions here. Appcelerator’s key strength obviously lies in the tight integration it has with its Titanium Mobile product line – Titanium apps can be created with baked-in ACS support so you can get started with storing data on the cloud and accessing it via the built-in APIs in absolutely no time at all. ACS also has extremely generous limits for the number of API calls you can make (much better than Parse and other MBaaS providers), how much data you can store, and the number of push notifications you can send. For social apps, their built-in services such as user management, places, checkins, rating and social integration make a developer’s life much easier. ACS is built on top of robust services such as MongoDB, Amazon S3 and Amazon cloud server technology.

Cons: If you need to move off those generous free limits, ACS starts to become very expensive indeed. It is targeted at enterprises and the pricing model reflects this – Enterprise level pricing can run into thousand of pounds a month. Their online web management tool is also awful – it’s steadily become better in recent history but has a tendency to crash, not save data and has even been known to delete data. The export tools only allow one weekly backup and no restore features – not great from a disaster recovery stand point. Push notifications also have a tendency to be easy to set up but rather slow, so if push timing is critical in your app this is one to steer away from.

Parse.com

Pros: Parse.com takes a different approach to many of the MBaaS providers by allowing the user to create their own custom “classes” instead of providing numerous pre-set modules (though it does provide some, like User management). This makes for a much more open ended solution, and one that is much easier to tailor to your specific apps needs. Additionally, whilst not perfect, the web management tools are quite good and considerably better than those provided by ACS. Parse’s payment plans are also much more geared towards startups and SME’s – Pro pricing starts from $199 and Enterprise level pricing from $1,000 p/m – although a free version with 1 million requests and 1 million push notifications is available as well. Parse also has both data import and export capability, and supports a very large number of SDK’s including JavaScript, REST, iOS and Android making it a no-brainer regardless of what tech you’re using to build your mobile apps. Parse also features Cloud Code which lets you write and push your own Node.JS based functions to your mobile backend via GIT.

Cons: Depending on your perspective, the fact that Facebook has it’s claws deep into Parse now may not may not be a bad thing. If you feel wary or threatened by the social giant you may want to give this option a miss. The free limits are also considerably less than ACS, which offers 5x the amount API calls and Push. Additionally, Parse has a brilliant push notification API system but unfortunately if you are developing a non-native (Java) app for Android then you’ll struggle to implement their Android push notification module which is a custom background service as opposed to a standard GCM or MQQT push notification mechanism.

Build It Yourself

Pros: Think carefully first about these MBaaS solutions – do you really expect your new app or service to grow to 100,000+ users? Will it really only be used by a couple of hundred people at most at any one time, making scalability a bit of a non-issue? Unfortunately, many people caught up in the hype of using MBaaS solutions have forgotten that sometimes, building your own API / backend solution really is the best way to go. You control the technology, the database and the language your API’s are written in – normally that would be whatever you are most comfortable with and have experience in using. There’s much to be said for the efficiency of familiarity. Need a new module, bash script, or feature in your API? Just build it! Additionally, you’re free to host your servers and code in any way you see fit and there are plenty of great scalable cloud server offerings in the market place to do this efficiently.

Cons: The cost of hosting may make this solution more expensive than using either of the free or basic plans provided by ACS or Parse. Should you choose to ensure you can scale safely, you will need to control the number of servers, load balancers and data storage right from the start. Some providers, like Amazon and Rackspace, make this extremely easy but you should be aware that charges are almost always bandwidth based so if you have a very successful app, you could end up with a very large bill. Additionally, services like Push and User management won’t be backed into a DIY version of a mobile backend – you’ll have to find other providers that you can integrate with to provide these services.

Well there you have it, the pros and cons of two very different MBaaS solutions, and a reminder that sometimes building your own API’s really is the way to go. If you’re interested in evaluating some of the MBaaS offerings further, try out these for size:

Appcelerator Cloud Services (ACS)
Kinvey
Parse.com
StackMob
Strongloop’s “Loopback”
(Open Source, and available as a pre-installed image on Rackspace.com)

Words: Boydlee Pollentine

Original article: http://boydlee.com/choosing-an-mbaas-solution-%28or-not%29.html

Boydlee is passionate about mobile development and in particular the Appcelerator Titanium platform – having now written two separate books on the subject, and being the founder and organiser for tiConf EU and tiConf US, community run Titanium developer conferences in Europe in the USA. He emigrated from Australia in 2011 and now calls Norwich home. Boydlee runs a small digital and mobile agency in Norwich,Tipsy & Tumbler, with his partner, Hannah.

 

One thought on “Choosing an MBAAS Solution (OR NOT).

  1. Boydlee

    Just as a side note, Appcelerator’s ACS also has the ability to create server side Node.JS code using a feature called Node.ACS, which works in a similar way to that of Parse.

    Reply

Write a Reply or Comment

Your email address will not be published. Required fields are marked *


    Keep up to date by email

    Sign-up to receive regular updates on all of our content and site activities.