After finishing my prior post on Software-as-a-Service (SaaS) and Platform-as-a-Service (PaaS), I realized I perhaps misused the acronym PaaS. I described Salesforce.com, or what Salesforce.com markets as Force.com, as PaaS. While Force.com is a platform sold as a service, it would not qualify as PaaS according to the emerging definition.
A platform is what we build upon. Its meaning varies with context. A programmer writing assembly language might describe a chip’s instruction set as a platform. A power user building a macro might describe Microsoft Word as a platform. And in between hardware and end-user applications lie many layers in the stack—operating systems, middleware, and services from email to ecommerce, each of which might serve as a platform. As a systems integrator, I tend to think of any customizable system with a rich API as a platform, which aptly describes Force.com.
But as cloud computing has evolved, the concept of PaaS has taken on a more specific, though far from fixed, meaning. PaaS vendors offer the following:
- Middleware in the cloud that both runs applications and provides services, such as messaging, consumed by applications.
- A deployment abstraction layer that frees developers from the tedium of deploying software to servers. Instead, developers deploy to the cloud. The PaaS service itself meets capacity demand by distributing the software to servers around the globe.
- Data storage in the cloud.
- Optionally, tools for moving code through development, QA, and production.
PaaS removes the bottleneck of IT infrastructure. It frees developers to launch applications on their time frame, rather than that of system administrators. System administrators, responsible for the reliability of enterprise networks, value stability over rapid change. Out of necessity, system administrators put up road blocks and delays. PaaS vendors eliminate this friction by taking on the responsibilities once owned by system admins: stability, robustness, scalability.
Gartner declared 2011 as the year of PaaS, and so far the prediction looks right on the mark. Several vendors have recently defined offerings in the space, making for a rapid pace of innovation.
At the moment, I’m just trying to keep track of the choices. As I was reading posts on PaaS, I started putting together a list of the major offerings. I’ll share it below. It’s incomplete. I’m sure I’ve missed important vendors. And certainly there are more worthwhile attributes to track. At this point, I’ve not even filled in all the columns. But instead of waiting until I’ve achieved any sense of finality, I thought I’d throw it out there for feedback.
What is PaaS After All?: http://blog.cloudbees.com/2011/03/what-is-paas-after-all.html
Comparison of Google App Engine, Amazon Elastic BeanStalk, and CloudBees RUN@Cloud: http://www.ibm.com/developerworks/java/library/j-paasshootout/
Amazon Elastic BeanStalk v. CloudBees RUN@Cloud: http://blog.cloudbees.com/2011/01/java-in-cloud-amazon-joins-party.html (Good debate in comments on PaaS relationship to IaaS)
Gartner Says 2011 Will Be the Year of Platform as a Service: http://www.gartner.com/it/page.jsp?id=1586114
Hi James, good post. the market has evolved quickly since April, 2011. Architects may interested in delivering measurable business value, shielding IT personnel from complex dependencies, and deliver a productive development and operations (i.e. DevOps) environment. The following PaaS capabilities are used to achieve these objectives:
● DevOps Tooling
● Automated Governance
● Service Level Management
● Consumption based pricing
An evaluation framework can help architects evaluate and select PaaS offerings. The evaluation framework can be used to shortlist PaaS providers, build questions posed in the Request for Proposal document, or generate use case scenarios. What are your thoughts about the 7 categories and 80+ evaluation criterion found within the ‘Selecting a Cloud Platform’ white paper found at