Sistemas de Computação em Cloud (2019/2020) - Departamento de Informática
Descrição

Esta é uma unidade curricular opcional onde se estudam os fundamentos, os modelos e as arquiteturas dos grandes sistemas de computação (incluindo paralelos e distribuídos), com foco nos ambientes de Cloud e seus serviços. Estudam-se também os centros de dados e as tecnologias de armazenamento, redes e computação. O aluno coloca em prática os conhecimento adquiridos, usando infraestruturas locais ou públicas, os ambientes de suporte baseados em máquinas virtuais e containers, e desenvolvendo aplicações em ambiente de Cloud (p.e., Big Data).

Objectivos

Conhecimentos
* Compreender os fundamentos dos sistemas de computação em Cloud
* Compreender os diferentes modelos de serviço Cloud (IaaS, PaaS, SaaS). Exemplos, sua realização e características.
* Conhecer os centros de dados, as infraestruturas e compreender as restrições impostas.
* Conhecer os serviços disponíveis nas plataformas cloud, como funcionam e como podem ser usados.
* Conhecer as técnicas de virtualização de recursos.

Aptidões e competências
* Saber identificar as classes de aplicações que beneficiam dos sistemas de computação de Cloud.
* Saber criar soluções que tirem partido das características dos serviços de Cloud e respectivos recursos.
* Saber avaliar soluções desenvolvidas em plataformas Cloud.

Programa

1. Introdução
1.1 Desafios e motivação
1.2 Modelos
1.3 Elementos dum sistema cloud
2. Serviços de armazenamento
2.1 Armazenamento de blocos e sistemas de ficheiros
2.2 Bases de dados Cloud: repositórios chave-valor e bases de dados
3. Serviços de caching
3.1 Cache da aplicação
3.2 Content-distribution networks
4. Serverless computing
4.1 Supporte para micro-serviços
4.2 Function-as-a-Service
5. Processamento de dados
5.1 Serviços de filas de espera
5.2 Serviços de processamento em batch
5.3 Introdução ao processamento em stream
6. IaaS
6.1 Virtualização
6.2 Containers
6.3 Implantação em agregados (Kubernetes)
7. Redes de computadores
7.1 Redes virtuais
8. Segurança
8.1 Serviços de autenticação
8.2 Privacidade e segurança
9. Infraestrutura
9.1 O centro de dados físico
9.2 Arquiteturas avançadas: cloud híbrida
9.3 Computação na edge

Bibliografia Principal

Cloud Computing: Theory and Practice, Dan C. Marinescu, Morgan Kaufman-Elsevier, 2013.

The Datacenter as a Computer: An Introduction to the Design of Warehouse-Scale Machines, Luiz André Barroso, Jimmy Clidaras, Urs Hölzle, Synthesis Lectures on Computer Architecture, Morgan & Claypool Publishers, 2013.

Artigos seleccionados de revistas e/ou conferências.

Requisitos Prévios

Conhecimentos de programção e sistemas distribuídos.

Conhecimentos de paralelismo são benéficos.

Esforço do Aluno
  Horas por crédito 28
  Horas p/ semana Semanas Horas
Aulas práticas e laboratoriais   28.0
Aulas teóricas   28.0
Avaliação   6.0
Estudo   56.0
Projectos e trabalhos   50.0
Total de Horas 168
ECTS 6.0