Cloud computing has risen massively in terms of popularity in recent times. This is due to the way it reduces on-premise infrastructure cost and improves efficiency. Primarily, the cloud model has been divided into three major service categories:
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
We will discuss each of these instances in the following sections:
The article is an excerpt taken from the book ‘Cloud Analytics with Google Cloud Platform‘, written by Sanket Thodge.
Infrastructure as a Service (IaaS)
Infrastructure as a Service often provides the infrastructure such as servers, virtual machines, networks, operating system, storage, and much more on a pay-as-you-use basis. IaaS providers offer VM from small to extra-large machines.
The IaaS gives you complete freedom while choosing the instance type as per your requirements:
Common cloud vendors providing the IaaS services are:
- Google Cloud Platform
- Amazon Web Services
- HP Public Cloud
Platform as a Service (PaaS)
The PaaS model is similar to IaaS, but it also provides the additional tools such as database management system, business intelligence services, and so on. The following figure illustrates the architecture of the PaaS model:
Cloud platforms providing PaaS services are as follows:
- Windows Azure
- Google App Engine
- Cloud Foundry
- Amazon Web Services
Software as a Service (SaaS)
Software as a Service (SaaS) makes the users connect to the products through the internet (or sometimes also help them build in-house as a private cloud solution) on a subscription basis model.
Below image shows the basic architecture of SaaS model.
Some cloud vendors providing SaaS are:
- Google Application
- Microsoft Office 365
Differences between SaaS, PaaS, and IaaS
The major differences between these models can be summarized to a table as follows:
|Software as a Service (SaaS)||Platform as a Service (PaaS)||Infrastructure as a Service (IaaS)|
|Software as a service is a model in which a third-party provider hosts multiple applications and lets customers use them over the internet.
SaaS is a very useful pay-as-you-use model.
|This is a model in which a third-party provider application development platform and services built on its own infrastructure. Again these tools are made available to customers over the internet.
Google App Engine, AWS Lambda
|In IaaS, a third-party application provides servers, storage, compute resources, and so on. And then makes it available for customers for their utilization. Customers can use IaaS to build their own PaaS and SaaS service for their customers.
Google Cloud Compute, Amazon S3
How PaaS, IaaS, and SaaS are separated at a service level
In this section, we are going to learn about how we can separate IaaS, PaaS, and SaaS at the service level:
As the previous diagram suggests, we have the first column as OPS, which stands for operations. That means the bare minimum requirement for any typical server. When we are going with a server to buy, we should consider the preceding features before buying.
It includes Application, Data, Runtime, Framework, Operating System, Server, Disk, and Network Stack.
When we move to the cloud and decide to go with IaaS—in this case, we are not bothered about the server, disk, and network stack. Thus, the headache of handling hardware part is no more with us. That’s why it is called Infrastructure as a Service.
Now if we think of PaaS, we should not be worried about runtime, framework, and operating system along with the components in IaaS. Things that we need to focus on are only application and data.
And the last deployment model is SaaS—Software as a Service. In this model, we are not concerned about literally anything. The only thing that we need to work on is the code and just a look at the bill. It’s that simple!
If you found the above excerpt useful, make sure to check out the book ‘Cloud Analytics with Google Cloud Platform‘ for more of such interesting insights into Google Cloud Platform.