This note provides an overview of the key topics covered in the Cloud Systems course (COMPSCI4106/5118) that are relevant for the exam. The exam has a 50% weight of the overall grade and covers both parts of the course evenly.

Exam Format

  • Weight: 50% of the overall grade
  • Structure: Four questions, 10 marks each
    • Two questions on Part 1 (Cloud Resource Management)
    • Two questions on Part 2 (Scalable and Sustainable Architectures)
  • Question Types: Mix of long-form answers and MCQ-style questions
  • Duration: 60 minutes for 40 marks

Part 1: Cloud Resource Management

Chapter 1: Introduction to Cloud Computing

  • NIST Definition and its Dimensions
    • Five essential characteristics
    • Three service models
    • Four deployment models
  • Virtualization Terminology and Categories
    • Process virtualization
    • OS-level virtualization
    • System virtualization
    • Differences between categories

Chapter 2: Virtual Machines

  • Categories of Instructions and Virtualizability
    • Privileged vs. sensitive instructions
    • Popek and Goldberg’s theorem
    • Critical instructions in x86
  • Full Virtualization (Binary Translation)
    • How binary translation works
    • Shadow page tables
    • Memory management in virtualization
  • OS-Assisted Virtualization
    • Xen architecture (domains)
    • CPU virtualization in Xen
    • Memory management in Xen
  • Hardware-Assisted Virtualization
    • CPU virtualization extensions
    • Memory virtualization extensions
    • Tagged Translation Lookaside Buffer

Chapter 3: Containers and Container Management

  • Linux Kernel Containment Features
    • chroot system call
    • namespaces (PID, network, mount, etc.)
    • cgroups (Control Groups)
    • capabilities
  • Docker
    • Images and Dockerfiles
    • Container instances
    • Docker architecture and components
  • Containers vs. VMs
    • Performance differences (CPU, memory, network, I/O)
    • Image size and boot time
    • Isolation and security considerations
  • Container Orchestration
    • Kubernetes architecture
    • Pods, deployments, services
    • Horizontal Pod Autoscaler

Chapter 4: Cloud Infrastructure Management

  • Challenges in Cloud Infrastructure
    • Server sprawl
    • Configuration drift
    • Snowflake servers
  • Cloud Operating Systems
    • OpenStack components
    • Virtual networking
    • Software-Defined Networking (SDN)
  • VM Management
    • VM snapshots
    • VM migration (cold, warm, live)
    • Live migration process in Xen
  • Infrastructure-as-Code and CI/CD
    • Infrastructure definition files
    • Ansible architecture and concepts
    • Continuous delivery vs. continuous deployment
    • Deployment strategies (blue/green, canary)

Chapter 5: Cloud Sustainability

  • Emissions Lifecycle
    • Embodied emissions
    • Operational emissions
    • End-of-life emissions
  • Energy Efficiency and Proportionality
    • Static vs. dynamic power consumption
    • Energy-proportional computing
    • Koomey’s Law and trends
  • Power Usage Effectiveness (PUE)
    • Definition and calculation
    • Industry trends and benchmarks
    • Limitations of PUE
  • Carbon Footprint Measurement
    • Greenhouse Gas Protocol scopes
    • Estimation methodologies
    • Cloud Carbon Footprint (CCF)
  • Carbon-Aware Computing
    • Time-shifting workloads
    • Location-shifting workloads
    • Carbon intensity signals

Part 2: Scalable and Sustainable Architectures

Chapter 6: Cloud System Design

  • Distributed Systems Concepts
    • Fallacies of distributed computing
    • Key aspects of distributed systems
    • Failures, errors, faults, and QoS
  • Quality Attributes
    • Dependability
    • Availability
    • Reliability
  • High Availability
    • Fault tolerance
    • Error detection
    • Failover strategies (active-active, active-passive)

Chapter 7: Modern Cloud Architectures

  • Architectural Approaches
    • Layering and tiering
    • Redundancy by replication
  • Cloud Scaling
    • Stateless scaling (load balancing)
    • Stateful scaling (partitioning)
    • Horizontal vs. vertical scaling
  • Advanced Architectures
    • Microservices
    • Service Mesh Technologies (SMTs)
    • Cloud-native technologies
    • API Gateways

Chapter 8: Flavours of Cloud

  • Provisioning Levels
    • Infrastructure as a Service (IaaS)
    • Platform as a Service (PaaS)
    • Software as a Service (SaaS)
    • Function as a Service (FaaS)
  • Deployment Models
    • Public, private, community, hybrid clouds
    • Considerations for choosing models
  • Cross-Cloud Computing
    • Hybrid clouds
    • Federated clouds
    • Multi-clouds
    • Meta-clouds
  • Computing Continuum
    • Edge computing vs. fog computing
    • Support roles in the continuum
    • Comparison of fog/edge with cloud

Chapter 9: A Wider Lens on Sustainability

  • Designing Dependable Data Centres
    • Hardware redundancy
    • Network redundancy
    • Power redundancy
    • Cooling redundancy
  • Carbon Footprint Measurement Frameworks
    • GHG Protocol
    • Real-time vs. historical approaches
    • Life Cycle Assessment (LCA)
  • Measurement Granularities
    • Software-level
    • Server-level
    • Rack-level
    • Data center-level
    • Network-level
  • Carbon Intensity
    • Definition and regional variations
    • Average vs. marginal intensity
    • Carbon intensity signals
  • Carbon-Aware Decision Making
    • Vendor decisions
    • User decisions
    • Instance type selection

Exam Preparation Tips

  1. Focus on Understanding Concepts:

    • Rather than memorizing details, ensure you understand core concepts and can explain them
    • Be prepared to apply concepts to different scenarios
  2. Practice Explanation and Justification:

    • Many questions will ask you to explain your reasoning
    • Practice articulating clear, concise explanations
  3. Review Example Questions:

    • Look at the example questions provided in lecture materials
    • Practice answering similar questions within the word limits
  4. Connect Related Concepts:

    • Understand how different topics relate to each other
    • Be prepared to discuss trade-offs between different approaches
  5. Terminology:

    • Ensure you’re familiar with the correct terminology
    • Be able to define key terms and concepts
  6. MCQ Strategy:

    • For MCQ questions, you’ll need to both select the right answer and explain your choice
    • Practice justifying answers in one concise sentence