Optional course, offered in the Master Degree in Computer Engineering, 1st teaching period, 2nd year.
This course will focus on cloud technologies, which represent and important and growing field in computer engineering.
The course will provide a good understanding of main cloud computing technologies, namely full virtualization and lightweight virtualization (e.g., namespaces, containers), orchestrators, and tools for service deployment, monitoring, and maintenance. Security aspects will be presented as well,
Teaching labs will focus on service creation and deployment with different orchestrators, namely OpenStack and Kubernetes, and support tools such as Ansible.
- Knowledge of computing virtualization technologies (CPU, memory, I/O), including lightweight virtualization techniques (e.g., namespaces, Linux containers, Docker)
- Knowledge of different cloud computing models (public/private/hybrid, IaaS/PaaS/SaaS)
- Knowledge of common open-source service orchestrators (e.g., OpenStack, OpenShift, Kubernetes)
- Knowledge of cloud automation concepts and tools (e.g., Ansible)
- Knowledge of main security and privacy topics in cloud computing services
Basic computer network concepts
Detailed knowledge of computer architectures
Familiarity with Linux operating system
Benefits and historical perspective of cloud computing (0,2cr)
Full virtualization technologies: CPU, memory and I/O virtualization (0,6 cr)
Lightweight virtualization: Cgroups, namespaces, Linux containers, Docker (0,2 cr)
Cloud computing models: public/private/hybrid, IaaS/PaaS/SaaS (0,2 cr)
Cloud computing orchestrators: components and interactions (0,8 cr)
Open-source orchestrators: OpenStack, OpenShift, Kubernetes, Mesos (1,6 cr)
Cloud automation (0,6 cr)
Cloud security (0,5 cr)
Privacy in cloud computing (0,4 cr)
Lab (0,9 cr)
The course includes 51 hours of traditional teaching, complemented by homeworks focusing on the most important topics of the course, which have to be completed by each single student.
In addition, 9 hours are dedicated to lab exercises that will required to practice with the most important technologies presented in the course, such as OpenStack and Kubernetes orchestrators, Docker, Ansible.
Lab exercises will be delivered through a cloud-based system and therefore can be completed also from a remote location.
Lab exercises are expected to be completed by groups of two students.
Given the very recent content of this course, no textbook is available.
Students will be provided with slides used in class, pointers to scientific papers to deepen the knowledge on some selected topics, exercises, and lab assignments.
All the material will be freely available from the web.
ModalitÓ di esame: prova scritta; prova orale facoltativa;
Exam: written test; optional oral exam;
Expected learning outcome
Knowledge of the topics presented in class and of the lab assignments.
Capability to solve exercises that involve the technologies presented in class.
Capability to solve exercises that involve a more complex scenario including multiple technologies presented in class.
Exam: rules, procedures
Final exam is delivered in written form and it will include a set of exercises and/or open-answer questions, each one reaching a max of 5 points. In addition, a set of closed-answer questions may be delivered, each one accounting for max 1 points. The total score of the written exam will be max 30 points. The written exam will last max 2 hours; student cannot bring with them any additional material (e.g., slides, notes, etc).
Students who reach a grade >=26 in the written exam can ask for an optional oral exam, consisting in one question, which will contribute to the final grade with max 3 points.
The oral may also be requested by the professor in case it could be useful to decide the final grade.