Share |

As per Wikipedia, mBaaS or ‘Mobile Backend as a Service’, is a model of providing mobile app developers and web developers a way of linking their applications to cloud storage and backend APIs, with also the capability of user management, push notification and integration with third party systems like social media sites, news and other similar data gathering/publishing resources.

Mobile Backend-as-a-Service

The need for such a system has come into existence due to the rise in popularity of smart phones/tablets, demand for high quality mobile apps, rapid app development needs, high performing apps and very importantly, data security

Some prominent vendors who are in the mBaaS space are Parse (now owned by Facebook), Apigee, Backendless, Kii, built.io, Firebase and ones who specialize in the enterprise space are Encore.io, Appear, Appcelerator, AnyPresence, Kidozen, Kinvey & FeedHenry.

Typically the BaaS providers, help ease the laborious task of integrating the front ends with various back ends, using API/SDK stacks. This saves considerable time and money as it provides a uniform way to access & manage the data. The mobile app developers can then focus on building the apps without worrying about the low level tasks. These can be relegated to the mBaaS platform itself. For example the developer can be given an API to send a push notification to various platforms. He will not need to worry about how to implement it and can simply consume the API and be rest assured that the push notification is sent to the concerned devices.




The most common set of capabilities provided by an mBaaS are:

  1. Push Notifications
  2. File Storage & Sharing
  3. Social network integration
  4. Messaging & Chat capabilities
  5. User Management
  6. Usage Analysis tools
  7. Build & execute business logic

    This in turn results in the following additional (technical) capabilities as well

  8. A data storage API for cloud based storage
  9. Binary Storage
  10. Device synchronizing & caching capabilities
  11. Online/offline workflow
  12. Third party Integration
  13. Secure connectivity
  14. Auto generation of REST based interfaces

mBaaS Considerations

An mBaaS solution, typically provides users with pre-built, cloud hosted components, which can be used to develop the apps. There is considerable savings in time and effort when these are used to build the apps. These are components which have been built and tested. So the premise is that using them will reduce the effort in these areas yet give the same functionality. Also, the vendors typically ensure that the capabilities are up-to-date and hence the time to market of subsequent versions of the app is also reduced drastically.

The flip side to using an mBaaS solution is that the mBaaS system itself can be a black box, without allowing developers to custom build components. Also, since the mBaaS itself contains all the development elements on the app side and possibly a lot of the business logic, enterprises may get locked down to an mBaaS vendor. The cost of moving away from them may be too high considering the following factors influence the costs:

  1. Data exports from the current vendor to ensure continuity
  2. Training on the new mBaaS
  3. Setting up the new mBaaS or bespoke backend solutions

With these in mind, we have tried to look at the factors to be considered in selecting an mBaaS solution. Most mBaaS providers, provide their solutions as a service hosted on the cloud. However there are implementations which can be hosted on premise and are open source.

From a business perspective the key factors to be considered, while adopting an mBaaS in an enterprise are:

  1. Ease of use – The need for an mBaaS was triggered by the need to have a simplified way of developing cross-platform apps. So the ease of using the tool itself will play a role in how successful the adoption will be. A higher learning curve might see the adoption seeing a lot of resistance among the developer community
  2. Enterprise Integration Support – Since the apps are expected to connect to internal business support IT systems, the ease of integration with these systems are important. This can be measured by the way the integration is supported – using APIs/Web services or custom building the applications. If the tool calls for custom building backend applications, it may not be a good choice
  3. Cost – The investments on an mBaaS need to be justified with the capabilities it offers. Also, the fact that an enterprise may get tied down to an mBaaS provider once they are on board is an important factor to consider while selecting a vendor
  4. Setup – This will indicate the amount of effort to have the mBaaS up and running
  5. Scaling – The backend must be capable of scaling up/down to handle increase/decrease in loads and best use the infrastructure available
  6. Support – This is critical when an enterprise is opting for an out of the box solution. Proper support and SLAs may be critical depending on the type of apps that are being built
  7. Enhancements – The product roadmap and the vendor’s ability to deliver custom changes plays an important role in determining the solution which best fits the enterprise. Always prefer an mBaaS which can adapt to the enterprise’s business, to one which requires the business to adapt to it.

    From a technical perspective, factors which will influence the selection of an mBaaS solution are:

  8. Offline Support – A mission critical app will need access to data under all circumstances. This means that whether or not there is an internet connection available, the app should have access to the data and/or must be capable of being used with changes being saved locally and submitted back to the server later on. From an end user’s perspective this must happen seamlessly
  9. Fast Data Access – There must be a right balance of storing data locally (and consuming the limited storage your device has) versus retrieving data from the server (and consuming incurring more data usage on the network). An ideal case is one where relevant data is allowed to be cached and the mBaaS provides the ability to refresh this cache on a regular basis
  10. Scanning & Data Push – There must be an enterprise integration framework which can listen to the changes within the enterprise IT systems continuously and be capable of pushing relevant changes on to the mobile devices as a push notification. This capability is important to ensure that data synchronization happens and at the right time
  11. Data Replication – It is imperative that the data changes on one device be synchronized with other devices, which are associated with the same data. How efficiently (speed and network usage) this gets implemented is also equally critical in many cases
  12. Authentication – The mBaaS must provide a means to reuse the authentication mechanisms within the enterprise. This may mean integration with an LDAP or Active Directory system. On the client side, instead of authenticating every request, there must be provision for reusing a client token after a one time validation
  13. Authorization – The authenticity of each request reaching the business IT systems must be verified before the request is passed on to the business systems. The mBaaS must be capable of doing this
  14. Platform Support - The mobile platforms (operating systems) which the mBaaS supports is important. The solution must also be one which is constantly updated to support new features that OS versions come with and also support multiple OS versions
  15. Existing data – Most mBaaS solutions assume that the app is new and there is no existing data to be migrated into the mBaaS solution. This may be a challenge is the app is already in use.

