One of the benefits of working on cutting edge technology like PaaS is that I get to have conversations with enterprise customers about the transformations that PaaS will bring. Increasingly, I’m seeing lots of interest in the intersection of PaaS and mobile enterprise (yeah, it’s not just an attempt by me to put together two buzzwords!). I thought that I’d share some of what I’ve learned from the conversations. I’ll keep the customers’ names private, but this summary is from the perspective of several Fortune 50 executives in varying industries in charge of mobile application strategy.
Mobile Requires a Shared Services Platform
Nobody wants to be in the device management business. One of our customers said it best when he said “Look, we need a service, data and device ecosystem so that apps can talk securely to one another. I want to manage function, features and data, not devices.” Customers are looking to build a platform of shared services that can be consumed by applications running on mobile devices. They want their employees to have secure access to these services in a consistent way. They don’t want each application to have its own “mobile delivery strategy”. In effect, they need to assemble a catalog of services and expose these capabilities in a multi-tenant fashion in order for it to be efficiently shared. PaaS is a logical solution to this problem because at its core, that’s what it provides – and while nearly all PaaS offerings don’t provide multi-tenancy as a first class application capability, some do, making PaaS even sweeter in those cases. PaaS also ensures that all services and applications can be easily discovered and surfaced to any type of endpoint in a consistent and secure way. Sometimes that endpoint is a smartphone but it could be an ATM machine, an RFID sensor or an automobile dashboard.
Got an API? Mobile Will Exercise it in Ways that you didn’t Expect
Many customers have employed SOA design principles with their enterprise applications. This lends itself nicely to the shared services ecosystem. Until mobile, however, most enterprise APIs had been exercised mainly by a single client – the web and/or desktop UI using its functionality. As we move to a world with multiple endpoints, these APIs get used in ways that were never intended or tested. This intuitively makes sense. I use the mobile version of my favorite apps differently than the web versions. The problem arises when scalability and performance issues with the API get surfaced by these new use cases and it can even fool the monitoring tools you have in place. One customer told me that the mobile version of one of their enterprise apps was generating false denial of service alerts based on the usage pattern. Latency is another issue in mobile. If your web page makes ten API calls to get data back from your back end, it’s probably not going to affect the use experience a whole lot. Over mobile, it could kill it and it’s something that developers typically don’t think about. Take a look at Netflix Hystrix Request Collapsing as a cool solution, albeit a slightly different use case.
After twenty years of trying, as an industry, we should just admit that we suck at capacity planning. PaaS lets you embrace this truth and trades false predictions for real-time agility by making it easier to write and operate scalable cloud applications.
Monetization of Services
Mobile applications often introduce the need to securely collect information from multiple sources. Perhaps your app needs to talk to your internal system to determine your expense approval limit and also talk to your bank’s system to get your credit card balance. Most companies I talked to are trying to figure out ways to monetize their services/APIs and data in a sensible way. They need things like versioning, metering, chargeback and real resource tracking and throttling to do this right. You also need multi-tenancy at the application level or you’ll be firing up VMs for every customer you onboard. This kills the economic model around service monetization. If PaaS fulfills its promise of making it easier to build next generation cloud applications, developers are freed up to focus on creating real business value.
Like I’ve said before, PaaS is way more than just deployment. We’re just scratching the surface here.