Conhecimentos de Base Recomendados
Conhecimentos na área de programação e utilização de VMs para o setup das aulas.
Métodos de Ensino
As aulas têm um cariz prático.
- A parte inicial da aula será mais expositiva, com recurso a projeção de documentos e exemplos.
- A parte final da aula será mais prática, de resolução de exercícios.
Alguns dias serão inteiramente de exercícios.
Últimas aulas reservadas para apresentação da componente de pesquisa e elaboração dos aspetos finais do trabalho prático.
Resultados de Aprendizagem
Proporcionar aos alunos os conceitos, práticas e ferramentas acerca de desenvolvimento contínuo e entrega contínua, incluindo a construção dos respetivos pipelines. Proporcionar conceitos sobre arquiteturas baseadas em micro-serviços e tópicos sobre a sua implementação, servido estes como caso de estudo para os tópicos sobre desenvolvimento contínuo/entrega contínua.
No final desta unidade curricular os alunos serão capazes de
– Conhecer, compreender e aplicar os conceitos acerca de desenvolvimento contínuo e entrega contínua.
– Conhecer, escolher e aplicar as ferramentas de suporte, desenvolvimento contínuo e entrega contínua.
– Planear e implementar pipelines para desenvolvimento contínuo e entrega contínua.
– Conhecer e entender a arquitetura baseada em micro-serviços
– Planear e implementar sistemas segundo a arquitetura baseada em micro-serviços
Programa
O programa da cadeira será dividido em 2 áreas:
Ci/CD:
- Introdução de conceitos CI/CD
- Docker (conceitos; utilização de imagens docker; criação de imagens docker)
- Ansible (conceitos, utilização de ansible para criação de macros em diferentes ambientes)
- Jenkins (conceitos e exercícios práticos)
- Git/SVN (conceitos e exercícios práticos)
- NetLify ( pipeline CI/CD para Frontend)
Microserviços:
- Messaging em arquitecturas de MS ( conceitos e exercícios práticos de utilização de kafka)
- Interfaces REST (conceitos e exercícios práticos para criação de APIs REST)
- Conceitos de MS ( logging, tracing, decomposição de monolíticos em MS, …).
Haverá também uma aula dedicada para finalização dos trabalhos práticos, assim como uma aula de apresentação do trabalho prático/trabalho pesquisa.
Docente(s) responsável(eis)
Estágio(s)
NAO
Bibliografia
Josh Stella . (2015) .An introduction to immutable infrastructure, Consultado em 02 fev. 2023. Disponível em https://www.oreilly.com/radar/an-introduction-to-immutable-infrastructure/
CNCF. (2023). Could Native Landscape. Consultado em 02 fev. 2023. Disponível em https://landscape.cncf.io/
Jenkins(2023). Jenkins Build great things at any scale. Consultado em 02 fev. 2023. Disponível em https://www.jenkins.io
Red hat Ansible (2021). Red hat Ansible. Consultado em 02 fev. 2023. Disponível em https://www.ansible.com/
Miell, I. & HbsonSayers A. (2019). Docker in Practice (2ª ed.). Manning Publications
Newman S. (2015). Building Microservices: Designing Fine-Grained Systems (1ª ed.). O’Reilly Media, Inc.