Commercial vs Open Source

The below table attempts to compare the commercial (closed sourced) products with their open source equivalents, listing the merits and de-merits of each of them against the mBaaS parameters (business & technical).

Capability

Commercial Products

Open Source Products

Ease of use

Vendors ensure the UIs are simple and intuitive. Well documented processes

Relatively easy. May be dependent of the quality of the documentation available and the

Enterprise Integration Support

Depends on the vendor. Limited to out of the box capabilities

Can be customized to meet the enterprise requirements

Cost

Freemium & Paid models

Free & Paid Models

Setup

Almost NIL as they are mostly hosted services. Mostly a simple sign up process to be completed

Need to provision separate IT infrastructure

Scaling

Auto scale as they are mostly hosted on the cloud

Will have limitations, based on the infrastructure available.

Can be overcome by setting this up on the cloud

Support

Provided and Depends on the license purchased

Depends on the community and there may be no guaranteed SLAs.

Typically open source tools are well supported by the community. Always choose a tool with an active user community

Feature Enhancements (new APIs/integration points etc.)

Will need to wait till the vendor releases a feature

Key features normally evolve and are made available faster by the community as compared to commercial products.

Can be prioritized and custom built by internal developers or can hire developers from the community

Offline support

Yes

Yes

Fast data access

Yes

Yes

Scanning & push data

Yes

Yes

Data replication

Yes

Yes

Authentication

Yes, but limited to the capabilities the vendor provides

Can be easily extended using other open source libraries

Authorization

Yes

 

Platform support

iOS, Android Windows, Blackberry, HTML5 (hybrid apps)

iOS, Android, Windows (only some products support it)

Existing data

Mostly not supported

Mostly not supported but can be accommodated with code changes

 

There are a multitude of mBaaS vendors to select from. Some of them are Open Source while others are closed products. The below list give a list of Open Source & Closed mBaaS solutions and available in the market today, along with some of their key features.

Open Source:

Capability

CloudEngine

OpenMobster

LoopBack

BAASBOX

Free

Yes

Yes

Freemium

Yes

User Management

Yes

Limited

Limited

Yes

Analytics

Yes

No

No

No

Synchronization

Yes

Yes

Yes

Yes

Push notifications

Yes

Yes

Yes

Yes

Mobile Platforms Supported

iOS, Android

iOS, Android

iOS

iOS, Android, JS

Cloud Based storage

Yes

Yes

Yes

Yes

Support local Storage (on device)

Yes

Yes

Yes

Yes

Hosted solution

Supports on Premise & hosted

No

Supports on Premise & hosted

No

Enterprise connectivity

Yes

Limited

Yes

Yes

Test Support

No

No

No

No

Server extensions (to build business logic)

Limited

Limited

Yes

Limited

Geo Location

No

No

No

No

Social Media Integration

No

No

No

No

Scheduled jobs

Yes

Yes

No

No

Integrate Existing Data

Yes

Yes

Yes

Yes

 

Commercial Products

Capability

Parse

Kinvey

Kii

Appcelerator

User Management

No

Yes

Yes

Yes

Analytics

Yes

Yes

Yes

Yes

Synchronization

Yes

Yes

Yes

Yes

Push notifications

Yes

Yes

Yes

Yes

Mobile Platforms Supported

iOS, Android, Windows

iOS, Android, Windows

iOS, Android, HTML5

iOS, Android, Windows, Blackberry, HTML5

Cloud Based storage

Yes

Yes

Yes

Yes

Support local Storage (on device)

Yes

Yes

Yes

 

Hosted solution

Yes (Cloud based)

Yes

Yes

Yes

Enterprise connectivity

Limited

Yes

Yes

Yes

Test Support

Limited

No

Yes

Yes

Server extensions (to build business logic)

Limited

Yes

Yes

Yes

Geo Location

No

Yes

Yes

Yes

Social Media Integration

Yes

Yes

No

Yes

Scheduled jobs

Yes

Limited

No

Yes

Integrate Existing Data

No

Yes

Yes

Yes

 

Conclusion

To conclude, selecting an mBaaS solution is like selecting a backend solution provider. Going with a product has its merits of bringing the best and the latest. But this comes as a premium and a possible vendor lock-in.

A bespoke solution may well be suitable for an enterprise, but the time-to-market and finding the best skills to implement the solution may be a deterrent.

An open source solution on the other hand, from an organization that provides paid support, may provide the best of both worlds with most capabilities being pre-built and the enterprise being allowed to customize them to best fit its’ needs.

 

About the Author

Sukesh Soman is the Head of Mobility at Torry Harris Business Solutions. He is a technology enthusiast with a cricketer's heart and believes in using technology to simplify life. Sukesh feels that technology is at its best when its a part of a common man's life.