Prácticas DevOps para la automatización de la integración y despliegue continuos en la nube de aplicaciones basadas en microservicios .Net. Caso Práctico: PlayPadel

Sierra Martín, Miguel (2021). Prácticas DevOps para la automatización de la integración y despliegue continuos en la nube de aplicaciones basadas en microservicios .Net. Caso Práctico: PlayPadel. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. de Sistemas Informáticos (UPM), Madrid.

Description

Title: Prácticas DevOps para la automatización de la integración y despliegue continuos en la nube de aplicaciones basadas en microservicios .Net. Caso Práctico: PlayPadel
Author/s:
  • Sierra Martín, Miguel
Contributor/s:
  • Díaz Fernández, Jessica
Item Type: Final Project
Degree: Grado en Ingeniería del Software
Date: July 2021
Subjects:
Freetext Keywords: DevOps; Cloud Computing; Automatización
Faculty: E.T.S.I. de Sistemas Informáticos (UPM)
Department: Sistemas Informáticos
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img] PDF - Users in campus UPM only - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (4MB)

Abstract

En el presente trabajo, antes que nada, se aborda un estudio teórico de una serie de conceptos que van a ser cruciales para elaborar la totalidad del proyecto. El primero de ellos, la cultura DevOps, que está siendo un movimiento primordial en cuanto al marco de transformación digital en las empresas del sector, persiguiendo la máxima eficiencia del desarrollo y la aceleración en las entregas de software. Por otro lado, la introducción de las arquitecturas basadas en microservicios, pensadas para la búsqueda de separar responsabilidades de los sistemas, permitiendo así dividir el conjunto del proyecto en varias partes desacopladas, facilitando el tratamiento de servicios de manera independiente. Una parte fundamental del proyecto también va a ser conocer cómo realizar e implementar la gestión del ciclo de vida de las aplicaciones, inculcando la inserción de la cultura DevOps dentro de los equipos que componen el trabajo para solventar cualquier tarea del proceso. Por consiguiente, esto permitiría así manejar la vida total útil de una aplicación, desde el nacimiento de una idea hasta el despliegue en producción de la manera más óptima. Cabe destacar que el trabajo cuenta con documentación detallada sobre todas las tecnologías utilizadas, posibilitando así seguir el proceso de desarrollo de la aplicación en todas las fases de su ciclo de vida. Para llevar a cabo la automatización de las prácticas DevOps, se han diseñado unas plantillas de pipelines genéricas encargadas de crear y configurar la infraestructura de la aplicación. De la misma manera, se crean pipelines de integración continua (CI) y despliegue continuo (CD) para cada uno de los microservicios, enfocados en la automatización de los procesos de construcción, prueba y despliegue de cada uno de los proyectos independientes. A su vez, se utiliza la herramienta SonarCloud, lo que permite el análisis estático de código y por tanto, facilita la mejora en la calidad de este. Los despliegues de los proyectos se producen en un entorno de Staging (o preproducción) en la nube de Azure, para posteriormente acabar pasando al entorno final de producción tras una serie de prerrequisitos. Por último, en el caso de estudio práctico se aborda la elaboración de PlayPadel, una aplicación web de un club de pádel, dedicada a gestionar tanto las reservas de pistas como una tienda online. Esta aplicación se despliega en la nube de Azure e implementa una arquitectura basada en microservicios, mediante el framework .NET Core. Se hace uso del IDE Visual Studio, para el entorno de desarrollo del código; y de GitHub para alojar las versiones del código fuente de cada uno de los microservicios de la aplicación. Abstract: In this work, first of all, we approach a theoretical study of a series of concepts that will be crucial to develop the entire project is addressed. The first of these ideas is the DevOps culture, which is becoming an essential movement in terms of the digital transformation framework in the sector, pursuing maximum efficiency in development and acceleration in software deliveries. On the other hand, the introduction of architectures based on microservices, designed to separate responsibilities from systems, thus allowing the whole project to be divided into several decoupled parts, facilitating the treatment of services independently. A fundamental part of the project will also be to learn how to carry out and implement application lifecycle management, instilling the DevOps culture within the teams that make up the work to solve any task in the process. Consequently, this would allow to manage the entire lifecycle of an application, from the birth of an idea to the deployment in production in the most optimal way. It should be pointed out that the work has detailed documentation on all the technologies used, making it possible to follow the development process of the application in all phases of its life cycle. To carry out the automation of DevOps practices, generic pipeline templates have been designed to create and configure the application infrastructure. In the same way, continuous integration (CI) and continuous deployment (CD) pipelines are created for each of the microservices, focused on automating the processes of building, testing and deploying each of the independent projects. In turn, the SonarCloud tool has been used, which allows static code analysis and therefore facilitates the improvement of code quality. Project deployments take place in a staging (or pre-production) environment in the Azure cloud, and then move to the final production environment after a series of prerequisites. To conclude, the case study deals with the development of PlayPadel, a web application for a paddle club, focused on managing both court reservations and an online shop. This application will be hosted in the Azure portal, where its layout will be based on a microservices architecture. Hence, for the implementation of these microservices, we will be using the .NET Core framework, whose hosting is made on the Visual Studio IDE, responsible for being the code development environment; and GitHub to host the source code versions of each of the application's microservices.

More information

Item ID: 68239
DC Identifier: https://oa.upm.es/68239/
OAI Identifier: oai:oa.upm.es:68239
Deposited by: Biblioteca Universitaria Campus Sur
Deposited on: 20 Aug 2021 16:43
Last Modified: 20 Aug 2021 16:43
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM