Overview of fundamental cloud service models including Infrastructure Platform and Software as a Service with diagrams comparing responsibilities and real-world analogies
In this document, we will briefly explore the different cloud service models, including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Understanding these service models is crucial for making informed decisions about which services to use based on your needs. Whether you are a developer, an IT admin, or an end-user, there is a cloud service model tailored to your requirements. By leveraging IaaS, PaaS, and SaaS, organizations can optimize their operations, reduce costs, and focus on their core business objectives.
Cloud Models can be categorised, two of them stands out well:
graph TD
A[Cloud Models] --> B(Deployment Models)
A --> C(Service Models)
B --> D(Public Cloud)
B --> E(Private Cloud)
B --> F(Hybrid Cloud)
B --> G(Community Cloud)
C --> H(SaaS)
C --> I(IaaS)
C --> J(PaaS)
There are three service models available on the cloud:
graph TD
A[Cloud Service Models] --> B(IaaS)
A --> C(PaaS)
A --> D(SaaS)
IaaS provides virtualized compute, networking, and storage resources from vendors like Amazon Web Services or Google Cloud Platform. Typically used by system or IT admins, it allows them to create a virtual data center in the cloud. Users rent these resources and are responsible for managing them, often with root-level access.
graph TD
IaaS[IaaS]
classDef primary fill:#f9f,stroke:#333,stroke-width:4px;
classDef secondary fill:#bbf,stroke:#333,stroke-width:2px;
IaaS --> |managed by user| Applications
IaaS --> |managed by user| Data
IaaS --> |managed by user| Runtime
IaaS --> |managed by user| Middleware
IaaS --> |managed by vendor| OS
IaaS --> |managed by vendor| Virtualisation
IaaS --> |managed by vendor| Servers
IaaS --> |managed by vendor| Storage
IaaS --> |managed by vendor| Networking
class Applications,Data,Runtime,Middleware primary;
class OS,Virtualisation,Servers,Storage,Networking secondary;
PaaS takes advantage of all the virtualized resources from IaaS and abstracts them away, so the user doesn’t have to worry about managing any of those virtualized resources. The user for PaaS is usually a developer. In IBM, this developer persona is named “Jane.” For example, if you’re using IBM Cloud Functions, you’re using a PaaS product. Similarly if you are using GitHub to host and manage your code, you are using a PaaS product.
graph TD
IaaS[PaaS]
classDef primary fill:#f9f,stroke:#333,stroke-width:4px;
classDef secondary fill:#bbf,stroke:#333,stroke-width:2px;
IaaS --> |managed by user| Applications
IaaS --> |managed by user| Data
IaaS --> |managed by user| Runtime
IaaS --> |managed by user| Middleware
IaaS --> |managed by vendor| OS
IaaS --> |managed by vendor| Virtualisation
IaaS --> |managed by vendor| Servers
IaaS --> |managed by vendor| Storage
IaaS --> |managed by vendor| Networking
class Applications,Data, primary;
class Runtime,Middleware,OS,Virtualisation,Servers,Storage,Networking secondary;
SaaS is software that you don’t have to install on your machine and you don’t have to manually update. The user for SaaS could be anyone. It is usually charged on a subscription model rather than a one-time license fee. If you’re watching a video on YouTube, then you’re a user of SaaS.
graph TD
IaaS[SaaS]
classDef secondary fill:#bbf,stroke:#333,stroke-width:2px;
IaaS --> |managed by user| Applications
IaaS --> |managed by user| Data
IaaS --> |managed by user| Runtime
IaaS --> |managed by user| Middleware
IaaS --> |managed by vendor| OS
IaaS --> |managed by vendor| Virtualisation
IaaS --> |managed by vendor| Servers
IaaS --> |managed by vendor| Storage
IaaS --> |managed by vendor| Networking
class Applications,Data,Runtime,Middleware,OS,Virtualisation,Servers,Storage,Networking secondary;
For example, if you’re using Google Docs, you don’t have to install it on your machine. You can access it from any device with an internet connection. Google Docs is a SaaS product.
To understand these service models better, let’s use a car metaphor:
With IaaS, the cloud provider manages the physical resources, data centers, cooling, power, network, security, servers, and storage.
With PaaS, the provider manages the computing resources and the platform infrastructure, including operating systems, development tools, databases, and business analytics.
In the SaaS model, the provider hosts and manages the applications and data in addition to the infrastructure and platform resources.
In conclusion, understanding the different cloud service models is crucial for making informed decisions about which services to use based on your needs. Whether you are a developer, an IT admin, or an end-user, there is a cloud service model tailored to your requirements. By leveraging IaaS, PaaS, and SaaS, organizations can optimize their operations, reduce costs, and focus on their core business objectives.
Cloud service models benefit organizations by:
Understanding cloud service models is important because:
Yes, cloud service models can improve efficiency by:
SaaS can be beneficial for end-users by:
The metaphor used to explain cloud service models is: