David Chappell

Opinari

Get the Feed! Subscribe

The Evolution of PaaS  
# Wednesday, February 22, 2012
 
Will Platform as a Service (PaaS) eventually become more popular than Infrastructure as a Service (IaaS)? Nobody knows—the jury is still out. What is clear is that the idea of PaaS is evolving.

The original group of PaaS platforms, including Google App Engine, Salesforce.com Force.com, and Microsoft Windows Azure, all focused on providing a managed foundation for applications running in the public cloud. Later entrants, such as Heroku and Engine Yard, have taken a similar approach. More recently, though, the idea of providing PaaS as software that can run on a public or private IaaS foundation has taken root. With this approach, developers can deploy and run applications identically on multiple clouds, both inside and outside their organization, without worrying about configuring and maintaining infrastructure.

The most visible option for doing this today is probably Cloud Foundry, an open source project spearheaded by VMware. By providing a generic PaaS platform capable of running on Amazon EC2, OpenStack, VMware vSphere (of course), and other IaaS technologies, Cloud Foundry is usable in many different contexts. The technology supports a variety of languages and platforms, including Java/Spring, Ruby/Rails and JavaScript/Node.js. Various vendors add more; Iron Foundry provides .NET support, for example.

The advent of Cloud Foundry makes us think harder about what PaaS really means. Like the original public cloud PaaS platforms, Cloud Foundry lets developers focus solely on their applications. The platform and the people who administer it handle resource allocation (e.g., VMs), operating system updates, and other details. Cloud Foundry also brings these benefits to both public and private networks and minimizes the chances of lock-in to a single public PaaS platform.

But technologies always have trade-offs, and so dedicated public PaaS platforms have some advantages of their own. One interesting difference between Cloud Foundry and its PaaS predecessors is the way they support services an application uses, such as a database. Traditional public PaaS platforms commonly offer these things as just more PaaS services. In Windows Azure, for example, an application can use SQL Azure for relational storage. This managed service provides built-in data redundancy with high availability and no maintenance window. All of this is possible because SQL Azure is a complex piece of software running on a specific (and large) set of hardware in Microsoft datacenters.

With Cloud Foundry, by contrast, a database is typically just that: a DBMS running in a VM. Cloud Foundry provides an interesting mechanism that lets services like these advertise themselves and bind to applications that wish to use them, but how the service is managed is up to the organization that’s running it. In a typical enterprise datacenter or a generic public IaaS cloud, providing Cloud Foundry applications with a high availability, no-maintenance-window relational database service will be non-trivial. The cost of the required software and hardware, together with the specialized expertise required, probably won’t be worthwhile for most organizations.

Are highly available PaaS storage services part of the definition of Platform as a Service? That’s what public PaaS platforms have traditionally provided, so you could make this argument. The solutions aren’t necessarily relational, as with the Google App Engine Datastore or Windows Azure Tables, but they do provide automatically replicated and fully managed storage. PaaS built on Cloud Foundry probably won’t offer this, at least in the near term.

But even though there are trade-offs, providing PaaS as software is a really good idea. And Cloud Foundry isn’t the only option. Red Hat offers a similar technology with OpenShift, while vendors such as the .NET-focused Apprenda and the Java-focused CloudBees have their own approach.

The big thing to notice, however, is the shift in mindset: We can no longer think of PaaS solely as something provided by big platform vendors in the public cloud. Look for it soon in a datacenter near you.


6 comments :: Post a Comment

 


Comments:

David, great post! Identifying this, in my opinion, is the key to the future of PaaS both public and private.

Part of our thesis at Apprenda is that PaaS is simply the best way to operate a datacenter. Enterprises should leverage PaaS to refactor the consumption and delivery model for all internal application development.

Interestingly, what will happen, is that success in private PaaS will drive increased consumption of public PaaS. A PaaS software play that can be deployed internally will also have symmetric public instances. This solves the problem of moving workloads. It allows for a "stepping stone" of getting workloads on the PaaS first, and getting them in a public cloud, if appropriate, second.
 

This is a reasonable hypothesis, Sinclair. It's essentially the same argument made today by private cloud vendors (e.g., VMware) about IaaS, and either or both of these might turn out to be true. Public IaaS clouds today didn't get popular through this route--Amazon is much less focused on the private/public connection than VMware--but we haven't yet seen enterprises adopt public cloud platforms in great numbers. When they do, perhaps their path will be through a connection with their existing IaaS or PaaS private cloud.

In any case, the idea of PaaS as the best way to operate a datacenter may well be compelling on its own. It's a great way to characterize this technology.
 

Dave,

Here are a couple of posts I've written recently about private and public PaaS and synergistic relationships between PaaS and IaaS.
 

@Jeff Sussna: Wow ... posting comments in someone else's blog to advertise your own blog. That's about as low-brow as it gets.
 

Apologies if anyone thought I was posting to shill my own blog. Not even remotely my intention. Actually thought my posts might be relevant to the discussion.
 

No problem, Jeff--your posts certainly are relevant.

I filter out any comments that I think are purely self-promoting; yours weren't.
 

Post a Comment


<< Home