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 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.
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.