Cloud Computing Technologies
A.Y. 2024/2025
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.
Lesson period: Second semester
Assessment methods: Esame
Assessment result: voto verbalizzato in trentesimi
Single course
This course can be attended as a single course.
Course syllabus and organization
Single session
Responsible
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
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/
Code and demo description at course github: https://github.com/Sesar-Lab-Teaching/Cloud-Computing-Technologies
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/
Code and demo description at course github: https://github.com/Sesar-Lab-Teaching/Cloud-Computing-Technologies
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
Professors:
Anisetti Marco, Ardagna Claudio Agostino
Shifts:
Professor(s)
Reception:
By appointment only
At Dipartimento di Informatica, Via Celoria 18, Milan (MI)