Disciplina
Computação em Nuvem e Virtualização
Á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
Morgan Kaufmann_ISBN 9780128128107
Virtual Machines: Versatile Platforms for Systems and Processes
Morgan Kaufmann_ISBN 9781558609105
Cloud Computing for Science and Engineering
Ian Foster and Dennis B. Gannon
MIT Press_ISBN: 97802620372420