Transición del monolito a los microservicios: cambio de paradigma en el desarrollo de aplicaciones
Resumen
Este proyecto estudia el proceso de transformación de una arquitectura monolítica a una de microservicios. Su objetivo principal es el estudio exhaustivo de las arquitecturas de microservicios y sus diferencias respecto a las monolíticas, con la esperanza de que pueda servir como guía para futuros curiosos, estudiantes o desarrolladores.
Las diferencias entre ambas arquitecturas se exponen junto al desarrollo de una aplicación en la que se aprecia la transición de un tipo de arquitectura al otro.
Para una mejor observación de dicha transformación, se implementan cuatro aplicaciones REST completas. Cada una de ellas constituirá una tienda de venta online de componentes electrónicos. Sin embargo, tendrán características y estructuras diferentes y emplearán una variedad de tecnologías.
Las dos primeras aplicaciones tendrán arquitectura monolítica, siendo muy parecidas entre ellas a excepción de la base de datos y del registro de usuarios.
En la tercera se observa el cambio a una arquitectura de microservicios. Esta versión será fundamental y la que más se diferencie de su predecesora, contando con cambios estructurales, de rendimiento y de alcance. Además, da paso al uso de tecnologías como JPA, Hibernate, H2 y Spring Data, que suponen un cambio radical en el tratamiento de datos.
Finalmente, la cuarta aplicación contará con la adición de un segundo microservicio, que reforzará la comprensión de la arquitectura y evidenciará su sencilla escalabilidad.
Debido al desarrollo de cuatro aplicaciones, las diferencias entre ellas quedan más localizadas y delimitadas, facilitando así la comprensión de su finalidad y funcionamiento. This project studies the process of transforming a monolithic architecture into a microservices based one. The project's primary goal is the exhaustive study of microservices, focusing on their differences from monoliths. Those dissimilarities are presented throughout the development of an application that displays the transition from an architecture to the other, hoping to be of use to future aficionados, students and developers.
In order to promulgate information about that transformation, the project will implement four REST applications. Each of them will comprise an electronic components online store.
Nonetheless, they will comprehend different characteristics, structures and technologies. These applications will be in charge of demonstrating the contrast between both architectures.
The first two versions will follow a monolithic approach. They will be almost identical except for the database and the user login process.
The shift to a microservices architecture takes place in the third application. This milestone is accompanied by the introduction of more modern technologies into the project, such as JPA, Hibernate, H2 and Spring Data, which completely transform data processing in the application.
Ultimately, the fourth application features a second microservice, which will reinforce the understanding of the project, as well as showcase how scalable microservice architectures are.
The development of four applications will ensure a smoother transition, as well as facilitate its comprehension.
Trabajo Fin de Grado
Transición del monolito a los microservicios: cambio de paradigma en el desarrollo de aplicacionesTitulación / Programa
Grado en Ingeniería en Tecnologías de TelecomunicaciónMaterias/ UNESCO
12 Matemáticas1203 Ciencias de los ordenadores
33 Ciencias tecnológicas
3325 Tecnología de las telecomunicaciones
Palabras Clave
Microservicios, Monolito, Arquitectura, Desarrollo de aplicaciones, Software, Spring Boot, Servicio RESTMicroservices, Monolith, Architecture, Software development, Spring Boot, REST service