In the age of cloud computing, I always had a feeling that potential of cloud computing has been underutilized by the IT industry. If I look back few years, in the beginning there were talks about what cloud had to offer.
We all talked about different deployment models [Private, Public, Hybrid, Community, etc.] offered by cloud and service models like IaaS, PaaS and SaaS. Later, as the industry started to adopt cloud computing, focus shifted onto Software-as-a-Service model more than other service models offered in the IT Industry. But over last year or so, adoption of PaaS is equally picking up its pace.
This is an indication of a focus shift where cloud is the replacement for IT as a platform for apps. One of the primary contributing factors to this phase shift has been the speed at which new technologies and methods are evolving. In order to build an application using latest technology stack in short time gives absolutely no time for developers to acquire in-depth skills even for the part of the technology stack. PaaS has started to emerge as an answer to these demands and MBaaS is a specialized term falling under the greater umbrella of PaaS. MBaaS i.e. – Mobile Backend as a Service, is a specialized form of PaaS for developing mobile apps.
It provides backend service such as data connectivity, visualization, security etc. for cross platform mobile applications which are easy to implement and replicate. MBaaS has shown very good potential in speeding up application development and efficiency by utilizing same services across offerings. Gradually, MBaaS will be at the forefront of the enterprise’s mobile strategy and as multiple vendors started to introduce multiple platforms in this space, it is critical to understand core features and services that one needs to focus while evaluating different MBaaS options. At high level, most of the MBaaS platforms provide support for below components:
• User Experience
• Usage Analytics
• Flexible and Extendable architecture
• Identity management
• Data Integration
• Platform Support
Some of the non functional aspects like reliability, scalability and deployment models are also handled by most of the MBaaS platforms. While selecting a platform, it’s important to understand the need of your application and evaluate accordingly. In my opinion, most of enterprise mobile apps have four key components out of the above mentioned list i.e. Cross Platform Support, Data Integration services, Security and Identity management. In the following sections, I have tried to summarize our experiences and understanding by providing insights into some of key attributes and components to consider while selecting MBaaS framework.
• Ability to add and execute business logic in ad-hoc way is very important feature for any application while using such platforms
• Also, support for different triggers to execute custom process will be vital as most of the apps need actions to be performed based on user input or based on schedule
• Support for different and multiple front-end libraries will enable vivid and reach user interface and user experience
• Built in capabilities to handle notifications is another important feature to look for
• This includes support for tracking different attributes of a user like Devices used, Activity History, active and total app users etc
• Statistical data for API calls
Flexible and Extendible Architecture
• Architecture of the platform should be easy to understand and robust enough so your own backend can be integrated easily
• Should support open standards for integration
• Connectors to key enterprise systems is a must if your app has such requirements
• Social media plays an important role in the success of any mobile app. User identity for integration purposes is equally required to push the success to greater heights.
• In case of enterprise app, it is also necessary to check for integration with identity management platforms like Ping Identity, LDAP, Active directory, etc.
• There are 2 key attributes for data security to be evaluated i.e. In Transit security and security at rest
• From a user identity standpoint, it is important to provide abilities to manage users, control access and define custom access control
• Based on the domain of your app, any compliance requirements also needs to be looked into
• Data integration has both internal and external connection purposes
• In built connectors to platforms like CRM, DBs, SAP, CMS etc. is must have based on your application domain and integration needs
As I said earlier, every app will have its own set of requirements and expectation from MBaaS platform, this list is a wide representation of superset that we have came across so far. I see MBaaS platforms getting more mature as we speak and this list will keep growing along, feel free to share your inputs and comments to make it more useful for all of us.
Author: MaheshKumar Kharade, Associate Architect, Harbinger Systems.