Every now and then I am asked by someone to guest post on my blog – recently Quinton Wall from salesforce.com approached me to do a series on PaaS. I took a look at what he was proposing and accepted his offer since I see a lot of value in what he’s doing trying to set a baseline for the discussion around PaaS. For full disclosure I need to clarify that I did not ask for, nor was offered, any financial recompense for running this series – it’s a simple case of getting some interesting thoughts out to the world.This is part two of a three part series.
Part one of this series identified the need to move beyond definitions of what PaaS is, or isn’t, and looked at the capabilities of PaaS that we believe are critical. It also introduced a framework for understanding these capabilities. This framework consisted of Infrastructure & Operational services, Platform & Developer services, and Business services. This post examines the Platform & Developer services that are needed for PaaS.
Developer & Platform Services.
Capability : Runtime and Development
It is unrealistic to believe that any organization can ignore the investment they have in existing technology – from both a system, and human capital, perspective. A key capability for PaaS therefore must be an environment that allows apps to be written in any language – not just to leverage existing skills, but also to ensure that apps are developed in the language best suited for achieving business and IT goals, support the ability to leverage existing libraries and build layers of innovation atop corporate systems.
In addition, any PaaS runtime and development environment should be supportive of modern collaboration and workflow strategies such as git, continuous integration, and existing development standards and processes. A successful PaaS strategy must deliver efficiency beyond technology alone – it must include the ability to support existing developer skill sets, take advantage of libraries and code created internally or externally to an organization, and offer a non-destructive path for developers to build new skills while consistently delivering on the needs of the business.
Capability: Programmatic Developer Services
Ifdevelopers are the new kingmakers, a rich set of programmatic developer services are critical to delivering the next generation of apps. PaaS developer services must support modern APIs and their approach to application structure.
Moreover, as more and more businesses look to deliver their own “as a service” offerings, a complete PaaS strategy must include the ability to leverage some form of service add-on ecosystem. This ecosystem, a core part of modern app marketplaces for developer-level services, must support not only the ability for developers to leverage existing services, but also facilitate the ability for organizations to offer their own services for consumption. We are only now beginning to see the rise of a rich ecosystem of developer services delivered via the cloud.
Capability: Enterprise Mobile Services
As discussed previously, core mobile services are table stakes for any full featured PaaS provider, but too often an organization’s mobile development never truly gets started in any meaningful way. Companies fall into the trap that enterprise mobile apps are the same as consumer mobile apps. Unfortunately this is not true.
Without enterprise mobile services as a capability of PaaS, organizations must invest heavily on the ‘building blocks’ for enterprise mobile apps including secure offline storage, remote management of connected apps, access control, and any number of corporate compliance, all before a single app can be written. These mobile requirements are complicated, and often beyond the abilities of developers just beginning to write mobile apps. PaaS must be an enabler for a variety of mobile development strategies.
The ability for developers to create the next generation of apps, in particular those designed for mobile devices, is critical for business growth. Past approaches have focused on supporting a single language, with a single vendor providing a top-to-bottom stack of features. Successful PaaS platforms must provide the capabilities to support any language, embrace the requirements of mobile apps in the enterprise, and provide an API-first approach to platform services, therefore allowing developers to tap directly into platform services, and the delivery of high level business abstraction services. The final part of this series will discuss these business level services.
About the Author – Quinton Wall is the Director of technical platform marketing at salesforce.com, and aspiring fantasy author. He is a regular speaker at cloud and developer events around the world, active contributor to open source projects, and the developer.force.com site. When he is not working with the salesforce platform, building mobile apps, or writing books, Quinton can be found on twitter (@quintonwall) sharing his thoughts 140 characters at a time.