Defining Cloud Computing – Part 4: PaaS
Platform as a Service (PaaS)
The next step up into the cloud from SaaS is the Platform as a Service. While SaaS offers applications for end users, PaaS offers a development platform for developers. Developers do not need to worry about the operating system, storage or hosting. Developers write the code and the PaaS provider provides a very simple method to upload that code and present it on the internet.
The PaaS provider gives provides the hardware, operating system, software upgrades, security and everything else related to the day to day hosting of an application. Most PaaS providers are limited to specific languages and IDEs. In some cases, the IDE is web based and in others, the IDE provides features for uploading code.
In most cases, developers do not have any access to the underlying operating system. Applications that run on PaaS platforms have to conform to some limitations that protect the provider from abuse (such as malicious software or run away resource usage).
Google App Engine (GAE) was one of the first PaaS offerings. GAE only supports python (Google promises additional languages in the future) and comes with an IDE. A developer writes an application and tests it locally. When ready to deploy the application to the world, the developer presses a button and it is automagically hosted on the Google infrastructure.
All developers get to use a common domain (appspot.com) but can use a custom domain if also signed up for Google Apps. Google also gives developers, for free, 500MB of storage and up to 5 million page views per month. Google expects to start charging for feature upgrades (such as storage and extra CPU) in the future.