Computação Orientada a Serviços e Nuvem
Áreas Científicas |
Classificação |
Área Científica |
CNAEF |
Ciências informáticas |
Ocorrência: 2023/2024 - 1S
Ciclos de Estudo/Cursos
Docência - Responsabilidades
Língua de trabalho
Português e inglês
Objetivos
Conhecimentos de Engenharia de Software na Núvem, nomeadamente técnicas e processos de computação baseado em arquitecturas orientadas a serviços, com especial foco em ambientes sobre virtualização das camadas infraestruturais (vulgarmente conhecidos por Cloud). Pretende-se desenvolver as capacidades de gerir todo o ciclo de vida de software, desde a sua análise, desenho e concepção, até à implementação e manutenção, compreendendo as especificidades nos algoritmos, boas práticas e padrões utilizados neste domínio.
Resultados de aprendizagem e competências
No final da unidade curricular os estudantes devem ser capazes de desenhar e implementar software de larga escala em ambientes falíveis, sujeitos a picos elevados de stress, baixa latência, alta largura de banda e performance, compostos por um elevado número de componentes heterogéneos sujeitos a interferências e interacções imprevistas.
Modo de trabalho
Presencial
Pré-requisitos (conhecimentos prévios) e co-requisitos (conhecimentos simultâneos)
Programação, Metodologias e Práticas de Engenharia de Software, Arquitectura e Desenho de Software, Testes e Validação de Software.
Programa
Fundamentos: Arquitecturas clássicas versus baseadas em serviços. SOA e Microserviços. Standards e padrões de comunicação de serviços. SOAP versus REST. Mensagens e barramento de mensagens. Princípios e modelos de computação paralela e distribuída. Virtualização PaaS, SaaS, IaaS e FaaS. Gestão de dados. Elasticidade, High-Availability e replicação. Clusters. Monitorização e Diagnóstico. Falhas e tolerância a falhas. Latência e Interferência. Sistemas reactivos e Streams. Segurança.
Aplicações: Clouds públicas como Microsoft Azure, Google Cloud e Amazon AWS. Kubernetes. Barramentos baseados em AMQP e Kafka. Técnicas de deployment contínuo.
Bibliografia Obrigatória
Chris Richardson;
Microservices Patterns, Manning Publications Co., 2019. ISBN: 9781617294549
Michael J. Kavis;
Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Wiley, 2014. ISBN: 978-1118617618
Bibliografia Complementar
Gene Kim et al.;
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, IT Revolution Press, 2016. ISBN: 978-1942788003
Ray J. Rafaels; Cloud Computing: From Beginning to End, 2015. ISBN: 978-1511404587
O'Reilly ; The Enterprise Cloud: Best Practices for Transforming Legacy IT, 2015. ISBN: 978-1491907627
Gene Kim et al.; The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, 2014. ISBN: 978-0988262508
Métodos de ensino e atividades de aprendizagem
- Aulas Teórico-Práticas: Exposição e discussão das matérias do programa, acompanhada pela resolução de exercícios;
- Trabalhos práticos: Desenvolvimento de projectos de aplicação das técnicas estudadas.
Tipo de avaliação
Avaliação distribuída com exame final
Componentes de Avaliação
Designação |
Peso (%) |
Exame |
40,00 |
Participação presencial |
5,00 |
Trabalho laboratorial |
55,00 |
Total: |
100,00 |
Componentes de Ocupação
Designação |
Tempo (Horas) |
Elaboração de projeto |
60,00 |
Elaboração de relatório/dissertação/tese |
18,00 |
Estudo autónomo |
42,00 |
Frequência das aulas |
42,00 |
Total: |
162,00 |
Obtenção de frequência
Não exceder o número de faltas (25%), realizar e apresentar os trabalhos práticos e obter classificação no exame igual ou superior a 35%.
Fórmula de cálculo da classificação final
Trabalho = 0.3 * Avaliação Intermédia + 0.7 * Avaliação Final
Nota Final = 0.55 * Trabalho + 0.40 * Exame + 0.05 * Avaliação ContínuaMelhoria de classificação
- Classificação de frequência só pode ser melhorada na ocorrência seguinte;
- Classificação de exame pode ser melhorada na(s) época(s) legalmente prevista(a).