Alex Barnett blog

Stuff

So what is this Platform as a Service thing?

The "platform-as-a-service", or PaaS meme is getting more air play the last 24 hours as news of Google App Engine makes its way through the tech media and blogs. ReadWriteWeb has a good write up and Phil Wainewright's summation by declaring "Let the PaaS wars begin" I think fairly captures the mood and reaction to the news.

Exciting times ahead no doubt, and pretty cool that Bungee Labs is getting mentioned in a number of blogs reacting to the Google App Engine news an example of the new generation of companies emerging in the PaaS space.

So, what is Platform-as-a-service? And why is PaaS interesting? Last week I had the opportunity to talk to Dana Gardner and Phil Wainewright in this sponsored podcast - full transcript available here - all about PaaS. I've taken the liberty of copy and pasting a snippet of the conversation below that speaks directly to the whole notion and definition of PaaS.

"Gardner: Okay, we’ve established that the tide is turning to the Internet, that there are some great Web-based services available, that technologies are now bubbling up to allow for better and easier connectivity. And yet, there is still a need for the right platform and the right infrastructure to make this all mission-critical and enterprise-ready.

So let’s get into PaaS as a possible stepping stone that, in a sense, bridges the best of the Web-oriented architecture and the available SaaS and the APIs-world with what developers inside organizations -- be they ISVs, service providers, or enterprises -- need to make these approaches acceptable and within the acceptable risk parameters.

I noticed that Bungee Labs does not call this "Development-as-a-Service" or "Deployment-as-a-Service" or "Integration-as-a-Service" -- but "Platform" as a service. Alex, give us the primer. What does "Platform-as-a-Service" really mean?

Barnett: That’s what we are trying to define at Bungee Labs. PaaS is one of those terms that we’re going to be hearing more and more. And they are going to be different -- varying levels of definition and interpretation of what that means.

But what we’ve done is put a stake in the ground in this respect, and then saying that in order to really be a PaaS -- and not just any one of those single pieces that you’ve mentioned plus more individual pieces -- that you need to be able to provide the end-to-end services to really call it a "platform."

From the developer’s standpoint, which is the development cycle, this means the tools that they need to develop applications, to be able to then test those applications, to be able to connect to Web services and to combine them, and to have all those kinds of capabilities -- and to then deploy and to make those applications instantly available to the business users.

Literally, we mean a URL that is the end-point for the end-user. From that, they can start consuming the application.

So, PaaS means having an environment in which you deploy inherently and have built-in scalability, reliability, and security. Once you’ve deployed your application, you know that you don't have to take care of all the infrastructure in the datacenter and the capital investments and the bodies that are required to make it scale when newer applications increases in use.

There is also the ability to connect to the various distributed data sources or functionality that the application needs to be able to consume. You can get that inside of that platform, the ability to be able to do that in a Web-native way, and so take advantage of the architectures we descried earlier, such as SOA.

There is also the ability -- and we touched on it earlier -- for developers to be able to collaborate on projects that are built-out in the cloud. They can share code, check in code, do all the standard revisions and collaborative-type functionality that developers need when they’re working on projects with teams distributed across the world or across your offices. And they can do this without having that entire infrastructure on-premise.

And then, the last, but critical, piece is having deep instrumentation and an analytics ability around the use of the application -- of how it’s being used, of where the connections are -- right across the board from the "glass of the window," the browser, for example, and right on through to the Web services in the CPU, or the rest of it.

