Cloud Technology Training AWS

Cloud Computing Service Models – IaaS, PaaS, SaaS

IaaS, PaaS, and SaaS – you’ve probably seen the acronyms for these cloud computing service models bounded around a lot lately. Many cloud computing services offer varying features and degrees of operational management depending on the service you consume.

This provides a lot of flexibility, often balancing between customizability, features, and cost. In the previous article “What is Cloud Computing“, you learned what cloud computing is. In this article you’ll learn about the three main cloud computing service models, IaaS, PaaS and SaaS, and the various features and tradeoffs.

Infrastructure as a Service (IaaS)

With IaaS services, such as Amazon EC2, your company can consume compute servers, known as “instances”, on-demand. This means that the hardware and software stack, up to the operating system is managed for you.

You then need to choose which operating system to use with your instance (e.g. Linux or Windows) and you are responsible for the configuration and management of the operating system and any software you install on it.

An application programming interface (API) is typically provided for all cloud services, which can be used for programmatic management. Each compute instance will have an allocated storage capacity, and cloud networking functions such as routing, firewalls, and load balancers can be configured.

IaaS is the least popular of the cloud computing service models at present, though it is gaining in popularity. Currently around 12% of enterprise workloads run on IaaS.

The benefits of IaaS include:

  • You don’t need to invest in your own hardware
  • The infrastructure scales on demand to support dynamic workloads
  • Increase stability, reliability and supportability
  • Maintain operational control of the operating system

Examples of IaaS services: Microsoft Azure IaaS, Amazon EC2, Google Compute Cloud (GCP), and Rackspace.

Platform as a Service (PaaS)

Developers love PaaS as it removes more complexity and operational overhead from them. With PaaS, the cloud service provider manages the infrastructure layer and also the middleware, development tools, business intelligence (BI) services, database management systems and more.

This allows developers to concentrate on their code without needing to manage the environment on which it runs. Developers simply upload their code to build web applications. PaaS is designed to support the complete web application life cycle: building, testing, deploying, managing, and updating.

You’re not just limited to web services with PaaS. Databases can also be offered in a platform as a service model. In this case the management of the database engine and underlying hardware is taken care of by the service provider, and you create tables and add data. Examples of database PaaS offerings include Microsoft Azure SQL and Amazon RDS.

PaaS is currently the most popular cloud computing service model, comprising around 32% of all enterprise workloads and is expected to grow in 2020.

The benefits of PaaS include:

  • Cut coding time – develop applications faster
  • Deploy new web applications to the cloud in minutes
  • Reduce complexity with middleware as a service

Examples of PaaS services: Microsoft Azure WebApps, AWS Elastic Beanstalk, Heroku, Force.com and Google App Engine.

Software as a Service (SaaS)

SaaS is a service model where software applications are delivered over the Internet. In the consumer space, examples include Gmail, Facebook and Dropbox – these services are ready to use, no coding required, you just use them.

With SaaS the entire stack is managed for you, though you will often have some limited scope to configure the service according to your needs.

SaaS is the second most popular cloud computing service model for enterprises, totalling around 24% of all enterprise workloads.

The benefits of SaaS include:

  • Sign up and rapidly start using innovative business apps
  • Apps and data are accessible from any connected computer
  • No data is lost if your computer breaks, as data is in the cloud
  • The service is able to dynamically scale to usage needs

Examples of SaaS services: Google Apps, Microsoft Office 365, and Salesforce.

The diagram below depicts these three service models and shows where the responsibility for management lies, it also compares against the “legacy IT” or “on-premises” model:

Cloud Service Models IaaS PaaS SaaS

Other Cloud Computing Service Models

There are several other cloud computing service models that are slight variations on what has been discussed already. These include Container as a Service (CaaS) and Functions as a Service (FaaS) which will be discussed below.

You may also have seen the acronym XaaS. The “X” in XaaS is a variable meaning you can replace it with whatever letter corresponds with the service you are offering in an “as a service” model. Also known as “anything as a service”. An example is DaaS which stands for “database as a service”, and BaaS which stands for “backup as a service”.

Container as a Service (CaaS)

A CaaS service sits somewhere between IaaS and PaaS, depending on the implementation. With a CaaS service the cloud service provider manages the container engine, such as Docker for you. You can use a management console or API to upload, organize, run, scale, manage and stop containers.

The benefits of using CaaS include:

  • Pay only for what you use – such as compute instances, load balancing and scheduling capabilities
  • It is easier to scale up a container using CaaS
  • CaaS services can be responsive, secure and stable thanks to the support and management from the provider
  • For developers, a CaaS model streamlines the process of building a scaled-out container and applications deployment

Examples of CaaS services: AWS Elastic Container Service (ECS), Microsoft Azure Container Service (ACS), Google Container Engine (GKE).

Functions as a Service (FaaS)

This is yet another level of abstraction. FaaS is part of a suite of services known as “serverless” services. With serverless computing you don’t need to worry about launching, managing, or scaling any compute resources such as server “instances”, clusters, or load balancers.

Serverless computing architectures are commonly associated with microservices applications. In the case of FaaS, compute processes are presented as “functions”. You upload your code and it is run when a request is received. When no requests to run your application code are being received, there are no costs being incurred, due to the “serverless” nature of functions.

The benefits of FaaS include:

  • Easier on developers — all server management is handled by the cloud service provider
  • Less management overhead = more time to focus on innovation/code
  • Functions scale automatically and independently
  • Never pay for idle resources
  • Built in availability and fault tolerance

Examples of FaaS services: AWS Lambda, Microsoft Azure Functions, Google Functions

The diagram below compares IaaS to CaaS and FaaS:

VMs vs Containers vs Serverless (FaaS)

Further Reading

This article is part of a series, please also check out:

AWS Training Cloud Computing Certified

Leave a Comment

Scroll to Top