| Curso | Licenciatura em Engenharia Informática e Computadores | ||
| Unidade Curricular |
Computação na Nuvem |
Obrigatória | |
| Optional | X | ||
| Área Científica | IC | ||
| Ano: 3º | Semestre: 2º | ECTS: 6 | Total de Horas: 160 | ||
| Horas de Contacto | T: | TP: 45 | PL: 22.5 | S: | OT: |
| Docente |
José Manuel de Campos Lages Garcia Simão |
||||
T - Teórica; TP - Teórico-Prática; PL - Prática Laboratorial; S - Seminário; OT - Orientação Tutorial.
- Objetivos de aprendizagem
- Enquadrar e compreender as diferentes ofertas de computação em nuvem quanto a aspectos funcionais (armazenamento e processamento de dados) e aspectos não funcionais (elasticidade e escalabilidade).
- Compreender e saber escolher as diferentes abordagens para virtualização de recursos computacionais, analisar a sua capacidade de isolamento e diferentes desempenhos.
- Compreender e utilizar os modelos de programação em nuvem e as infra-estruturas de software que suportam a alocação dinâmica de recursos e o processamento de dados em larga escala.
- Conteúdos programáticos:
I. Modelos de computação na nuvem. Infraestrutura-, Plataforma- e Software-como-serviço.
II. Flexibilidade na alocação de recursos e aspectos económicos sobre a utilização de serviços na nuvem.
III. Virtualização de recursos computacionais. Tipos de máquinas virtuais - máquinas virtuais de processo, de sistema e contentores. Paravirtualização. Suporte de hardware para virtualização.
IV. Paradigma de Infraestrutura-como-código: automatização de configuração de ambientes de execução e desenvolvimento.
V. Modelo de programação MapReduce. Sistemas de workflow.
VI. Plataformas públicas para computação distribuída e de larga-escala.
VII. Armazenamento distribuído de grandes volumes de dados. Repositórios relacionais, não relacionais e chave-valor. - Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da unidade curricular:
O ponto 1 dos objectivos é suportado pela generalidade dos pontos do programa, especialmente o ponto I.
O ponto 2 dos objectivos é principalmente suportado pelos conteúdos II, III e IV. O ponto 3 é suportado pelos conteúdos V, VI e VII. - Metodologias de ensino
Ensino teórico-prático, estando previstas 30 aulas a que correspondem 67,5 horas de contacto (15 aulas de 3 horas e 15 de 1,5 horas). O tempo total de trabalho do estudante é de 160 horas. As aulas interactivas destinam-se à apresentação dos temas e de exemplos práticos de aplicação (aprendizagem baseada em casos). As aulas em laboratório destinam-se a enquadrar e resolver os trabalhos propostos. Serão usadas bibliotecas de software instaladas no computador usado pelo aluno, plataformas em clusters privados e fornecedores públicos de serviços na nuvem computacional. A componente teórica dos resultados de aprendizagem (1 a 3) são avaliados através de teste escrito e séries de exercícios. A componente prática
dos resultados de aprendizagem (1 a 3) são avaliados através de pequenos projectos. As soluções apresentas pelos alunos nos exercícios são ainda alvo de discussão oral. - Demonstração da coerência das metodologias de ensino com os objetivos de aprendizagem da unidade curricular:
A realização de trabalhos práticos e da componente teórica permitem aferir o cumprimento dos objetivos (1) a (3). A necessidade de acompanhar cada trabalho de um relatório técnico reforça a avaliação do objectivo (1).
- Bibliografia principal:
- Distributed and Cloud Computing (From Parallel Processing to the Internet of Things), Kai Hwang, Geoffrey C. Fox, Jack Dongarra, 2011
- Cloud Computing: Theory and Practice, Dan C. Marinescu, 2012






