Cloud Computing Systems (2021/2022) - Departamento de Informática
Description

This is an optional course for advanced under-graduate or graduate students on the fundamentals, models and architectures of large computer systems, focusing on Cloud environments and services. We also cover Data Centers and storage, networking and computational technologies. Students will gain hands-on experience solving relevant problems (e.g., Big Data) through projects using virtualisation and containers running either in the department´s infrastructureor in public clouds.

Objectives

Knowledge
* Understand the fundamentals of Cloud computer systems.
* Learn the different cloud service models (IaaS, PaaS, SaaS). Examples, characteristics and implementation.
* Know the data center infrastructures and the restrictions imposes.
* Know the services available in cloud platforms, how they work and can be used.
* Know resource virtualization techniques.

Skills and competences
* Identify the classes of applications that benefit from Cloud computing systems.
* Create solutions that take advantage of Cloud services and resources.
* Evaluate solutions developed for Cloud platforms.

Syllabus

1. Introduction
1.1 Challenges and motivation
1.2 Models
1.3 Building blocks
2. Storage services
2.1 Block storage and filesystems
2.2 Cloud databases: key-value stores and databases
3. Caching services
3.1 Application caches at the DCs
3.2 Content-distribution networks
4. Towards serverless computing
4.1 Support for micro-services
4.2 Function-as-a-Service
5. Processing data
5.1 Queuing services
5.2 Batch processing services
5.3 Intro to stream processing services
6. IaaS
6.1 Virtualization
6.2 Containers
6.3 Deployment in clusters (Kubernetes)
7. Networking
7.1 Virtual networks
8. Security
8.1 Authentication services
8.2 Privacy and security
9. Infrastructure
9.1 The physical data center
9.2 Advanced cloud architectures: hybrid cloud
9.3 Edge computing

Bibliography

Cloud Computing: Theory and Practice, Dan C. Marinescu, Morgan Kaufman-Elsevier, 2013.

The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Luiz André Barroso, Jimmy Clidaras, Urs Hölzle, Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, 2013.

Selected conference and/or journal papers.

Prerequisites

The student must have good programming skills, and knowledge of distributed systems.

Student work
  Hours per credit 28
  Hours per week Weeks Hours
Aulas práticas e laboratoriais   26.0
Aulas teóricas   26.0
Avaliação   5.0
Self study   50.0
Project   55.0
Total hours 162
ECTS 6.0