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 one of a three part series.
PaaS has garnered a lot of interest in the past few years as the technology that will transform how apps are built. Unfortunately, too often we get so caught up on a buzzword that definition paralysis sets in. As a result, we either 1) inflate our expectations only to have them crash back to reality (remember SOA or J2EE app servers), or 2) never get beyond the analyst opinions to truly understand how the technology will help our business.
A good strategy to go beyond the hype is to look at specific capabilities of a technology, and map these back to organizational needs. In this three-part series, we break down the key capabilities that a comprehensive PaaS offering should provide.
Let’s start with a general framework of PaaS. Remember the goal of the exercise is NOT to get bogged down on a perfect definition. What we need is a framework to identify capabilities, which can be categorized into the following three areas:
Infrastructure & Operational Services
Infrastructure services typically include aspects including networking, storage, operating systems, patching, upgrades, disaster recovery, and more. You often hear these lower level services referred to as Infrastructure as a Service (IaaS).
Developer & Platform Services
Platform services include the tools, technology, and APIs designed for developers to build custom apps. These tools and APIs may include RESTful APIs for mobile apps, geolocation support, metadata, automated testing frameworks, integration with source code control, as well as underlying enabling technologies such as localization, security, and identity management, all required for rich business services.
A core component to a complete PaaS solution is the ability to democratize development beyond the typical programmer. Business services provide a higher level of abstraction to empower all users to deliver new apps fast. Business services may include search, workflow, reporting, social feeds, and integration with app marketplaces,.
With our framework in place, it’s timeto look at the capabilities that provide the building blocks of PaaS which extract away much of the operational and infrastructure logic, allowing IT departments to eliminate growing project backlogs. A true PaaS platform as the engine for growth consists of all of these capabilities.
Infrastructure & Operational Services.
Capability: Fully Managed and Trusted Infrastructure
Companies can no longer afford to spend their time on infrastructure. In his bestselling book Crossing the Chasm, Geoffrey Moore describes a model of “core vs context” to help identify what is truly important to your business. Very often this is not managing servers and patching operating systems. As such, PaaS must provide a fully managed, multi-tenant infrastructure that can scale beyond a company’s current needs. Just scaling to today’s requirements is insufficient – the goal of the business is to grow, not stay stagnant.
Further, infrastructure needs to take the global aspects of today’s business into account. Ask yourself: Can the data be served close to the end user? Is it trusted by organizations where data privacy and regulatory compliance is mandated? And does it support easily customizable role-based profiles that allow organizations to determine who sees what data without mixing this logic in with application code? If it doesn’t, your infrastructure will not supporting business growth.
Capability: Social & Mobile At The Core
A recent Forrester report (Source: Forrester Research, Mobile is the New Face of Engagement, 2.23.12) suggests that by 2016 350M employees will use smartphones at work with business spending on mobile projects estimated to grow 100% by 2015. The need for social and mobile solutions is no longer something limited to your personal life. It is critical to driving employee productivity and customer engagement. However, many organizations struggle to deliver mobile apps – they often do not have specialized mobile developers, or the in-house skills to support multiple platforms and devices.
When investigating PaaS solutions and providers, businesses must ensure that the technologies offered are enablers that support traditional IT departments to deliver mobile apps by leveraging existing skills. If an organizations developers can not be immediately productive on a new technology, such as those required for building mobile or social apps, the backlog of IT projects will continue to grow despite the adoption of modern languages and apps. We have already seen this with SOA and the re-architecting of all apps without sufficient business-level justification.
Platform as a service offers amazing potential for business growth. However, too many organizations fail to get started due to definition paralysis. By providing a simple framework, and core capabilities required of a platform designed to enable this business growth, we can rapidly move beyond the hype. This article identified the capabilities that should be present in the Infrastructure & Operational services aspect. Subsequent articles discuss the capabilities within the Platform & Developer Services and Business Services aspects.
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.