View syllabus
CLOUD COMPUTING
CARLO VALLATI
Academic year2019/20
CourseARTIFICIAL INTELLIGENCE AND DATA ENGINEERING
Code876II
Credits9
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
CLOUD COMPUTINGING-INF/05LEZIONI90
NICOLA TONELLOTTO unimap
CARLO VALLATI unimap
Learning outcomes
Knowledge

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.

Assessment criteria of knowledge

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.

 

Skills

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.

Assessment criteria of skills

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.

 

Behaviors

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.

 

Assessment criteria of behaviors

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.

 

Prerequisites

Basic knowledge of networking and operating systems.

Teaching methods

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.

 

Syllabus

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.

 

Bibliography

 

  • "Cloud Computing" by Sandeep Bhowmik. Cambridge University Press; 1 edition (July 4, 2017). ISBN-13: 978-1316638101
  • Papers provided by instructors

 

Non-attending students info

Not any specific one. Attendance is not mandatory but highly recommended.

 

Assessment methods

Students have to carry out a project activity (in group) as part of the exam.

The exam consists of:

  • a presentation and discussion of the technical project;
  • an oral exam.

 

Updated: 24/01/2020 10:08