Plataformas de Desenvolvimento

Base Knowledge

Computer science knowledge and use of virtual machines to create the setup for the course.

Teaching Methodologies

The classes will be mostly practical.

The initial part of the class will be mostly informative, with the presentation of documents and practical examples.
The remaining part of the class will be practical, with the students being incentivized to put into practice the knowledge previously acquired.

Learning Results

To provide students with concepts, practices and tools about continuous development and continuous delivery, including the construction of the supporting pipelines. To provide concepts on micro-service-based architectures and topics on their implementation, serving as a case study for topics on continuous development / continuous delivery.

 

At the end of the course students shall be able to

– Know, understand and apply the concepts of continuous development and continuous delivery.

– Know, choose and apply the supporting tools for continuous development and continuous delivery.

– Plan and implement pipelines for continuous development and continuous delivery.

– Know and understand the architecture based on micro-services

– Plan and implement systems according to the micro-service-based architecture

Program

The program of this course will be divided into two distinct parts:

CI/CD:

  • Introduction to concepts of CI/CD
  • Docker (concepts, image use, image creation)
  • Ansible (concepts, use of ansible and creation of macros for several environments)
  • Jenkins (concepts and practical exercises)
  • Git/SVN( concepts and practical exercises)
  • NetLify ( pipeline CI/CD para Frontend)

Microservices:

  • Messaging in Microservice architectures ( concepts and practical exercises of apache kafka)
  • REST interfaces (concepts and practical exercises building REST APIs)
  • Microservice concepts ( logging, tracing, decompose monolithically applications into MS).

There will be 2 classes dedicated to finish and present the practical work at the end of the semester.

Curricular Unit Teachers

Internship(s)

NAO

Bibliography

Josh Stella . (2015) .An introduction to immutable infrastructure, Retrieved at 02 feb. 2023. Available at https://www.oreilly.com/radar/an-introduction-to-immutable-infrastructure/

CNCF. (2021). Could Native Landscape. Retrieved at 02 feb. 2023. Available at https://landscape.cncf.io/

Jenkins(2021). Jenkins Build great things at any scale. Retrieved at 02 feb. 2023. Available at https://www.jenkins.io

Red hat Ansible (2021). Red hat Ansible. Retrieved at 02 feb. 2023. Available at 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.