Master in Informatics Engineering
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.
The grade has two components:
| 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 |
| 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 |
| # | 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