Understanding mBaaS

mBaaS stands for Mobile Backend as a Service.

This has become over the past few years a critical component when developing mobile apps, both B2C (to consumers) and B2E (to employees) mobile apps.

To understand the value of an mBaaS, you need to have a good understanding of how a mobile app is developed. A mobile app consists of:

  • a front-end – the User Interface (UI), in other words what you see of the app when you use it.
  • a back-end – the different methods hosted on a web server that are rendering data needed for the front-end to display the right content.

Mobile development team structure reflect this paradigm: front-end developers on one hand, back-end developers on the other hand.

The front-end is some code that is running directly on the operating system of the mobile device. The problem is that there are many different operating systems out there – iPhone/iPad are running on iOs, Google OEM mobile devices (ex: Samsung) on Android and Microsoft phones on Windows Phone – so ultimately there is a different code developed for each OS. That’s the reason why a few vendors such as Appcelerator developed crossed platform development tools where you just develop with a single JavaScript source code base that automatically compiles into all native OS codes, leading to quicker time to develop an app, lower maintenance across devices and increased agility to develop new versions of the same app. But this is another story I may develop another day.

The front-end needs dynamic data to populate the different screens of the app. These data are received from the back-end which is in charge of connecting to the right data sources. The communication between the front-end and the back-end is made with REST APIs.

The major problem faced by mobile app developers is that 70% of the time developing a mobile app is spent on the back-end.

backend_development

In their efforts of reducing the time spent developing the back-end, software vendors have developed technology providing easy access to prebuilt services to facilitate all recurring tasks. All those services are constituents of an mBaaS solution. Here is a list of those prebuilt services:

  • database hosting: service to store data, either in a relational or non-relational manner
  • internal database integration: service to connect to internal databases
  • data synchronization: service to synchronize data between internal databases and the hosted database. This synchronization is useful to expose internal data to mobile apps while not overloading the internal database and ensuring better performance.
  • internal application integration: service to connect with enterprise back-end systems such as ERP and CRM. This service is key to fetch customer and operational data.
  • orchestration: service to mash up multiple data APIs together in order to send back a payload optimized for mobile
  • location: service to localize the app user
  • mapping: service to provide location on a map
  • identity and access management (IAM):  service to facilitate authentication via a hosted instance of a user directory
  • push notifications: service to send “push messages” to the app
  • storage: service to store documents or images
  • data encryption: service to encrypt data before storing it through a storage service
  • social network integration: service to use social network APIs such as sharing, liking, commenting
  • collaboration: service to comment and discuss specific items.

How to choose the right mBaaS vendor?

An mBaaS becomes rapidly a key piece of your infrastructure for mobile development. There are a few guidelines to follow when choosing an mBaaS solution:

  • Like any project, make sure that the vendor you choose offers the capabilities you need for your project. There might be situations where you are appealed by a solution but it turns out that it misses a feature you need for your specific project.
  • Mobile technology is evolving very quickly, be sure the vendor has the ability to embrace new technology quickly.
  • Don’t just focus on the prebuilt services, focus also on the capacity of the solution to connect to or propose an API Management solution: your backend APIs need to be secured against digital threats and your back-end systems need to be protected against traffic overload.
  • You never know how your deployment strategy will evolve over time. Select a solution that can be deployed either on the public cloud, on a virtual private cloud or on-premises.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s