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
Exame (40%), Projecto (45%), Apresentação de Artigo e Feeback (15%)
Tipo
Não Estruturante
Regime
Semestral
Carga Horária
1º Semestre
3.0 h/semana
1.5 h/semana
147.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, Infrastructure-as-a-Service, Platform-as-a-Service, Software-as-a-Service. Virtualização de nível sistema: arquitectura de VM sistema, virtualização de CPU, núcleo, memória, entradas/saídas; suporte hardware para virtualização; casos de estudo (VMWare, QEMU/KVM, Xen). Sistemas de computação em nuvem (Amazon EC2, openStack, XenCloud, OpenNebula); escalonamento, migração e replicação de VMs; monitorização e escalabilidade (CloudWatch, Autoscaling). Virtualização de nível processo: especificação e arquitectura de referência da Java VM, modelo de segurança, gestão e tradução binária de código, compilação just-in-time e optimização, reciclagem de memória, caso de estudo (Jikes RVM). Plataformas para computação em nuvem (Azure, Google App Engine); máquinas virtuais distribuídas; monitorização e escalabilidade (Azure Fabric Controller). Serviços de Dados e de Armazenamento: blocos, ficheiros, chave-valor (Dynamo, S3, Datastore), tabular (BigTable, Percolator). Escalabilidade na Computação em Nuvem: Map-reduce, dataflows (Pig, Dryad, OOzie), streams (S4), aplicações, monitorização, elasticidade e optimização. Questões Transversais na Computação em Nuvem: eficiência energética da virtualização, redimensionamento dinâmico, desenho na nuvem centrado na energia.
Metodologia de avaliação
Exame (40%), Projecto (45%), Apresentação de Artigo e Feeback (15%)
Pré-requisitos
Componente Laboratorial
Princípios Éticos
Componente de Programação e Computação
Componente de Competências Transversais
Bibliografia
Principal
Virtual Machines: Versatile Platforms for Systems and Processes
Jothy Rosenberg and Arthur Mateos
Programming Amazon Web Services