Plataformas de Desenvolvimento

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.