In order to fully understand the implications of these acronyms, you first need to understand virtualization. Since virtualization is the underlying technology that enabled cloud computing to flourish, I felt it was important to add it as a 4th term in the series.
Virtualization (Private Cloud)
Virtualization was the major technological leap that caused the “cloud computing” trend to finally take off. Although virtualization technology has been around for several decades, it’s only recently been available for commodity x86 chips. And this is what really took it out of the mainframe and into common small business server rooms.
In layman’s terms, a private cloud is a physical server – owned by you – which can run multiple operating systems at the same time. In order to accomplish this, you need to add an extra layer of software between the physical hardware and the operating system. This software – often called a “hypervisor” – allows each operating system to exist inside of an isolated bubble that allows it to run with all of its own resources… as if it was the only OS in the box… although it’s actually sharing resources with other operating systems.
In the case of servers, this is accomplished using a variety of different methods. (paravirtualization, hardware emulation, OS virtualization, etc…) For now, you don’t need to know the deeper technical details of how this is accomplished.
IaaS is very similar to a private cloud, except for the fact that you do not own the server. Instead, a third party allows you to install your own virtual server on their IT infrastructure in exchange for a rental fee.
This is the simplest form of “as-a-service” variations. The biggest difference between IaaS and Private Clouds is that the customer (you) does not have control over the virtualization layer (hypervisor) or the actual hardware. But everything above those layers is 100% within your control.
SaaS is the easiest and most frequently used “as-a-service” variation.
This term is used to described any applications which is managed and hosted by a third party, and whose interface is accessed from the client side.
Thanks to new technologies such as AJAX and HTML5, the vast majority of SaaS applications run directly from the web browser without requiring any additional downloads or installations from the client side. Common examples include Gmail, Salesforce and Youtube)
There are also other examples – such as Skype or online backup – that require software downloads from the SaaS provider.
PaaS is the most complicated of the acronyms.
Essentially, PaaS provides developers with a framework that they can build upon in order to develop their own applications or customize existing SaaS applications.
This is similar to how you would create your own macros in your favourite spreadsheet, except you’re doing it using software resources and components which are owned and controlled by a third-party.
The main advantages of PaaS are that it allows for rapid application development and testing, and that they scale really well.
And there you have it in a nutshell. The differences between PaaS, SaaS and IaaS