X as a Service Overview

There are many as a Service models, more than we can fully enumerate. However, some of the most common form a kind of hierarchy,

1 Nothing as a Service

Code you run on hardware you own that does not talk to other computers does not fit in the as a Service model. You have all the parts, no one is serving any of it to you.

2 Infrastructure as a Service (IaaS)

We have you run some code using a virtual machine supplied by IT personnel here at the university.

They provide the hardware. They provide a virtualization layer on top of the hardware: essentially, a program that pretends to be hardware, allowing them to run several virtual machines (VMs) on the same hardware and to change what hardware is running your VM without you noticing.

They also provide the operating system (OS), but could have provided several different OSes; at the start of the semester I ordered a specific version of Linux for each VM. As long as they provided the OS I ordered, I don’t really care how they get it: what hardware and virtualization they pick is up to them.

What I Purchase
Operating system (and ISA)
Abstracted away by service provider
Hardware, virtualization
Large commercial providers
  • AWS EC2
  • Azure Virtual Machine
  • GCP Compute Engine
  • Alibaba ECS
  • Baidu BCC
  • Huawei ECS

3 Containers as a Service (CaaS)

A container is software that provides an isolated, controlled environment for running a specific application which is independent of the OS it is running on. Docker is the most popular container runtime, though others also exist including containerd, Firecracker, gVisor, Kata Containers, Nabla, Podman, Railcar, rkt. Container management systems help manage clusters of containers; Kubernetes is the most popular of these, though others like Docker swarm also exist.

Container as a Service providers let me purchase either a specific container I want to run or access to a container-management tool like Kubernetes. They provide the operating system, virtualization, and hardware needed to run these tools.

What I Purchase
A container or container management tool
Abstracted away by service provider
Hardware, virtualization, operating system
Large commercial providers
  • AWS EKS and ECS
  • Azure AKS
  • GCP GKE
  • Alibaba ACK
  • Baidu CCE
  • Huawei CCE

4 Platform as a Service (PaaS)

A platform is somewhat fuzzy in its definition, but generally suggests something like a software library or family or related operations that code you write might wish to use, such as a database engine or trained AI model.

What I Purchase
A platform like a database or trained AI model
Abstracted away by service provider
Hardware, virtualization, operating system, containers
Large commercial providers
Many; most IaaS and CaaS providers have multiple PaaS offerings, and many AI, DB, and related companies also offer PaaS.

5 Functions as a Service (FaaS)

Some cloud providers allow me to send them a function and send back to me the results of running that function. We call this Function as a Service.

Using FaaS services is sometimes called serverless computing. This does not suggest there are no servers involved in implementing and using FaaS; rather, it refers to the way that those providing FaaS-backed software can provide server-like operations without buying their own servers or server-like PaaS, CaaS, or IaaS instances.

What I Purchase
Executions of a function I provide (and the language that it runs in)
Abstracted away by service provider
Hardware, virtualization, operating system, containers, compiler/interpreter
Large commercial providers
  • AWS Lambda
  • GCP Cloud Functions
  • Azure Functions
  • Alibaba FC
  • Huawei FunctionGraph

6 Software as a Service (SaaS)

Any app you run by connecting to a website or by running an installed application that defers key operational functions to a computer over the Internet is Software as a Service.

What I Purchase
Access to an application
Abstracted away by service provider
Hardware, virtualization, operating system, containers, compiler/interpreter, language, code
Large commercial providers
  • Web-based email clients
  • Communication tools like Discord and Zoom
  • Search engines
  • … and many, many more