Cloud Computing Tutorial · Cloud Basics · Lesson 1 of 24

Cloud Computing Introduction

What cloud computing is, the service models (IaaS, PaaS, SaaS, serverless), and how AWS, Azure and Google Cloud compare.

Create a free account to save this page, take notes and track your progress. Sign in

What is cloud computing?

Cloud computing means renting computing resources (servers, storage, databases, networks, AI models) from a provider over the internet, on demand, and paying for what you use. Instead of buying hardware months in advance, you create a server with an API call in seconds and delete it when you're done.

The big three providers are Amazon Web Services (AWS), Microsoft Azure and Google Cloud. This tutorial uses AWS names first and gives the Azure and Google Cloud equivalents, because the concepts transfer.

Service models

Model You manage Provider manages Examples
IaaS (infrastructure) OS, runtime, app, data Hardware, virtualisation, network EC2, Azure VMs, Compute Engine
PaaS (platform) App and data Everything below Elastic Beanstalk, Azure App Service, App Engine
Containers as a service Containers and config Servers and orchestration ECS/Fargate, EKS, AKS, Container Apps, GKE, Cloud Run
Serverless functions Function code Everything else, including scaling Lambda, Azure Functions, Cloud Run functions
SaaS (software) Your data and settings The whole application Microsoft 365, Salesforce, GitHub

The further down the table, the less you operate and the less you control.

Why companies move to the cloud

  • Elasticity: scale up for a sale, down at night.
  • Speed: new environments in minutes, through code.
  • Managed services: databases, queues and AI services without running servers.
  • Global reach: deploy close to users in many regions.
  • Cost model: operating expense instead of large capital purchases (but only cheaper if you manage it well).
The same building blocks on three cloudsTry it yourself
services = {
    "virtual machines": ("EC2", "Azure Virtual Machines", "Compute Engine"),
    "object storage": ("S3", "Blob Storage", "Cloud Storage"),
    "managed PostgreSQL": ("RDS / Aurora", "Azure Database for PostgreSQL", "Cloud SQL / AlloyDB"),
    "serverless functions": ("Lambda", "Azure Functions", "Cloud Run functions"),
    "Kubernetes": ("EKS", "AKS", "GKE"),
    "message queue": ("SQS", "Service Bus", "Pub/Sub"),
    "identity and access": ("IAM", "Entra ID + Azure RBAC", "Cloud IAM"),
}
print(f"{'':22}{'AWS':16}{'Azure':32}Google Cloud")
for name, (aws, azure, gcp) in services.items():
    print(f"{name:22}{aws:16}{azure:32}{gcp}")

Output

                      AWS             Azure                           Google Cloud
virtual machines      EC2             Azure Virtual Machines          Compute Engine
object storage        S3              Blob Storage                    Cloud Storage
managed PostgreSQL    RDS / Aurora    Azure Database for PostgreSQL   Cloud SQL / AlloyDB
serverless functions  Lambda          Azure Functions                 Cloud Run functions
Kubernetes            EKS             AKS                             GKE
message queue         SQS             Service Bus                     Pub/Sub
identity and access   IAM             Entra ID + Azure RBAC           Cloud IAM

Test yourself

In which model does the provider run the servers, OS and scaling, while you only supply function code?

  1. IaaS
  2. Serverless functions
  3. On-premises
  4. Colocation
Show answer

Answer: Serverless functions

With serverless functions you deploy code; the provider runs and scales everything underneath.

Was this page helpful?