Sistemas de Computação em Cloud

Objectivos

Conhecimentos

  • Compreender os fundamentos dos sistemas de computação em Cloud
  • Conhecer os centros de dados, as infra-estruturas (armazenamento, rede e computação) e as técnicas de virtualização de recursos
  • Compreender os diferentes modelos de serviço Cloud (IaaS, PaaS, SaaS). Exemplos, sua realização e características
  • Compreender os modelos de programação usados para desenvolvimento de aplicações que beneficiam de um ambiente de Cloud.

Aptidões e competências

  • Saber identificar as classes de aplicações que i) beneficiam dos sistemas de computação de Cloud ii) as que podem (ou devem) ser executadas em infraestruturas on-site e iii) as que beneficiam de uma arquitectura híbrida
  • 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.

Caracterização geral

Código

11174

Créditos

6.0

Professor responsável

Nuno Manuel Ribeiro Preguiça

Horas

Semanais - 4

Totais - A disponibilizar brevemente

Idioma de ensino

Português

Pré-requisitos

A disponibilizar brevemente

Bibliografia

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.

Método de ensino

A disponibilizar brevemente

Método de avaliação

A disponibilizar brevemente

Conteúdo

1- Introdução e motivação: aplicações tipo e seus requisitos. Características dos sistemas de suporte: componentes e modelos de serviço. 

2- Infraestruturas e Centros de Dados. Perspetiva histórica. Infra-estruturas de computação, de rede e de armazenamento.

3- Virtualização de recursos para uma infraestrutura elástica. Tecnologias de virtualização de hardware. Gestão de recursos, orquestração, particionamento e partilha. Containers, uma solução leve para o empacotamento e distribuição de aplicações.

4- Serviços de Cloud nos domínios da computação, do armazenamento e do suporte de aplicações distribuídas. Conceitos e realização. Aspectos de custo, elasticidade, desempenho, disponibilidade, gestão e privacidade.

 5- Modelos de programação e exploração das plataformas mais comuns. Casos de estudo: Microsoft Azure, Amazon AWS e Google AppEngine; processamento de grandes volumes de dados usando MapReduce. 

Cursos

Cursos onde a unidade curricular é leccionada: