posted on Thursday, April 29, 2010 6:09 AM
There’s a growing focus on PaaS (Platform as a Service), particularly as Microsoft has been rolling out Azure and VMware continues to push forward with its SpringSource acquisition. Amazon, though generally labeled as IaaS (Infrastructure as a Service) is also a “player” with its SimpleDB and SQS (Simple Queue Service) and more recently, its SNS (Simple Notification Service). But there’s also Force.com, the SaaS (Software as a Service) giant Salesforce.com’s incarnation of a “platform” as well as Google’s App Engine. As is the case with “cloud” in general, the definition of PaaS is varied and depends entirely on to whom you’re speaking at the moment.
What’s interesting about SpringSource and Azure and many other PaaS offerings is that as far as the customer is concerned they’re very much like an application server platform. The biggest difference being, of course, that the customer need not concern themselves with the underlying management and scalability. The application however, is still the customer’s problem.
That’s not that dissimilar from what enterprise-class organizations build out in their own data centers using traditional application server platforms like .NET and JavaEE. The application server platform is, well, a platform, in which multiple applications are deployed in their own cozy little isolated containers. You might even recall that JavaEE containers are called, yeah, “virtual machines.” And even though Force.com and Google App Engine are proprietary platforms (and generally unavailable for deployment elsewhere) they still bear many of the characteristic marks of an application server platform.
SO WHAT’S the DIFFERENCE?
In the middle of a discussion on PaaS at Interop I asked a simple question: explain the difference between PaaS and application server platforms. Of course Twitter being what it is, the answer had to be less than 140 characters. Yes, the “Twitter pitch” will one day be as common
(or more so) as the “elevator pitch.”
The answers came streaming in and, like asking for a definition of cloud computing, there was one very clear consensus: PaaS and application server platforms are not the same thing, though the latter may be a component of the former. Unlike asking for a definition of cloud computing no one threw any rotten vegetables in my general direction though I apparently risked being guillotined for doing so. Here’s a compilation of the varied answers to the question with some common themes called out.
- mccrory: PaaS offers suites of containers - hosted, auto-scalable/connectable. App Server platforms are just containers and connectors
- bmkatz:No difference but sell both and make more $
- neilwd: App Servers vs PaaS: one's a tech and one's a service. But parallels are one of the things fueling "private cloud" initiatives
- acroll: Specifically: In 10y, those who see private servers as more than local caches will seem like Luddites, paranoid survivalists
- csoandy: ASP implies tightly bounded app. PaaS implies ecosystem around the apps, inc LB, failover, etc?
- srog: ... some PaaS offerings look like web provisioned 4gl stacks ... with app dev, integration, & deployment resources on demand
- derik66: PaaS=Paas as a Service, AS=glue
- boblozano: PaaS enables web scale, reliability, simplicity on top of commodity infrastructure. Ie PaaS can be a cloud-native "app svr".
- JoeKorngiebel: PaaS = Cloud development platform; Application Server Platform = a bad name for on-premise technology masquerading as PaaS
- jamesurquhart: PaaS is a spectrum, so equating to only app server doesn't work. See http://bit.ly/1mYBDQ
- damrhein: app server platforms only a subset of true PaaS, ex. PaaS includes multi-tenant shared services for use by apps
If I had to (seriously) sum up I’d have to say PaaS is really more about a development ecosystem than it is about a “platform”. It isn’t just whether it’s JavaEE or .NET or PHP or Python or Ruby supported by that application server, it’s about the middleware and connectivity services to other necessary application infrastructure that really defines PaaS, in addition to the core requirements of multi-tenancy, elastic scalability, and the general “cloud” business model.
That doesn’t mean that an enterprise can’t build a PaaS themselves. It just means that simply scaling a farm of application servers isn’t enough. There also needs to be a collaborative, integrated supporting ecosystem for the applications that will be deployed on those platforms and they need to be offered as services. This is not dissimilar to the same transformation that needs to occur in the network infrastructure. IaaS isn’t simply scaling out infrastructure components, there needs to be a collaborative, integrated supporting ecosystem for the applications that will be deployed on those platforms and they need to be offered as services.
I’m betting if we took a look at SaaS (Software as a Service) we’d come to the same conclusion: collaborative, integrated and dynamic services are at the heart of what makes a cloud, no matter what “layer” of the cloud you might be looking at.
Technorati Tags:
MacVittie,
F5,
PaaS,
application server platform,
JavaEE,
.NET,
VMware,
Microsoft,
Azure,
Google,
App Engine,
SpringSource,
Salesforce.com,
Force.com,
platform,
cloud computing,
SaaS,
IaaS,
Interop