Texto completo
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (3MB) |
| Título: | DevOps. CI/CD implementation |
|---|---|
| Autor/es: |
|
| Director/es: |
|
| Tipo de Documento: | Trabajo Fin de Grado o Proyecto Fin de Carrera |
| Grado: | Grado en Ingeniería Telemática |
| Fecha: | Septiembre 2023 |
| Materias: | |
| ODS: | |
| Palabras Clave Informales: | Desarrollo de software multiplataforma, DevOps (Marco de desarrollo de aplicaciones) |
| Escuela: | E.T.S.I. y Sistemas de Telecomunicación (UPM) |
| Departamento: | Ingeniería Telemática y Electrónica |
| Licencias Creative Commons: | Reconocimiento - Sin obra derivada - No comercial |
|
PDF (Portable Document Format)
- Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (3MB) |
Resumen:
Este proyecto de fin de grado presenta las prestaciones y mejoras que aporta la metodología DevOps a una organización. La metodología DevOps es una forma de trabajo que integra el desarrollo y la operación de software, con el fin de mejorar la calidad, la eficiencia y la satisfacción del cliente. Para ello, se ha implementado dicha metodología en un entorno Cloud para impulsar aún más sus ventajas, mostrando las capacidades de la automatización, la mejora de la seguridad y la innovación continua.
La infraestructura de la nube elegida ha sido Azure por su amplio abanico de servicios y ofertas beneficiosas para el desarrollo de este proyecto.
En este proyecto, la propuesta tiene en cuenta un diseño orientado a contenedores, entornos aislados y portátiles que pueden ejecutarse de manera consistente en cualquier sistema operativo. Se lleva a cabo la implementación de un flujo de trabajo de desarrollo continuo e integración continua (CI/CD) utilizando Azure DevOps como orquestador de dicho flujo. Se ha desarrollado para ser implementado con Kubernetes, una plataforma de orquestación de contenedores que permite su fácil administración, y al utilizarse la plataforma Cloud Azure, se utiliza su solución Azure Kubernetes Service (AKS).
Este proyecto ejecuta una implementación de infraestructura como código donde las aplicaciones pueden ser desplegadas en cualquier plataforma Kubernetes con mínimas modificaciones.
Se han implementado todas las fases de una metodología DevOps con su correspondiente solución software, proveniente de Azure o software libre. Para demostrar dicho flujo se han utilizado dos desarrollos con entornos y tecnologías dispares para demostrar la flexibilidad de la metodología. Un desarrollo de Frontend con JavaScript y el otro de una aplicación en Python Flask con base de datos MySQL.
Para testear dicho código de manera automática se usa la herramienta SonarQube, el cual informa de vulnerabilidades o bugs encontrados en el código analizado. También se monitoriza los desarrollos e infraestructura con los servicios Azure Log, Azure Monitor for Prometheus y Grafana.
Abstract:
This final degree project presents the benefits and improvements that the DevOps methodology brings to an organisation. The DevOps methodology is a way of working that integrates software development and operation in order to improve quality, efficiency and customer satisfaction. To this end, the methodology has been implemented in a Cloud environment to further boost its benefits, showcasing the capabilities of automation, improved security and continuous innovation.
The cloud infrastructure chosen was Azure for its wide range of services and beneficial offers for the development of this project.
In this project, the proposal takes into account a container-oriented design, isolated and portable environments that can run consistently on any operating system. The implementation of a continuous development and continuous integration (CI/CD) workflow is carried out using Azure DevOps as the workflow orchestrator. It has been developed to be implemented with Kubernetes, a container orchestration platform that allows easy administration, and by using the Cloud Azure platform, its Azure Kubernetes Service (AKS) solution is used.
This project executes an infrastructure-as-code implementation where applications can be deployed on any Kubernetes platform with minimal modifications.
All phases of a DevOps methodology have been implemented with its corresponding software solution, originated from Azure or free software. To demonstrate this CI/CD flow, two developments have been used with different environments and technologies to demonstrate the flexibility of the methodology. One was a Frontend development with JavaScript and the another was a Python Flask application with a MySQL database.
To test this code automatically, the SonarQube tool is used, which reports vulnerabilities or bugs found in the code analysed. The developments and infrastructure are also monitored with the Azure Log, Azure Monitor for Prometheus and Grafana services.
| ID de Registro: | 78438 |
|---|---|
| Identificador DC: | https://oa.upm.es/78438/ |
| Identificador OAI: | oai:oa.upm.es:78438 |
| Depositado por: | Biblioteca Universitaria Campus Sur |
| Depositado el: | 31 Ene 2024 16:08 |
| Ultima Modificación: | 31 Mar 2024 22:30 |
Publicar en el Archivo Digital desde el Portal Científico