Code
IGFF CSC 5004
Level
M2
Graduate
Graduate
Semester
Fall
Domain
Informatique
Program
Programme Ingénieur
Language
Français/French
ECTS Credits
4
Class hours
42
Workload
70
Program Manager(s)
Department
- Informatique
Educational team
Organisation
Cours/TD/TP/projet/examen : 24/0/12/3/0Learning objectives
objectives:
[knowledges]
- acquire an overview of Cloud computing (e.g., data centers, everything-as-a-service, on-demand computing, cloud economy model)
- apprehend the fundamental notions in Cloud computing (e.g., fault-tolerance, elasticity, scalability, load balancing)
- understand how virtualization works (VM, container)
- deconstruct and classify a distributed data store
- recognize data consistency problems and know common solutions
[know-hows]
- deploy and maintain IaaS
- construct base data storage services (e.g., key-value store, coordination kernels)
- construct and deploy a micro-service architecture
- think for dependability & scalability
CDIO Skills
- 2.1.4 - Analysis With Uncertainty
- 4.3.1 - Understanding Needs and Setting Goals
- 4.5.4 - Hardware Software Integration
- 4.7.3 - Thinking Creatively and Imagining Possibilites (which builds on and expands Creative Thinking 2.4.3)
- 4.7.7 - Exercising Project / Solution Judgment
Prerequisites
CSC 5002, CSC 5001, CSC 4101, CSC 4509, CSC 4102, CSC 3101, CSC 3102
Keywords
Cloud computing, Virtualization, Containers Orchestration, Large-scale infrastructure, Distributed data storage, Service oriented architecture, Availability, Fault-tolerance, Data Distribution, Data replication & consistency.
Content
This course studies in detail the new infrastructures that sustain the Cloud.
We first examine the principles of resources virtualization and how to deploy and orchestrate clusters of virtual machines and containers.
In a second part, we review some fundamentals of large-scale distributed systems.
These ideas are then applied in a third part to the construction of modern distributed data stores.
Such stores run on commodity servers and are able to deliver the massive performance needed by the Cloud computing services.
We study some key notions such as data consistency, data distribution, replication and indexing, and we learn how to think for scalability and fault-tolerance, two fundamentals requirements of modern distributed services.
Evaluation
In this course, students work in group of four.
Evaluation is based on practicals as well as a mini-workshop.
The practicals run atop a small cluster of Raspberry Pis that the students build at the start of the course.
In the mini-workshop, each group presents a research paper recently published on the topic of Cloud computing infrastructures.
Assessment formula
Note = Moy(Moy(TPs), Mini-Workshop)
References
Given during the course.
Pedagogical methods
In this course, students work in group of four.
Evaluation is based on practicals as well as a mini-workshop.
The practicals run atop a small cluster of Raspberry Pis that the students build at the start of the course.
In the mini-workshop, each group presents a research paper recently published on the topic of Cloud computing infrastructures.