Browse Courses

Cloud Service Model

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.

Categorising Cloud Models

  • There are different ways in which Cloud Models can be categorised, two of them stands out well:
    1. Deployment Models: Public, Private, Hybrid, Community Clouds.
    2. Service Models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS).
    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)

Overview of Cloud Service Models

There are three service models available on the cloud:

  1. Infrastructure as a Service (IaaS),
  2. Platform as a Service (PaaS),
  3. Software as a Service (SaaS).
    graph TD
	
	    A[Cloud Service Models] --> B(IaaS)
	    A --> C(PaaS)
	    A --> D(SaaS)

1. Infrastructure as a Service (IaaS)

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;

2. Platform as a Service (PaaS)

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;

Software as a Service (SaaS)

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;

Example of Using Saas

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.

Metaphor for Understanding Service Models

To understand these service models better, let’s use a car metaphor:

  • IaaS is like leasing a car. You care about the specs, performance, color, and type of car. You are responsible for driving, paying for gas, tolls, and maintenance.
  • PaaS is like renting a car. You don’t care about the specs or color, but you are still driving and paying for gas and tolls.
  • SaaS is like getting a taxi or an Uber. You don’t care about the car’s specs or color, and you are not driving or paying for gas and tolls, as these are included in the price.

Cloud Computing and Service Models

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.


Conclusion

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.


FAQs

Cloud service models benefit organizations by:

  • Optimizing operations.
  • Reducing costs.
  • Allowing focus on core business objectives.

Understanding cloud service models is important because:

  • It helps in making informed decisions about which services to use based on needs.
  • It allows organizations to leverage the right model for their specific requirements.

The Platform as a Service (PaaS) model is suitable for developers as it abstracts virtualized resources, allowing them to focus on development without managing infrastructure.

Yes, cloud service models can improve efficiency by:

  • Providing scalable and flexible resources.
  • Reducing the need for physical infrastructure management.
  • Enabling quick deployment of applications.

SaaS can be beneficial for end-users by:

  • Eliminating the need for installation and manual updates.
  • Providing access to applications from any device with an internet connection.
  • Offering a subscription-based pricing model.

If an organization needs to manage physical resources, they should consider using Infrastructure as a Service (IaaS), which provides virtualized compute, networking, and storage resources.

The metaphor used to explain cloud service models is:

  • IaaS is like leasing a car.
  • PaaS is like renting a car.
  • SaaS is like getting a taxi or an Uber.

An organization should consider using IaaS when they need to manage and control the underlying physical resources, such as compute, networking, and storage.

SaaS applications can be accessed from any device with an internet connection, making them highly accessible and convenient for users.

No, PaaS is generally more suitable for developers. System admins or IT admins typically use IaaS for managing virtualized resources.