Cloud Computing Applications and Services

Logo

Master in Informatics Engineering

2026/2027

A course on cloud computing applications and services addressing the challenges of deploying, provisioning, and operating complex distributed applications at scale. Modern cloud-native systems (from microservices and container orchestration to distributed storage and observability pipelines) demand a solid understanding of the tools and techniques that make them reliable, manageable, and performant.

This course covers both foundational and cutting-edge cloud technologies, from infrastructure-as-code and virtualization to container orchestration with Kubernetes, distributed storage, and monitoring at scale. By mastering these foundations, students develop deep, transferable knowledge that prepares them to contribute meaningfully to both cutting-edge research and production engineering at scale.

Learning outcomes

Instructors

Grading

The grade has two components:

Schedule

Key dates

Milestone Date
Checkpoint #1 08/11/26
Checkpoint #2 06/12/26
Project submission deadline 30/12/26
Exam (test) 04/01/27
Project discussion 11–16/01/27

Lectures & Labs

Week Date Lecture Lab Read
1 21/09/26 Introduction
[ Slides ]
Lab 0: Vagrant/VMs + Bash
[ Guide · Slides · Code ]
B0; B1; B2
2 28/09/26 Distributed Applications
[ Slides ]
Lab 1: Case-study Application
[ Guide · Slides ]
B2; P1
— 05/10/26 (holiday) (holiday)  
3 12/10/26 System Provisioning
[ Slides ]
Lab 2: Containers
[ Guide · Slides ]
B1
4 19/10/26 Cloud Computing
[ Slides ]
Lab 2: Containers (cont.)
[ Solutions ]
B3; P2
5 26/10/26 Virtualization Part I — VMs
[ Slides ]
Lab 2: Containers + Provisioning (cont.)
[ Code ]
B4; P3
6 02/11/26 Virtualization Part II — Containers + K8s
[ Slides ]
Lab 3: Kubernetes B1; B4; B5
7 09/11/26 Storage Lab 3: Kubernetes (cont.) P4; P5; P6
8 16/11/26 Storage (cont.) Q&A / Project P4; P5; P6
9 23/11/26 Monitoring Lab 4: Monitoring B6; P7; P8
10 30/11/26 Benchmarking Lab 5: Benchmarking B6; P9; P10
11 07/12/26 Q&A Q&A / Project  

Bibliography

# Title
B0 J. O. Pereira. Introdução ao Unix.
B1 K. Morris. Infrastructure as Code: Managing Servers in the Cloud. O’Reilly, 2016.
B2 M. Kleppmann. Designing Data-Intensive Applications. O’Reilly, 2017.
B3 T. Erl, R. Puttini, and Z. Mahmood. Cloud Computing: Concepts, Technology and Architecture. Prentice Hall, 2013.
B4 S. Alapati. Modern Linux Administration: How to Become a Cutting-edge Linux Administrator. O’Reilly, 2016.
B5 B. Burns. Kubernetes Up & Running (Second Edition). O’Reilly, 2019.
B6 R. Jain. The Art of Computer Systems Performance Analysis. Wiley, 1991.
P1 C. Tang et al. Holistic Configuration Management at Facebook. SOSP, 2015.
P2 M. Armbrust et al. A View of Cloud Computing. Communications of the ACM, 2010.
P3 P. Barham et al. Xen and the Art of Virtualization. SOSP, 2003.
P4 R. Macedo, J. Paulo, J. Pereira, and A. Bessani. A Survey and Classification of Software-Defined Storage Systems. ACM Computing Surveys, 2020.
P5 J. Paulo and J. Pereira. A Survey and Classification of Storage Deduplication Systems. ACM Computing Surveys, 2014.
P6 S. A. Weil et al. Ceph: A Scalable, High-Performance Distributed File System. OSDI, 2006.
P7 T. Esteves, F. Neves, R. Oliveira, and J. Paulo. CaT: Content-aware Tracing and Analysis for Distributed Systems. ACM/IFIP Middleware, 2021.
P8 T. Esteves, R. Macedo, R. Oliveira, and J. Paulo. Toward a Practical and Timely Diagnosis of Applications’ I/O Behavior. IEEE Access, 2023.
P9 F. Coelho, J. Paulo, R. Vilaça, J. Pereira, and R. Oliveira. HTAPBench: Hybrid Transactional and Analytical Processing Benchmark. ICPE, 2017.
P10 B. K. Vangoor, V. Tarasov, and E. Zadok. To FUSE or Not to FUSE: Performance of User-Space File Systems. USENIX FAST, 2017.

Legend: B — Book; P — Paper