As a result, you are able to understand performance. You are able to understand your billing, if it’s a billing proposition that you have. And all of what I described is comprised within six pillars [of Bungee's offerings]. All of that is delivered and available purely as a service, so there are no on-premises requirements for any of those components across the development and platform used in a utility model. You use it as much as you pay for, or as much as you use in a utility-based model -- all in the cloud. No bit needs to be installed on any machine at the enterprise in order to take advantage of all those Web services and functionalities.

Gardner: For our listeners who are just getting used to this concept of PaaS, let’s just get right in quickly and describe what Bungee Labs is. It’s a young, innovative company. And you’ve come out with a service called Bungee Connect. This is essentially one place online where you can go to develop, mash up, and access data, to put together Web-based applications and services, and then instantly -- with a click of a button, and perhaps I am oversimplifying -- develop and deploy in basically an integrated continuum. Is that correct?

Barnett: Yes, and provide very rich user experiences as part of that, with highly interactive application functionality. We’ve built out essentially that stack that I’ve described earlier. We've made that available for organizations to take advantage of. We're specifically targeted at developers who really want to be able to build very sophisticated Web applications that leverage orchestration workflow around connecting to Web services.

We are not in the business of being able to provide non-programmers with the ability to do these nice simple mashups.

Gardner: Well, if you can do that, let me know, because that would be a very good trick. I am sure the world would love to have development by anybody!

Barnett: Yeah, and that’s a great dream to be able to have, but inherent in that is inflexibility, because you are simplifying it all for the end-user. What we really offer is for the developers who are tasked with building sophisticated Web applications to do just that, deploy that, and then deliver very rich user experiences out on the Web.

Gardner: And to be clear, this is not just open source. This is commercial code, if they wish. The people who develop on this system, that code is their intellectual property. Is that right?

Barnett: The intellectual property of the code that is developed by the developers is absolutely their own intellectual property and remains so. We do have a community side of things that allows developers -- just as in the open source world -- to be able to share code and even entire applications as open source running on our grid.

But in terms of a company, it’s entirely their intellectual property that they developed and they are able to literally export the code. And if they want then re-factor that for a different kind of a grid or runtime, it’s their property.

Gardner: Phil, how do you see the relationship between PaaS and what Bungee Connect is doing, and then the larger SaaS trend? Do you see a relationship of one aiding and abetting the other? Or are they in separate orbits? How does that work out?

Wainewright: I think they are very much in a similar orbit. And to an extent, I don't think of PaaS as being part of SaaS or vice versa. It’s just everything moving to the cloud. These are two examples of that happening.

One of the things I want to highlight, as Alex was saying, is the useful experience. When people start developing for the Web, for the cloud, then it’s not just building the infrastructure -- it’s also learning what is involved in writing applications for that environment.

There is much more emphasis on the user experience. There is much more emphasis on reusing what other people have done, whether it’s by mash-ups or by reusing other people’s code, as opposed to reinventing the wheel every time. There is much more emphasis on developing applications and programs that can adapt and change to future opportunities in business conditions.

All of those things also have to be learned, at the same time as building the infrastructure. Using PaaS enables you to tap into that shared expertise in a way that you can’t do, if you try all by yourself.

The other thing that’s happening here is that we’re connecting into the resources of the Web, and getting onto the Web, so that we can interact with partners and customers and connect into those other Web resources. This is what we're really expected to do as businesses today, in order to stay competitive. So, there’s a tremendous pressure building to be able to do this kind of thing.

Now, there are three ways you can get onto the cloud. You can go to a cloud-computing provider and basically build your stuff in that cloud, which gets to some of the infrastructure, but, there's still the issue of how do I write applications in this environment and connect to other client resources.

Second, you can go to pure SaaS whereby you get a ready made application and you can do some customization, but there are going to be quite a few gaps around what that provides and what you actually want to do. There are going to be quite big gaps in terms of integrating that into your existing on-premises applications and to the other client application that you use.

Third, where PaaS comes in, it allows for the ability:

A) To get much faster to the custom applications that you need to build for that environment

B) To do the integrations to fill in the gaps and to access other SaaS applications and services, and to patch and connect back to the existing on-premises applications. "

Full transcript available here and podcast here. Bungee Labs' definition of Platform as a Service here.

Comments

Mikael Bergkvist said:

PaaS sounds an awful lot like the WebOS idea that was floated a while back, only more useful.

I suppose http://www.widgetplus.com would fit that description.

# April 8, 2008 10:46 AM

Ric Johnson said:

Alex,

Great podcast!  Although it looks like you have to clean up some spam here. Does Community Server use Akismet?

My BIG question: Now that Google has thrown in their hand, what is the future for Bungee Labs?

# April 14, 2008 7:01 PM

alexbarnett said:

Hi Ric...usually me spam is under control here....but from time to time it gets the better of me. cleaned up now.

RE: Google + Bungee. The future's bright Ric...validation of our business model by the big players is a good thing. the fact is Bungee is much more than a runtime for a language...see the "Definition of PaaS" link to see the end-to-end nature what we're doing...think about how this compares to other offerings in this space.

# April 15, 2008 7:02 AM

Pankaj said:

the abovementioned WebOS have since evolved into <a href= http://www.hyperoffice.com> HyperOffice </a> - and they're firmly entrenched in the SAAS market now.

which brings me to my point? are paas or saas even in competition? the primary market of saas providers is small to mid sized businesses. the reason why saas offering suit these companies is - no implementation cycles, no hassle of developing or configuring solutions, no dirty underbelly of using software. isn't paas taking away these very things?

# April 16, 2008 10:47 AM

alexbarnett said:

Panjak - thanks for passing by. SaaS and PaaS have a number of things in common, but to boil it down - both are about delivering software and services over the web.

But there is a clear difference:

SaaS provides applications as service...think horizontal apps such as CRM or HR (and many more) - usually customizable and available via APIs and UIs, data services (via mapping / geo data service APIs, or Zip code lookups, etc).

PaaS (or *true* PaaS) is a much more generalized service - it provides (over the web) the ability to develop apps (usually themselves delivered as SaaS) - any app. Think of it this way - you can build SaaS apps using PaaS.

So to answer your specific question: are SaaS and PaaS competative? I don't think so: SaaS is a subset of PaaS - you can build and deliver a SaaS app using PaaS, but not the other way around.

# April 18, 2008 7:41 AM

TrackBack said:

# April 19, 2008 7:29 AM