Faculdade de Ciências e Tecnologia

Cloud Computing Systems

Code

11174

Academic unit

Faculdade de Ciências e Tecnologia

Department

Departamento de Informática

Credits

6.0

Teacher in charge

Nuno Manuel Ribeiro Preguiça, Vítor Manuel Alves Duarte

Weekly hours

4

Total hours

56

Teaching language

Português

Objectives

Knowledge

  • Understand the fundamentals of Cloud computer systems
  • Understand data center infrastructures (storage, networking and computational) and resource virtualization techniques
  • Learn different Cloud service models (IaaS, PaaS, SaaS). Examples, characteristics and implementation
  •  Understand programming models used to develop applications that benefit from Cloud environments.

Skills and competences

  • Identify the classes of applications that benefit from Cloud computing systems.
  • Create solutions that take advantage of Cloud services and resources.
  • Evaluate solutions developed for Cloud platforms.

Subject matter

1- Introduction and motivation: target applications and their requirements. Support systems characteristics: components and service models.

2- Infrastructures and Data Centers. Historical perspective. Computing, network and storage infrastructures.

3- Resource virtualization for elastic infrastructures. Hardware virtualization technologies. Resource management, orchestration, partitioning and sharing.

4- Cloud services for distributed applications support and on-demand computing and storage. Concepts and implementation. A discussion on costs, elasticity, performance, availability, management and privacy.

5- Programming models and operation of common platforms. Case studies: Google AppEngine, Amazon AWS and Big Data processing using Elastic MapReduce.

Teaching method

The course is based on lectures and on a laboratorial component. During the lectures, the themes listed in the syllabus are presented and discussed, in order to stimulate a critical perspective by the student concerning the identification of the studied computing models, in their common and their distinguishing aspects. The discussion is also illustrated through the analysis of the case studies of existing systems and solutions. Furthermore the above dimensions are elaborated through the experimental practical labs, requiring the students to develop, deploy and evaluate solutions for selected application problems, and ensuring an efficient management of the computing environments. The student evaluation is based on individual written tests, and on lab assignments performed by groups of students along the course, with a written report and oral discussion per assignment.

Evaluation method

- Two lab projects (teams of 1 or 2 students). The average grade must be >= 8.0.

- Two closed book tests, or final exam. The average grade must be >= 8.0.

Final grade = 40% lab projects + 60% tests

Courses