The buzz on using platform-as-a-service (PaaS) for app development has been loud for a while now but it has just recently emerged as a serious reality play. Sure, a few developers have been working in PaaS, most of whom were quick to tout its benefits. Still, they were in the minority. Many developers and development managers were still kicking the PaaS tires and were not quite ready for the test drive.
But that was then and this is now: 2013 may be the year PaaS goes full bore in mobile app development, according to industry experts and enterprise development teams.
“In the mobility world we call it MBaaS or Mobile Backend-as-a-Service,” explains Vishal Jain, analyst of Mobile Services at 451 Research.
Technically, MBaaS is a hybrid of PaaS and middleware involving ready-made server code and APIs, explains Jain in his report. “Increasingly it is moving towards offering custom code services from the earlier out-of-box for some of the generic use-cases,” he says.
For CIOs and application development managers, the mobile backend-as-a-service setup equates to the same savings found in any cloud scenario. It eliminates the need to buy hardware and provide staff to operate it and maintain it. It also means app developers can spend 100% of their time actually developing and none on tinkering with servers and tuning databases. Further, apps are turned faster, which in turn helps close the gap on time to market and improves the company’s app store’s ability to compete with consumer apps for employee use.
The problems before PaaS came into play were multifaceted for developers and employers alike.
“Turn-around times of app stores, especially the iOS app store for testing, submission, and approval is long,” explains Hwee-Boon, founder and iOS developer at MotionObj, a coding, app design, and consultancy. “Pushing out an update might also not be strategic, and you might want to keep your current versions ratings until you have something more substantial.”
Hwee-Boon explains how PaaS has changed the situation for the better, in his experience:
At its core, many PaaS for mobile services usually have a hosted database that is accessible directly by the mobile app. You can make use of a PaaS to host a set of configuration for your app, essentially a set of flags that turn on/off certain features or little bits of functionality. You still have to plan ahead and build the functionality into the app that is submitted, but after that, you can just toggle a value in the PaaS and it should affect whether your app enables a certain feature or you can use this to A/B test. This is especially useful for apps that do not already have a custom backend that you can build this configuration functionality on.
But the biggest pay-off of this new-founded path to app development may just be in the innovation capabilities it brings. Developers may find that a bit disconcerting since that innovation likely comes via a distributed development model wherein the apps are centrally managed but built at the business unit level.
Currently, we see users spin up virtual machines on public clouds at a dizzying pace and hoards of employees leaping to unauthorized consumer apps with loads of company data in hand. But soon, expect to see a rush of ad hoc app development springing from the business user base.
For CIOs that emerging trend will be both blessing and curse. It means action is needed now to get ahead of this curve and ensure governance and compliance is in place. But it also can relieve the strain on IT’s dwindling resources as it shifts much of the app development work to business users instead.
One of the best ways for CIOs and App Dev Managers to get a handle on this and prosper from the possibilities is to form a tight, cohesive innovation pact with users. Here are three tips on how to use PaaS and judge its effect on innovation:
- Look for ways to sync data so apps can have more depth and so apps developed in a future distributed model all carry the same data. Here is yet another reason to get data out of silos, so it can be readily used where needed.
- Use PaaS to develop a full developer-centric environment so that innovation breeds prolifically and easily. Train anyone interested in app development (in any business unit) to use your choice of platforms (we like to think that will be from Mendix) and to insist that platform be used for security and compliance reasons.
- Develop a sound testing program of user developed apps before they are released to the enterprise app store – but make sure that process is swift. Delaying implementation of new, innovative apps diminishes returns and encourages user developers to use a different platform, i.e. to join the Shadow IT ranks.
Yes, IT’s role is changing but that is nothing to fear. Just because business is being done differently does not negate the fact that it is still being done. CIOs need to rethink how best to lead that change and manage it once it happens – but that has been the case for years now. Changes in app development brought on by PaaS are just another way to push your company into a more competitive stance even faster.
App Dev Managers should also expect to see their roles change. Instead of herding professional developers, they may find themselves also herding a hoard of ad hoc developers spread throughout the organization. If you guide the users now on where to go, what to do, and how you can help, these newbie developers are less likely to go rogue and are more likely to actually make the work easier.