Cloud Computing

IB Syllabus: A1.1.9 – Cloud computing service models, A1.3.2 – Virtualization

Table of Contents

  1. Key Concepts
    1. What is Cloud Computing? (A1.1.9)
    2. Cloud Service Models (A1.1.9)
    3. Control vs Responsibility Spectrum
    4. Virtualization (A1.3.2)
    5. Cloud vs On-Premise
    6. Enrichment: 5 Essential Characteristics (NIST)
  2. Worked Examples
    1. Example 1: Classify Cloud Services
    2. Example 2: Recommend a Cloud Model
  3. Quick Code Check
  4. Spot the Error
  5. Fill in the Blanks
  6. Predict the Output
  7. Practice Exercises
    1. Core
    2. Extension
    3. Challenge
  8. Connections

Key Concepts

What is Cloud Computing? (A1.1.9)

Cloud computing is the delivery of computing resources – servers, storage, databases, networking, and software – over the internet (“the cloud”). Instead of buying and maintaining physical hardware, organisations rent resources from a cloud provider and pay only for what they use.

Key characteristics of cloud computing:

  • Resources are hosted in large data centres managed by cloud providers (e.g., AWS, Microsoft Azure, Google Cloud Platform)
  • Pay-as-you-go pricing model – no large upfront hardware investment
  • Resources can be scaled up or down on demand (e.g., add more servers during busy periods)
  • Accessed from anywhere with an internet connection

Cloud Service Models (A1.1.9)

Cloud services are categorised into three models based on how much the provider manages versus how much the user controls.

SaaS (Software as a Service)

  • Complete applications delivered via a web browser
  • The provider manages everything: infrastructure, platform, and application
  • The user simply uses the software – no installation, updates, or server management
  • Examples: Google Docs, Microsoft 365, Canva, Gmail, Zoom
  • Least control, most convenience

PaaS (Platform as a Service)

  • A platform for building and deploying applications
  • The provider manages the infrastructure and runtime environment
  • The developer writes and deploys code without managing servers or operating systems
  • Examples: Heroku, GitHub Pages, Azure App Service, Google App Engine
  • Medium control

IaaS (Infrastructure as a Service)

  • Raw computing resources: virtual machines, storage, networking
  • The provider manages the physical hardware only
  • The user manages the operating system, runtime, and applications
  • Examples: AWS EC2, Azure Virtual Machines, Google Compute Engine, DigitalOcean
  • Most control, most responsibility

Control vs Responsibility Spectrum

        Least Control                        Most Control
        Most Managed                         Least Managed
        ┌──────────┬──────────┬──────────┐
        │   SaaS   │   PaaS   │   IaaS   │
        └──────────┴──────────┴──────────┘
You manage: Nothing   App code   OS + Apps
Provider:   Everything Platform   Hardware

A common exam mistake is confusing the three models. Remember: SaaS = you use it, PaaS = you code on it, IaaS = you build everything on it. The more letters before “aaS,” the more you manage.

Virtualization (A1.3.2)

Virtualization is the process of creating virtual versions of physical resources – servers, storage, or networks – using software. It is the foundational technology that makes cloud computing possible.

Hypervisor

  • Software that creates and manages virtual machines
  • Sits between the physical hardware and the virtual machines
  • Examples: VMware ESXi, Microsoft Hyper-V, KVM
  • Type 1 (bare-metal): runs directly on hardware – used in data centres
  • Type 2 (hosted): runs on top of an existing OS – used on desktops (e.g., VirtualBox)

Virtual Machines (VMs)

  • Emulate complete computer systems, each with their own operating system
  • Multiple VMs can run on a single physical server, each isolated from the others
  • One physical server might run 10 VMs, each appearing to be a separate computer

Containers

  • A lightweight alternative to VMs (e.g., Docker)
  • Share the host operating system kernel instead of running a full OS per instance
  • Faster to start, use less memory, but offer less isolation than VMs

Virtualization enables cloud computing because one physical server can run many virtual servers for different customers, maximising hardware utilisation.

Benefits of virtualization:

  • Better resource utilisation – no idle hardware; one machine serves many users
  • Isolation – if one VM crashes, others are unaffected
  • Easy scaling – spin up new VMs in minutes rather than purchasing new hardware
  • Snapshot and backup – save the exact state of a VM and restore it later

Cloud vs On-Premise

Factor Cloud On-Premise
Cost Operational (monthly fees) Capital (upfront purchase)
Scaling Easy – add resources on demand Difficult – buy new hardware
Maintenance Provider handles updates and repairs In-house IT team required
Control Less – provider’s rules and configurations Full control over all aspects
Accessibility Anywhere with internet Local network only (without VPN)
Security Shared responsibility with provider Entirely your responsibility

Enrichment: 5 Essential Characteristics (NIST)

This goes beyond the IB syllabus but helps build understanding.

The US National Institute of Standards and Technology (NIST) defines five essential characteristics of cloud computing:

  1. On-demand self-service – provision resources (e.g., new servers, storage) without requiring human interaction with the provider
  2. Broad network access – accessible from any device (laptop, phone, tablet) over the network
  3. Resource pooling – the provider’s computing resources serve multiple customers simultaneously, with resources dynamically assigned based on demand
  4. Rapid elasticity – scale up or down quickly based on demand; resources appear unlimited to the user
  5. Measured service – usage is monitored, controlled, and billed accordingly (like a utility such as electricity)

Worked Examples

Example 1: Classify Cloud Services

For each service, identify whether it is SaaS, PaaS, or IaaS, and explain why.

