As the need for mobile applications continue to skyrocket, the need to make the ecosystem around it grows alongside. With the BYOD wave, the need to make the infrastructure supporting this apps robust grows. We have heard a lot about front-end for mobile apps — sleek functionality, cool UI and form factor. But there is another discipline that is emerging to make the deployment of these mobile applications quicker and faster. For a lack of a better term…this has been coined as mobile backend as a service. Existing middleware solutions become limited in a consumer-driven app world. And so there needs to be a more elastic solution
Here’s how the pyramid plays out.
So as you can see, this is a layer between middleware and the platform itself and addresses some key areas in mobile development — data storage and retrieval for your mobile app. Does the data on your app reside in a place that is network accessible? Is it accessible for all the operations on the website. Will users who access this data from your mobile app be able to authenticate through existing security infrastructure. All these questions are answered by the MBaaS solution.
Elements of a lean BaaS solution
Context-driven mobile apps — Apps need to super contextual. There needs to be location-specific information, access to third party social graphs. So, the signals and data emerging from this app help the developer to create a compelling experience.
Native push notification – Native push notifications allow the developer to signal the user that
an important, contextually appropriate activity is currently available through the notifying app. For example, if traffic congestion exists on the user’s current driving route, a native notification will alert her to this and allow her to select this alert, engaging the appropriate app. Now this is powered by backend-as-a-service
Cloud based storage — datacenters are inelastic and cumbersome for off-device data storage. BaaS helps to store all this data using either NoSQL (i.e., Apache Cassandra, MongoDB, or Windows Azure Table Storage) or SQL (i.e., IBM DB2, Oracle MySQL, or PostgreSQL) data store.
The cloud to cloud connection — as more and more services are being powered by the cloud, it is important that the BaaS solution integrates with other clouds through some APIs.
Data portability — a good BaaS solution should allow the developers to port existing data on other cloud platforms
Analytics — makes a big piece of the BaaS puzzle. The developer’s console needs to access this information to drive advertising driven revenue models and
User management in the cloud — allows an administrator to add/remove/ edit users, and it also allows users to access the app’s features from multiple sources. It removes the need to maintain multiple user stores.