Virtualization in the cloud: techniques and technologies

Lecture illustration

Mathieu Bacou

Télécom SudParis, IMT, IP Paris, Inria

2026–2027 CSC5004 — Cloud Computing Infrastructures

Notions

  • Technologies that run the cloud
    • Virtualization, virtual machines (QEMU/KVM)…
    • Containers (Docker), orchestrators (Kubernetes), micro-services…
    • Serverless, Function-as-a-Service (Apache OpenWhisk)…
  • Techniques to run on the cloud
    • Technologies vs. Application architecture
    • Availability, scalability, security…
  • Systems point of view

Outline

  1. Hardware virtualization (lectures 1&2)
    1. What is virtualization?
    2. VMs and hypervisors
    3. Demo: QEMU/KVM
    4. Internals of a hypervisor
    5. Virtualization for the cloud
  • Lab: Simple Hypervisor from Scratch (class session 1 + lab session)
  1. Operating System-level Virtualization (lectures 2 & 4)
    1. VMs are hard
    2. Containers and container engines
    3. Demo: Docker
    4. Internals of Docker Engine
    5. Demo: namespaces & cgroups
    6. Containers for the cloud: micro-services
    7. Containers for the cloud: orchestration
  • Lab: Simple Container Engine from Scratch (class session 2 + lab session)
  1. Serverless Computing (lecture 4)
    1. Containers are hard
    2. Backend-as-a-Service
    3. Function-as-a-Service
    4. Demo: Apache OpenWhisk
    5. Application architecture
    6. Internals of Apache OpenWhisk
    7. Limits
  • Lab 1: Initiation to Apache OpenWhisk (class session 4)
  • Lab 2: Scaling Horizontally a Web Service, Revisited (class session 4)
  • Sessions:
    1. class on 2026-11-04: lecture + lab
    2. class on 2026-11-09: lecture + lab
    3. lab on 2026-11-23 “The Engines Lab”: free-for-all session to work on “Simple Hypervisor” and “Simple Container Engine”
    4. class on 2026-11-25: lecture + lab

Resources

  • Class website: https://www-public.imtbs-tsp.eu/~mbacou/cours/
    • Sources of demos
    • Labs
    • Lectures
  • References:
    • Hardware virtualization: Mastering KVM Virtualization, 2nd edition. Dakic et al., 2020.
    • Operating system-level virtualization: Docker: Pratique des architectures à base de conteneurs. Cloux et al., 2016. [Fr.]
    • General: Linux Containers and Virtualization: A Kernel Perspective. Jain, 2020.

Further readings

Hardware virtualization

  • Memory resource management in VMware ESX server. Waldspurger. In OSDI 2002.
  • Xen and the Art of Virtualization. Barham, Dragovic, Fraser, Hand, Harris, Ho, Neugebauer, Pratt, Warfield. In SOSP 2003.
  • kvm: the Linux Virtual Machine Monitor. Kivity, Kamay, Laor, Lublin, Liguori. In Linux Symposium 2007.
  • Unikernels: library operating systems for the cloud. Madhavapeddy, Mortier, Rotsos, Scott, Singh, Gazagnaire, Smith, Hand, Crowcroft. In SIGARCH 2013.
  • My VM is Lighter (and Safer) than your Container. Manco, Lupu, Schmidt, Mendes, Kuenzer, Sati, Yasukata, Raiciu, Huici. In SOSP 2017.
  • GiantVM: a type-II hypervisor implementing many-to-one virtualization. Zhang, Ding, Chen, Jia, Yu, Qi, Guan. In VEE 2020.
  • Firecracker: Lightweight Virtualization for Serverless Applications. Agache, Brooker, Florescu, Iordache, Liguori, Neugebauer, Piwonka, Popa. In NSDI 2020.
  • Security and Performance in the Delegated User-level Virtualization. Chen, Li, Mi, Liu, Zang, Guan, Chen. In USENIX OSDI 2023.
  • vPIM: Processing-in-Memory Virtualization. Teguia, Chen, Bitchebe, Balmau, Tchana. In ACM Middleware 2024.
  • Everything You Need to Know About Virtual Machine Live Migration Between Heterogeneous Processors. Ishiguro, Fonyuy-Asheri, Barraud, Lachaize, Bromberg, Tchana. In ACM EuroSys 2026.

Serverless

  • SAND: Towards High-Performance Serverless Computing. Akkus, Chen, Rimac, Stein, Satzke, Beck, Aditya, Hilt. In USENIX ATC 2018.
  • From Laptop to Lambda: Outsourcing Everyday Jobs to Thousands of Transient Functional Containers. Fouladi, Romero, Iter, Li, Chatterjee, Kozyrakis, Zaharia, Winstein. In USENIX ATC 2019.
  • Faasm: Lightweight Isolation for Efficient Stateful Serverless Computing. Shillaker, Pietzuch. In USENIX ATC 2020.
  • Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less Booting. Du, Yu, Xia, Zang, Yan, Qin, Wu, Chen. In ACM ASPLOS 2020.
  • Nightcore: efficient and scalable serverless computing for latency-sensitive, interactive microservices. Jia, Witchel. In ASPLOS 2021.
  • BeeHive: Sub-second Elasticity for Web Services with Semi-FaaS Execution. Zhao, Wu, Tang, Zang, Wang, Chen. In ASPLOS 2023.
  • Ilúvatar: A Fast Control Plane for Serverless Computing. Fuerst, Rehman, Sharma. In ACM HPDC 2023.
  • DataFlower: Exploiting the Data-flow Paradigm for Serverless Workflow Orchestration. Li, Xu, Chen, Zhao, Chen, Guo. In ACM ASPLOS 2023.
  • Process-as-a-Service: Unifying Elastic and Stateful Clouds with Serverless Processes. Copik, Calotoiu, Rethy, Böhringer, Bruno, Hoefler. In ACM SoCC 2024.
  • RainbowCake: Mitigating Cold-starts in Serverless with Layer-wise Container Caching and Sharing. Yu, Roy, Fontenot, Tiwari, Li, Zhang. In ACM ASPLOS 2024.
  • Dirigent: Lightweight Serverless Orchestration. Cvetković, Costa, Djokic, Friedman, Klimovic. In ACM SOSP 2024.
  • Fork in the Road: Reflections and Optimizations for Cold Start Latency in Production Serverless Systems. Chai, Zhou, Hu, Tan, Bie, Shen, Shen, Xing, Song, Yang, Gao, Yu, He, Du, Xia, Chen, Chen. In USENIX OSDI 2025.
  • In-Production Characterization of an Open Source Serverless Platform and New Scaling Strategies. Nasiri, Munshi, Moser, Pirvu, Sundaresan, Maier, Premnath, Böwing, Gopalakrishnan, Shahrad. In ACM EuroSys 2026.

Other topics

  • Memory management, storage, networking, power management…
  • Operating systems, distributed systems…
  • Security, reliability, availability…
  • Programming models, orchestration…