Lo studente apprenderà i principi del cloud computing attraverso una combinazione di comprensione teorica e conoscenze tecniche e pratiche. I principi base e argomenti su tecnologie cloud avanzate sono discusse coprendo sia concetti infrastrutturali e che di piattaforme. Modelli di programmazione orientati a sistemi cloud in aggiunta ad esempi pratici sullo sviluppo di applicazioni sono inoltre presentati. Lo studente che completa con successo il corso è in grado di dimostrare le conoscenze necessarie per comprendere, progettare e analizzare le infrastrutture e applicazioni cloud attuali e future.
The objective of the course is to teach topics in cloud computing, including also hands-on technical knowledge. Foundation principles of cloud computing and advanced technologies are discussed covering concepts of the cloud infrastructure as well as cloud platforms. Cloud programming models and practical examples of cloud application deployments are also covered. At the end of the course, students are expected to develop in deep knowledge of the cloud computing infrastructure and platforms, required to understand, design, and analyze current and future cloud infrastructure and applications.
Durante la prova orale lo studente deve essere in grado di dimostrare la propria conoscenza del materiale didattico del corso.
The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. During the oral exam the student must be able to demonstrate his/her knowledge of the concepts developed in the course.
Lo studente che completa con successo il corso è in grado di sfruttare le conoscenze acquisite, integrate da una serie di attività pratiche, al fine di configurare, operaer e risolvere problemi di piattaforme e applicazioni cloud computing.
The student who successfully completes the course is able to leverage the acquired knowledge, complemented by a number of hands-on activities developed during the course, in order to design, configure and troubleshoot cloud computing platforms and applications.
Lo studente deve preparare e presentare una relazione scritta che documenti i risultati dell'attività del progetto (come parte dell'esame).
Durante la discussione del progetto, lo studente deve dimostrare la capacità di mettere in pratica e di eseguire, con consapevolezza critica, le attività illustrate o svolte.
The student has to prepare and present a written report that documents the results of the project activity (as part of the exam).
During the project discussion, the student must demonstrate the ability to put into practice and to execute, with critical awareness, the activities illustrated or carried out.
Gli studenti acquisiranno accuratezza e precisione nella progettazione e risoluzione dei problemi relativi al funzionamento di sistemi e applicazioni cloud.
Gli studenti saranno in grado di collaborare con i propri colleghi e svolgere un lavoro di gruppo in modo efficace.
Students will acquire accuracy and precision in designing and troubleshooting the operation of cloud computing systems and applications.
Students will be able to collaborate with her/his peers and carry out teamwork in an effective manner.
Durante le sessioni di laboratorio, verrà valutata l'accuratezza e la precisione delle attività svolte.
Verranno valutati i metodi di assegnazione di responsabilità, gestione e organizzazione durante le attività di sviluppo del progetto.
During the lab sessions, the accuracy and precision of the activities carried out will be evaluated.
The methods of assigning responsibility, management and organisation during the project development activities will be evaluated.
Conoscenze di base delle reti di calcolatori e di sistemi operativi.
Basic knowledge of networking and operating systems.
Lezioni frontali con ausilio di slide.
Attività di laboratorio realizzate usando indifferentemente i PC delle aule informatiche o quelli personali degli studenti, basate su materiale didattico fornito dal docente.
Sito web del corso utilizzato per scaricamento materiali didattici, comunicazioni docente-studenti.
F2F lectures with slides.
Hands-on activities using either computers in the IT classroom or students’ personal computers, based on material provided by the teacher.
Course website used for downloading teaching materials, and communication between the lecturer and the student.
INTRODUZIONE GENERALE E CONCETTI PRELIMINARI. Introduzione generale al Cloud computing. Paragone con i paradigmi tradizionali. Principali vantaggi e benefici. Modello generale di piattaforme cloud. Introduzione ai vari sistemi di servizio (IaaS, PaaS and SaaS) e modelli di sviluppo private cloud vs public cloud.
TECNOLOGIE DI VIRTUALIZZAZIONE. Introduzione alla virtualizzazione delle risorse. Virtualizzazione hardware e a livello di sistema operativo. Vantaggi e svantaggi dei vari approcci. Esercizi di laboratorio sulla virtualizzazione.
MODELLI DI CLOUD COMPUTING E SERVIZI. Introduzione a Openstack come esempio di piattaforma Cloud. Lezioni di laboratorio con esercizi.
INFRASTRUTTURA CLOUD. Architettura generale di un datacenter. Principi di rete per piattaforme cloud. Cloud storage e file system distribuiti.
MECCANISMI CLOUD. Gestione e monitoraggio delle piattaforme cloud. Principi di orchestration e gestione delle risorse nei sistemi cloud. Content Distribution Networks. Service Level Agreement. Principi di cloud computing security. Laboratori con esempi pratici.
APPLICAZIONI CLOUD. Struttura di applicazioni cloud. Rest services. Laboratori con esempi pratici.
MODELLI PROGRAMMAZIONE CLOUD. Introduzione generale ai modelli di programmazione cloud per big data. MapReduce. Laboratori su Hadoop e Spark.
GENERAL INTRODUCTION AND PRELIMINARY CONCEPTS. General introduction to Cloud computing. Comparison with traditional computing. Main advantages and benefits. How cloud computing addresses business challenges. General cloud computing reference model. Cloud computing platforms. Introduction to different services types (IaaS, PaaS and SaaS). Different deployment models, private cloud vs public cloud.
VIRTUALIZATION TECHNOLOGIES. Introduction to computing resource virtualization. Machine level virtualization techniques. Operating system level virtualization techniques, containerization. Advantages and disadvantages of each approach. Laboratory: exercises on virtualization and containerization.
CLOUD COMPUTING MODEL AND SERVICES. Introduction to OpenStack as example of a cloud platform. Laboratory: hands on with existing cloud computing platform.
CLOUD INFRASTRUCTURE. General architecture of a datacenter. Principles of cloud platform networking. Cloud storage and distributed file systems.
CLOUD MECHANISMS. Managing the cloud platform. Cloud platform monitoring. Principles of orchestration and cloud resource management. Load balancing. Content Distribution Networks. Service Level Agreement. Principles of cloud computing security. Laboratory: hands on with cloud platform orchestration.
CLOUD APPLICATION. Cloud application structure. Rest services. Principles of distributed applications. Laboratory: practical examples of cloud applications
CLOUD PROGRAMMING MODELS. General introduction to cloud programming models for big data analysis. Cloud execution flow, scheduling and fault tolerance. The MapReduce programming model. Laboratory: hands on experience with Hadoop and Spark.
Nessuna indicazione specifica. La frequenza non è obbligatoria ma fortemente consigliata.
Not any specific one. Attendance is not mandatory but highly recommended.
Gli studenti devono svolgere un'attività di progetto (in gruppo) come parte dell'esame.
L'esame consiste di:
Students have to carry out a project activity (in group) as part of the exam.
The exam consists of: