What Is Platform as a Service (PaaS)?
There are a number of companies offering Platform as a Service (PaaS), but little agreement about what PaaS is or how to compare various PaaS offerings from companies ranging from SalesForce to WaveMaker. Even the Wikipedia entry on PaaS starts with a stern warning that the entry is full of buzzwords and lacking in concrete examples.
Definition of PaaS
PaaS solutions are development platforms for which the development tool itself is hosted in the cloud and accessed through a browser. With PaaS, developers can build web applications without installing any tools on their computer and then deploy those applications without any specialized systems administration skills.McKinsey & Company, in their 2008 report "Emerging Platform Wars," defined Platform as a service as "cloud based IDEs that not only incorporate traditional programming languages but include tools for mashup-based development."
What Makes PaaS Different?
The alternative
to PaaS is to develop web applications using desktop development tools
like Eclipse or Microsoft Access, then manually deploy those
applications to a cloud hosting provider such as Amazon EC2.PaaS platforms also have functional differences from traditional development platforms. These include:
- Multi-tenant development tool: traditional development tools are single user - a cloud-based studio must support multiple users, each with multiple active projects.
- Multi-tenant deployment architecture: scalability is often not a concern of the initial development effort and is left instead for the sys admins to deal with when the project deploys. In PaaS, scalability of the application and data tiers must be built-in (e.g., load balancing, failover need to be basic elements of the dev platform itself).
- Integrated management: traditional development solution usually do not concern themselves with runtime monitoring , but in PaaS, the monitoring ability needs to be baked into the development platform.
- Integrated billing: PaaS offerings require mechanisms for billing based on usage that are unique to the SaaS world.
Faux PaaS - 4 Ways To Tell If It's *Really* PaaS
At a minimum, a PaaS solution should include the following elements:- Browser-based development studio - if you have to install something on your computer to develop applications, that's not PaaS!
- Seamless deployment to hosted runtime environment - ideally, a developer should be able to deploy a PaaS application with one click. If you have to talk to a person to get your app deployed, that's not PaaS!
- Management and monitoring tools - while cloud-based solutions are very cost effective, they can be tricky to manage and scale without good tools. If you have to bolt on DIY monitoring to scale your cloud app, that's not PaaS!
- Pay as you go billing - avoiding upfront costs has made PaaS popular. If you can't pay with your credit card based on usage, that's not PaaS!
Benefits of PaaS
The benefits of PaaS lie in greatly increasing the number of people who can develop, maintain and deploy web applications. In short, PaaS offers to democratize development of web applications much the same way that Microsoft Access democratized development of client/server applicaToday, building web applications requires expert developer with three, highly specialized skill sets:
- Back end server development (e.g., Java/J2EE)
- Front end client development (e.g., Javascript/Dojo)
- Web site administration.
PaaS Resources
Examples of PaaS solutions today include:
- AppEngine from Google: based on Python and Django
- Force.com from SalesForce: based on the SalesForce SaaS infrastructure and Apex language
- Bungee Connect: visual development studio based on Java
- LongJump: based on Java/Eclipse
- WaveMaker: visual development studio based on Java and hosted on Amazon EC2
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)
Tags:







Comments
Ray Walker replied on Thu, 2009/03/26 - 12:19pm
Thierry Lefort replied on Fri, 2009/03/27 - 3:31am
Ray Walker replied on Fri, 2009/03/27 - 9:50am
in response to:
Thierry Lefort
Rodrigo Coutinho replied on Wed, 2011/02/23 - 8:51am
As for the benefits you mention for PaaS, I think you're highlighting more the benefits of MDD and SDLs. You can have PaaS and still need to do low level development (just see the "Hello World" example for GoogleAppEngine...)
I would say the main advantages of PaaS are:
On a side note, here's a blog post I wrote a while on some things you need to consider when picking a cloud-ready platform.
Sirikant Noori replied on Fri, 2012/03/30 - 12:48pm
Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones.
Happy writing :)
Java ExamJoay Sim replied on Sun, 2013/02/17 - 5:29am
in response to:
Ray Walker
It proved to be Very helpful to me and I am sure to all the commentators here!
Discover Moonba
Ron Sim replied on Wed, 2013/02/27 - 8:01am
in response to:
Ray Walker
Absolutely fantastic posting! Lots of useful information and inspiration, both of which we all need!Relay appreciate your work.
tooth implants uk