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.
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:
- Push Notifications
- File Storage & Sharing
- Social network integration
- Messaging & Chat capabilities
- User Management
- Usage Analysis tools
- Build & execute business logic
- This in turn results in the following additional (technical) capabilities as well
- A data storage API for cloud based storage
- Binary Storage
- Device synchronizing & caching capabilities
- Online/offline workflow
- Third party Integration
- Secure connectivity
- 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:
- Data exports from the current vendor to ensure continuity
- Training on the new mBaaS
- 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:
- 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
- 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
- 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
- Setup – This will indicate the amount of effort to have the mBaaS up and running
- Scaling – The backend must be capable of scaling up/down to handle increase/decrease in loads and best use the infrastructure available
- 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
-
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:
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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. |
Related Posts
Cloud applications and services are bringing the benefits of the cloud to the healthcare industry including scalability to serve variable workloads, accelerating the speed of innovation, access to the latest security and infrastructure technology and big data diagnostics and analytics.
The digitalization of healthcare has raised concerns about data privacy and security. Read this blog to understand how to address these concerns and enable seamless data access.
In 2008, a significant outage in its data center prevented Netflix from sending DVDs to its customers for three days which prompted the company to rethink its IT architecture.
Whitepaper
Analyst Speak
(THIS) has been cited among notable vendors by Forrester Research in its report ‘The API Management Software Landscape, Q1 2024’. The report recognizes Torry Harris as a provider offering API management solutions with a geographic focus in the EMEA & APAC regions.
Forrester observes that the initial rush to “lift and shift” to the cloud has now been replaced by a focus on modernization and digital transformation. Cloud migration is the first step in a long journey to take advantage of the latest cloud-native technologies and services.
Torry Harris is a 'Strong Performer' in The Q3 2022 Forrester Wave™ for API Management Solutions. This report shows how each provider measures up and helps technology architecture and delivery (TAD) professionals select the right one for their needs.