Disciplina

Área

Área Científica de Arquitectura e Sistemas Operativos > Sistemas Operativos e Sistemas Distribuídos

Activa nos planos curriculares

METI 2018 > METI 2018 > 2º Ciclo > Áreas de Especialização > Aplicações Seguras, Móveis Entre-Pares e na Nuvem > Computação em Nuvem e Virtualização

METI 2021 > METI 2021 > 2º Ciclo > Área Principal > Especializações > Especialização em Sistemas Distribuídos e Aplicações para a Internet > Informática > Computação em Nuvem e Virtualização

MEIC-T 2021 > MEIC-T 2021 > 2º Ciclo > Área Principal > Agrupamentos > Sistemas Distribuídos > Computação em Nuvem e Virtualização

MECD2019 > MECD2019 > 2º Ciclo > Opções > Computação em Nuvem e Virtualização

MEIC-T 2015 > MEIC-T 2015 > 2º Ciclo > Agrupamentos > Processamento e Análise de Dados > Computação em Nuvem e Virtualização

MERC 2006 > MERC 2006 > 2º Ciclo > Área de Especialização Principal > Aplicações Seguras, Móveis Entre-Pares e na Nuvem > Computação em Nuvem e Virtualização

MEIC-A 2021 > MEIC-A 2021 > 2º Ciclo > Area Principal > Agrupamentos > Gestão de Serviços de It > Computação em Nuvem e Virtualização

MEIC-A 2015 > MEIC-A 2015 > 2º Ciclo > Agrupamentos > Processamento e Análise de Dados > Computação em Nuvem e Virtualização

MEIC-A 2006 > MEIC-A 2006 > 2º Ciclo > Área de Especialização Complementar > Sistemas Distribuídos > Computação em Nuvem e Virtualização

Nível

Método Normal: Exame (40%), Projecto (45%), Apresentação de Artigo (10%) e Presença/Participação Aulas (5%). O projecto tem um checkpoint cuja nota só é usada se subir a nota; tem uma ponderação de 15% da nota global do Projecto. Método Trabalhadores-Estudantes: Exame (45%), Projecto (45%), Apresentação de Artigo (10%). Época Especial: Exame (50%), Projecto adaptado (50%). Nota mínima p/ Exame e Projecto: 8 valores.

Tipo

Não Estruturante

Regime

Semestral

Carga Horária

1º Semestre

2.0 h/semana

1.5 h/semana

119.0 h/semestre

Objectivos

Deter uma perspectiva integradora da computação em nuvem e da virtualização, e da sua conjugação e síntese, no desenho dos sistemas modernos na computação distribuída em larga escala, com as suas tecnologias, mecanismos e algoritmos subjacentes. Compreender uma abordagem vertical às diversas tecnologias de virtualização e da computação em nuvem, que oferecem às aplicações e serviços maior flexibilidade, melhor utilização de recursos e eficiência económica, e maior escalabilidade e adaptabilidade. Ser capaz de desenvolver aplicações e sistemas, escaláveis e fiáveis, para computação em nuvem, sobre as infra-estruturas e plataformas de virtualização, e modelos aplicacionais adoptados. Ser capaz de avaliar escolhas, soluções, e compromissos envolvidos no desenvolvimento, uso e gestão de infra-estruturas de virtualização para computação em nuvem.

Programa

Introdução à Virtualização e Computação em Nuvem, IaaS, PaaS, SaaS. Virtualização sistema: arquitectura de VM sistema, virtualização CPU, memória; suporte hardware; casos de estudo (VMWare, QEMU/KVM, Xen). Sistemas de computação na nuvem (Amazon EC2, OpenStack, Microsoft Azure); escalonamento, migração e replicação de VMs; monitorização e escalabilidade (CloudWatch, Autoscaling). Virtualização processo: especificação e arquitectura da Java VM, modelo de segurança, compilação just-in-time e optimização, reciclagem automática de memória, caso de estudo (Jikes RVM). Plataformas de computação na nuvem (Google App Engine, Azure); monitorização e escalabilidade (Azure Fabric Controller). Armazenamento Big-Data: blocos, ficheiros, chave-valor (Dynamo, S3, Datastore), tabular (BigTable, Percolator). Processamento Big-Data: Map-reduce, dataflows (Pig, Dryad/LINQ), streams (Spark, Flink). Questões Transversais: eficiência energética, redimensionamento dinâmico, desenho centrado na energia.

Metodologia de avaliação

Método Normal: Exame (40%), Projecto (45%), Apresentação de Artigo (10%) e Presença/Participação Aulas (5%). O projecto tem um checkpoint cuja nota só é usada se subir a nota; tem uma ponderação de 15% da nota global do Projecto. Método Trabalhadores-Estudantes: Exame (45%), Projecto (45%), Apresentação de Artigo (10%). Época Especial: Exame (50%), Projecto adaptado (50%). Nota mínima p/ Exame e Projecto: 8 valores.

Pré-requisitos

Conhecimentos base de arquitectura de computadores, sistemas operativos, linguagem de programação Java, sistemas distribuídos.

Componente Laboratorial

Introdução à instrumentação de código (binário, bytecode). Desenvolvimento de ferramentas exemplo de instrumentação para x86 e Java. Introdução e exercícios de laboratório executando Amazon Web Services (EC2, CloudWatch, DynamoDB). Desenho e implementação de uma aplicação instrumentada em Java como protótipo de um sistema distribuído elástico e escalável executando uma tarefa de computação/processamento de dados intensiva sobre recursos numa nuvem pública fazendo uso de interfaces de programação para gerir computação (máquinas virtuais) e armazenamento distribuído.

Princípios Éticos

Todos os membros de um grupo são responsáveis pelo trabalho do grupo. Em qualquer avaliação, todo aluno deve divulgar honestamente qualquer ajuda recebida e fontes usadas. Numa avaliação oral, todo aluno deverá ser capaz de apresentar e responder a perguntas sobre toda a avaliação.

Componente de Programação e Computação

No curso onde esta UC é oferecida estão asseguradas as componentes de Computação e Programação de acordo com o MEPP 2122.

Componente de Competências Transversais

O projecto laboratorial ao longo do semestre, nas suas duas fases, requer e exercita o trabalho em equipa no seu desenho e desenvolvimento. O relatório final do projecto (6 páginas) requer e exercita a comunicação escrita. A apresentação de artigo de conferência científica numa aula de laboratório requer e exercita a comunicação oral (apresentação e resposta a questões da audiência). A apresentação vale 10% da nota final na UC.

Bibliografia

Principal

Cloud Computing: Theory and Practice_ Second Edition

Dan C. Marinescu

2017

Morgan Kaufmann_ISBN 9780128128107


Virtual Machines: Versatile Platforms for Systems and Processes

James Smith and Ravi Nair

2005

Morgan Kaufmann_ISBN 9781558609105


Cloud Computing for Science and Engineering

Ian Foster and Dennis B. Gannon

2017

MIT Press_ISBN: 97802620372420