Cloud Computing Technologies

A.Y. 2024/2025
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
English
Learning objectives
The objectives of the course are i) to provide architectural skills on next-generation cloud systems including their impact in modern distributed applications both from a functional and non-functional point of view, ii) to deepen the technologies at the basis of cloud computing systems.
Expected learning outcomes
Theoretical skills for the design of cloud architectures and practical skills for the implementation of complex cloud solutions to support modern distributed applications.
Single course

This course cannot be attended as a single course. Please check our list of single courses to find the ones available for enrolment.

Course syllabus and organization

Single session

Lesson period
Second semester
Course syllabus
The course focuses on 4 main areas, structured as follows:

1. Introduction to modern distributed systems
- Basic concepts, requirements, and trends of evolution
- Fundamentals of virtualization

2. Cloud Computing Fundamentals
- Service and models, technologies, and case studies
- Migration to the cloud, cloudonomics, challenges and issues
- Practical examples

3. Microservice Architecture Fundamentals
- Overview and basic concepts
- Microservice migration
- Container-based technologies: development, orchestration and deployment
- Practical examples

4. Non-functional aspects of modern distributed systems
- Assurance and risk techniques
- Audit, Certification, Compliance
- Resilience and fault tolerance
- Practical examples
Prerequisites for admission
Basic knowledge of computer networks, fundamentals of programming languages and computer security.
Teaching methods
The course consists of traditional lectures for learning the most relevant theoretical concepts. Demo sessions present the application of the learned theoretical concepts in practice.
Teaching Resources
Slide deck available on the course web site https://myariel.unimi.it/course/view.php?id=2134

DISTRIBUTED SYSTEMS
1. Tanenbaum, S., Maarten Van Steen, Distributed Systems: Principles and Paradigms, Prentice Hall (2007), 0-13-239227-5. M. van Steen and A.S. Tanenbaum, Distributed Systems,
3rd ed., distributed-systems.net, 2017.
2. George Coulouris, Jean Dollimore, Tim Kindberg, Distributed Systems - Concepts and Design, 4th edition, Pearson/Addison Wesley (2006), 0321-26354-5

CLOUD
- L. Badger, T. Grance, R. Patt-Corne, J. Voas, Cloud Computing Synopsis and Recommendations, NIST, http://csrc.nist.gov/publications/nistpubs/800-146/sp800-146.pdf
- B. Sosinsky, Cloud Computing Bible, 2011

REST services
- R.T. Fielding, Architectural Styles and the Design of Network-based Software Architectures, https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
- L. Richardson and S. Ruby, RESTful Web Services, http://www.crummy.com/writing/RESTful-Web-Services/
Assessment methods and Criteria
The exam comprises both an oral examination and a project component. The oral examination is intended to assess the student's understanding of all topics covered during the course. The project, presented during the oral exam, aims to delve into the practical aspects of a specific topic covered in the course. The final evaluation, expressed on a scale of thirtieths, takes into account the following factors: the knowledge of the topics, application of acquired knowledge to solve a practical project, quality of the project, critical thinking skills, clarity of presentation, and language proficiency.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Shifts:
Professor(s)
Reception:
By appointment only
At Dipartimento di Informatica, Via Celoria 18, Milan (MI)