For a long time I have been advocating that a good Platform as a Service offering should have MBaaS component. I have got push back from folks saying that it is not the case. I never argued that MBaaS is a feature of PaaS but it complements PaaS to make a complete application platform. There are some misconceptions that MBaaS abstracts away PaaS just like PaaS abstracts away IaaS. Rather, I see PaaS and MBaaS as peer services and together they make a good enterprise developer platform.
MBaaS is fast becoming a hot market segment with more and more players jumping in to compete with upstarts like Parse, Kinvey, Appcelerator, etc.. Part of the reason for this boom is the mobile first strategy inside many enterprises. MBaaS is fast turning into a sector where enterprise money is going to flow in large numbers soon. Enterprise mobile first strategy is one of the reasons why there is some confusion on where MBaaS sits vis a vis PaaS. The way MBaaS is projected in the media is as follows
However, the reality is totally different with PaaS and MBaaS sitting as peers on top of the data layer. The apps on MBaaS as well as PaaS act on data which may be independent of the platform. Yes, I agree that there may be instances where data is stored either inside of PaaS or MBaaS and accessed only by apps inside the respective platforms. However, most organizations will want to have both mobile apps and web/traditional apps access the same data. There is no point in creating data silos for each platform and then worry about a way to make these data consistent.
Ideally, an organization using legacy, web and mobile apps will be looking at a set up similar to the one shown below.
Please note that both PaaS and MBaaS are peers in the above diagram. I have the PaaS block larger than the MBaaS block because some of the PaaS offerings also support legacy applications along with modern web applications. The key is to architect your data layer independent of your application deployment platform and treat both PaaS and MBaaS as peers. After all, enterprise mobile apps and its equivalent web (or traditional) apps are just two different interfaces to “action” on the same data.
This Friday (20th Sept. 2013), I am hosting a Google Hangout with Sravish Sridhar, CEO and Founder of Kinvey and Gordon Haff, Cloud Evangelist at Red Hat. We will be discussing about PaaS, MBaaS and how these two platforms work together to meet enterprise needs. We will also briefly discuss about the news yesterday about Kinvey’s partnership with Red Hat OpenShift (Disclosure: I work as Director for OpenShift Strategy at Red Hat). If you can’t attend the hangout, please visit back this page to watch the recording of the session.
Krish – MBaaS is not an abstraction of PaaS. The diagram is only a representation of how the APIs get further abstracted. Case in point – Google Mobile Backend Stater Kit (MBaaS), which is running on top of Google App Engine & Windows Azure Mobile Services (MBaaS) that is built on top of Windows Azure (PaaS). This may not be the case with every MBaaS provider but the consistent way in which developers get to deal with the service layers.