Service Model Reasoning
Google Docs SaaS A complete application accessed through a browser; Google manages everything
AWS EC2 IaaS Provides virtual machines; the user installs and manages the OS and applications
Heroku PaaS Developers deploy code without managing servers; Heroku handles infrastructure
Microsoft 365 SaaS Complete productivity suite delivered via browser; Microsoft manages everything
Azure Virtual Machines IaaS Provides raw VMs; the user manages OS, runtime, and applications
GitHub Pages PaaS Developers push code and the platform builds and hosts the website automatically

The pattern: ask “who manages the operating system?” If the provider manages everything including the application, it is SaaS. If the provider manages infrastructure but you deploy your code, it is PaaS. If you manage the OS and everything above it, it is IaaS.


Example 2: Recommend a Cloud Model

For each organisation, recommend the most appropriate cloud service model and justify the choice.

Scenario A: A school wants email and documents for staff and students.

  • Recommendation: SaaS (e.g., Google Workspace, Microsoft 365)
  • The school does not need to manage servers or write custom software. They need ready-made tools that work immediately. SaaS provides this with minimal IT overhead.

Scenario B: A startup is building a web application and wants to focus on writing code.

  • Recommendation: PaaS (e.g., Heroku, Google App Engine)
  • The developers want to deploy their application without managing servers, configuring operating systems, or handling scaling. PaaS abstracts away infrastructure so the team can focus on product development.

Scenario C: A large enterprise with strict regulatory compliance requirements needs full control over security configurations.

  • Recommendation: IaaS (e.g., AWS EC2, Azure VMs)
  • The enterprise needs to configure firewalls, encryption, and access controls precisely. IaaS gives them full control over the virtual machines and networking while still avoiding the cost of purchasing physical hardware.

Quick Code Check

Q1. Which cloud service model gives the user the most control over the computing environment?

Q2. Google Docs is an example of which cloud service model?

Q3. What technology enables one physical server to run multiple virtual servers simultaneously?

Q4. A developer wants to deploy a web application without managing any servers or operating systems. Which model is most appropriate?


Spot the Error

A student classified several cloud services for their exam revision. One service is classified incorrectly. Click the line with the error, then pick the correct fix.

1Google Docs → SaaS (complete application in a browser) 2AWS EC2 → PaaS (virtual machines in the cloud) 3GitHub Pages → PaaS (deploy code, platform builds the site) 4Canva → SaaS (design tool accessed via browser)

Pick the correct classification for AWS EC2:


Fill in the Blanks

Complete the comparison of cloud service models and virtualization concepts by filling in each blank.

Fill in the blanks to complete this summary of cloud computing:

CLOUD SERVICE MODELS
====================
 provides complete applications accessed through a web browser.
 provides a platform for developers to build and deploy applications.
 provides raw computing resources like virtual machines and storage.

VIRTUALIZATION
==============
A  is software that creates and manages virtual machines.
 are lightweight alternatives to VMs that share the host
operating system kernel.

Predict the Output

A small business wants to use spreadsheets, email, and document editing without managing any servers or installing software on their computers. Which cloud service model is most appropriate?

Type the service model abbreviation:

A hospital needs to host patient records in the cloud but must comply with strict data protection regulations. They need full control over firewall rules, encryption, and access policies. Which cloud service model should they choose?

Type the service model abbreviation:


Practice Exercises

Core

  1. Classify Services – Classify each of the following as SaaS, PaaS, or IaaS: Gmail, Azure Virtual Machines, Heroku, Zoom, Google Compute Engine. For each, explain your reasoning in one sentence.

  2. Cloud Advantages – List three advantages of cloud computing over on-premise solutions. For each advantage, give a specific example of how it would benefit a school.

  3. VM vs Container – Explain the difference between a virtual machine and a container. State one advantage and one disadvantage of each approach.

Extension

  1. School Evaluation – A school with 500 students and 50 teachers is deciding between cloud and on-premise solutions for their IT infrastructure. Compare the two approaches in terms of: (a) cost, (b) maintenance, (c) accessibility for students working from home, and (d) data security. Make a justified recommendation.

  2. Virtualization and Cloud – Explain how virtualization makes cloud computing possible. In your answer, describe the role of the hypervisor and explain why running multiple VMs on one physical server is more efficient than dedicating one physical server per customer.

Challenge

  1. Startup Architecture – A growing startup currently has 10 employees but expects to grow to 100 within 2 years. Design a cloud architecture recommending specific service models for each of the following needs:
    • Email and document collaboration
    • Their custom web application
    • Data storage and database management

    For each component, state whether you recommend SaaS, PaaS, or IaaS, name a specific provider/service, and justify your choice. Explain how the architecture would scale as the company grows.


Connections

  • Prerequisites: Secondary Storage – cloud storage is an alternative to local secondary storage; understanding storage tradeoffs helps evaluate cloud vs on-premise
  • Related: Primary Memory – virtual machines have virtual RAM allocated from the physical server’s RAM; the memory hierarchy applies within each VM
  • Related: GPU – cloud providers offer GPU instances (e.g., AWS, Google Cloud) for AI/ML workloads that require parallel processing
  • Forward: Operating Systems Layer – virtualization is a key OS function (A1.3.2); the OS manages resource allocation to VMs and containers
  • Forward: Communication Layer – cloud computing relies on network infrastructure, protocols, and security (A2)

Back to top

© EduCS.me — A resource hub for IB Computer Science

This site uses Just the Docs, a documentation theme for Jekyll.