A few months ago in response to being frequently asked about the differences between Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) I posted an article which discussed these differences. With the rapid change and developments in Cloud Computing I feel the subject needs revisiting.
One of the main differences between PaaS and IaaS is the level of control and administration available. With PaaS services such as Azure and Google App Engine once the application is deployed to the cloud no access to server software or the underlying operating system is available for administration. With IaaS once the infrastructure is provisioned, total control of all aspects of the software including operating systems and server software is available. PaaS clearly has a big benefit with its zero administration requirements over IaaS. This is a major reason why Heroku, Salesforce.com, VMware and many others have developed platforms for various environments.
On the other hand, having no access to server software or operating systems is occasionally very constraining – for example wanting to tweak IIS in Azure so that you can run more than one application on the same host. It is for exactly these reasons that Azure now provides elevated privileges if required on its PaaS. Also Azure allows customer VM’s to be uploaded to Azure too. It seems that the Azure PaaS now offers IaaS features too – but only if access is required. Similarly, Amazon have released Elastic Beanstalk which is PaaS on Amazon. This allows Java application developers to deploy to PaaS but if required gain access to the underlying infrastructure in the same way as IaaS.
Whilst the distinction between PaaS and IaaS is still clear, the changes vendors are making to their products makes it more difficult to categorise them and appreciate what they have to offer. This is an example of the kind of subject addressed in Learning Tree’s introductory Cloud Computing course, Cloud Computing Technologies: A Comprehensive Hands-On Introduction. If you would like to get a deep, pragmatic understanding of Cloud Computing why not consider attending.