Name: | Description: | Size: | Format: | |
---|---|---|---|---|
10.27 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Num contexto organizacional cada vez mais exigente, a automatização do processo de
deployment tornou-se uma componente crĆtica na melhoria da eficiĆŖncia, fiabilidade e
previsibilidade dos ciclos de entrega de software. Esta dissertação teve como objetivo conceber,
desenvolver e validar uma solução de automatização do processo de deployment, adaptada Ć
realidade de uma organização tecnológica de grande escala, com múltiplas equipas, ambientes
e restriƧƵes operacionais.
A investigação seguiu a metodologia Design Science Research (DSR), articulando uma fase de
diagnóstico com iterações de conceção, implementação e validação. O trabalho inicia-se com
uma revisão do estado da arte, abordando prÔticas consolidadas em DevOps e CI/CD, como
testes de sanidade automatizados, rollbacks condicionais, monitorização contĆnua e reporting
automÔtico. São também analisadas ferramentas como Jenkins, GoCD, Splunk, Sensu e Grafana,
avaliando a sua aplicabilidade no contexto da pipeline da organização.
A solução proposta materializou-se no desenvolvimento de uma aplicação autónoma ā o
Release Assistant ā que centraliza e automatiza etapas crĆticas do deployment, como a gestĆ£o
de trÔfego, validações pós-deployment (sanity checks, métricas, alarmes) e produção de
relatórios. A arquitetura modular permite integração com sistemas existentes e reutilização em
múltiplos serviços e ambientes.
Os resultados demonstram uma redução objetiva no esforço manual e no tempo de execução.
Com base em medições, registou-se uma redução média de 15 minutos por execução,
equivalente a cerca de 41% da duração dos deployments, refletindo-se diretamente na
eficiência operacional. A solução aumentou ainda a fiabilidade das validações, assegurando
maior consistência nos testes e deteção precoce de falhas. Em termos de contributo, o trabalho
apresenta uma abordagem replicÔvel de automatização de validações integrada em pipelines
CI/CD, validada num ambiente de produção real e sustentada por evidência quantitativa e
feedback qualitativo.
Apesar dos resultados positivos, reconhece-se que a solução depende da estrutura atual das
pipelines e da existĆŖncia de sistemas de monitorização acessĆveis por API. A adoção noutros
contextos poderƔ exigir adaptaƧƵes. Ainda assim, o trabalho demonstra o potencial da
automatização como vetor de transformação digital orientado Ć melhoria contĆnua dos
sistemas e processos operacionais.
In an increasingly demanding organizational context, deployment automation has become a critical component in improving the efficiency, reliability, and predictability of software delivery cycles. This dissertation aimed to design, develop, and validate a deployment automation solution tailored to the reality of a large-scale technology organization with multiple teams, environments, and operational constraints. The research followed the Design Science Research (DSR) methodology, combining a diagnostic phase with iterative cycles of design, implementation, and validation. The work begins with a state-of-the-art review, covering established DevOps and CI/CD practices such as automated sanity checks, conditional rollbacks, continuous monitoring, and automated reporting. Tools such as Jenkins, GoCD, Splunk, Sensu, and Grafana are analyzed, assessing their applicability within the organizationās pipeline. The proposed solution took the form of a standalone application ā the Release Assistant ā which centralizes and automates critical deployment stages, including traffic management, post-deployment validations (sanity checks, metrics, alarms), and report generation. Its modular architecture enables seamless integration with existing orchestration systems and reuse across multiple services and environments. The results demonstrate a measurable reduction in manual effort and execution time. Based on recorded measurements, an average reduction of 15 minutes per deployment was achieved ā approximately 41% of the total execution time ā directly enhancing operational efficiency. Additionally, the solution improved validation reliability by ensuring greater consistency in postdeployment testing and enabling early fault detection. As a contribution, this work presents a replicable approach to automating validation processes within CI/CD pipelines, validated in a real production environment and supported by quantitative evidence and qualitative feedback from technical users. Despite the positive results, the solution has limitations. Its effectiveness depends on the current pipeline structure and the availability of monitoring systems with accessible APIs. Adoption in other contexts may require architectural or integration model adaptations. Nonetheless, the project demonstrates the potential of automation as a driver of digita
In an increasingly demanding organizational context, deployment automation has become a critical component in improving the efficiency, reliability, and predictability of software delivery cycles. This dissertation aimed to design, develop, and validate a deployment automation solution tailored to the reality of a large-scale technology organization with multiple teams, environments, and operational constraints. The research followed the Design Science Research (DSR) methodology, combining a diagnostic phase with iterative cycles of design, implementation, and validation. The work begins with a state-of-the-art review, covering established DevOps and CI/CD practices such as automated sanity checks, conditional rollbacks, continuous monitoring, and automated reporting. Tools such as Jenkins, GoCD, Splunk, Sensu, and Grafana are analyzed, assessing their applicability within the organizationās pipeline. The proposed solution took the form of a standalone application ā the Release Assistant ā which centralizes and automates critical deployment stages, including traffic management, post-deployment validations (sanity checks, metrics, alarms), and report generation. Its modular architecture enables seamless integration with existing orchestration systems and reuse across multiple services and environments. The results demonstrate a measurable reduction in manual effort and execution time. Based on recorded measurements, an average reduction of 15 minutes per deployment was achieved ā approximately 41% of the total execution time ā directly enhancing operational efficiency. Additionally, the solution improved validation reliability by ensuring greater consistency in postdeployment testing and enabling early fault detection. As a contribution, this work presents a replicable approach to automating validation processes within CI/CD pipelines, validated in a real production environment and supported by quantitative evidence and qualitative feedback from technical users. Despite the positive results, the solution has limitations. Its effectiveness depends on the current pipeline structure and the availability of monitoring systems with accessible APIs. Adoption in other contexts may require architectural or integration model adaptations. Nonetheless, the project demonstrates the potential of automation as a driver of digita
Description
Keywords
DEvOps CI/CD Automatização Deployment Sanity checks Monitorização Orquestração Observabilidade Automation Monitoring Orchestration Observability