Análisis de patrones de resiliencia en una arquitectura basada en microservicios

Autores
Suárez, Sergio Leonel
Año de publicación
2023
Idioma
español castellano
Tipo de recurso
tesis de grado
Estado
versión aceptada
Colaborador/a o director/a de tesis
Montezanti, Diego Miguel
Rucci, Enzo
Descripción
En lo que respecta a soluciones de software, los últimos años han sido testigos de un incremento en la implementación de arquitecturas de microservicios para dar respuesta a algunas de las limitaciones de los sistemas monolíticos tradicionales. En los sistemas basados en microservicios, el impacto de las fallas que ocurren y que se propagan por la cadena de dependencias tiene relación directa con el negocio de una empresa. Por lo tanto, la resiliencia es uno de los aspectos no funcionales más importantes, especialmente en grandes compañías. Debido a esto han surgido los patrones de diseño para resiliencia, los cuales permiten la implementación de estrategias para el manejo de las fallas y la mitigación de sus efectos negativos. Por este motivo, en esta tesina se propuso como objetivo analizar el comportamiento de una serie de patrones utilizados para proveer resiliencia frente a diversos fallos capaces de afectar el funcionamiento del ecosistema de microservicios de la empresa PedidosYa. A lo largo de este trabajo, se estudió parte de la arquitectura de microservicios de PedidosYa, comprendiendo diferentes escenarios típicos de fallos que afectan a estas arquitecturas. En particular, se analizó el microservicio Niles (que es el encargado de retornar el menú de un restaurante), detallando su operación y los servicios de los que depende para cumplir su funcionalidad. Se hizo foco en el tratamiento de errores vinculados con Niles, y se estudiaron los patrones que son frecuentemente utilizados para la resiliencia, abarcando su definición, conceptos asociados, su funcionamiento y su implementación dentro de PedidosYa. Posteriormente, se obtuvieron resultados experimentales que permitieron analizar y evaluar el impacto de la aplicación de los patrones en cuestión. En particular, se analizó el comportamiento de Niles en presencia de fallos tanto, con y sin la aplicación de los patrones estudiados, de manera de poder cuantificar su incidencia. Habiendo analizado el comportamiento de Niles y sus microservicios asociados ante un conjunto de escenarios típicos de fallas, tanto en ausencia como en presencia de distintos patrones de resiliencia, se considera que se ha cumplido con el objetivo planteado originalmente en esta tesina. La implementación de cada uno de estos patrones de resiliencia en el microservicio Niles se encuentran en producción en el ecosistema de PedidosYa, logrando ser uno de los componentes más utilizados y robustos dentro de la compañía.
Director profesional: Victor Betrán
Tesina Programa de Apoyo al Egreso de Profesionales en Actividad (PAEPA)
Licenciado en Sistemas
Universidad Nacional de La Plata
Facultad de Informática
Materia
Ciencias Informáticas
microservicios
resiliencia
patrones de diseño
Nivel de accesibilidad
acceso abierto
Condiciones de uso
http://creativecommons.org/licenses/by-nc-sa/4.0/
Repositorio
SEDICI (UNLP)
Institución
Universidad Nacional de La Plata
OAI Identificador
oai:sedici.unlp.edu.ar:10915/149187

id SEDICI_1d714942a0a829f6726320bf462ad4e3
oai_identifier_str oai:sedici.unlp.edu.ar:10915/149187
network_acronym_str SEDICI
repository_id_str 1329
network_name_str SEDICI (UNLP)
spelling Análisis de patrones de resiliencia en una arquitectura basada en microserviciosSuárez, Sergio LeonelCiencias Informáticasmicroserviciosresilienciapatrones de diseñoEn lo que respecta a soluciones de software, los últimos años han sido testigos de un incremento en la implementación de arquitecturas de microservicios para dar respuesta a algunas de las limitaciones de los sistemas monolíticos tradicionales. En los sistemas basados en microservicios, el impacto de las fallas que ocurren y que se propagan por la cadena de dependencias tiene relación directa con el negocio de una empresa. Por lo tanto, la resiliencia es uno de los aspectos no funcionales más importantes, especialmente en grandes compañías. Debido a esto han surgido los patrones de diseño para resiliencia, los cuales permiten la implementación de estrategias para el manejo de las fallas y la mitigación de sus efectos negativos. Por este motivo, en esta tesina se propuso como objetivo analizar el comportamiento de una serie de patrones utilizados para proveer resiliencia frente a diversos fallos capaces de afectar el funcionamiento del ecosistema de microservicios de la empresa PedidosYa. A lo largo de este trabajo, se estudió parte de la arquitectura de microservicios de PedidosYa, comprendiendo diferentes escenarios típicos de fallos que afectan a estas arquitecturas. En particular, se analizó el microservicio Niles (que es el encargado de retornar el menú de un restaurante), detallando su operación y los servicios de los que depende para cumplir su funcionalidad. Se hizo foco en el tratamiento de errores vinculados con Niles, y se estudiaron los patrones que son frecuentemente utilizados para la resiliencia, abarcando su definición, conceptos asociados, su funcionamiento y su implementación dentro de PedidosYa. Posteriormente, se obtuvieron resultados experimentales que permitieron analizar y evaluar el impacto de la aplicación de los patrones en cuestión. En particular, se analizó el comportamiento de Niles en presencia de fallos tanto, con y sin la aplicación de los patrones estudiados, de manera de poder cuantificar su incidencia. Habiendo analizado el comportamiento de Niles y sus microservicios asociados ante un conjunto de escenarios típicos de fallas, tanto en ausencia como en presencia de distintos patrones de resiliencia, se considera que se ha cumplido con el objetivo planteado originalmente en esta tesina. La implementación de cada uno de estos patrones de resiliencia en el microservicio Niles se encuentran en producción en el ecosistema de PedidosYa, logrando ser uno de los componentes más utilizados y robustos dentro de la compañía.Director profesional: Victor BetránTesina Programa de Apoyo al Egreso de Profesionales en Actividad (PAEPA)Licenciado en SistemasUniversidad Nacional de La PlataFacultad de InformáticaMontezanti, Diego MiguelRucci, Enzo2023-02-15info:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/acceptedVersionTesis de gradohttp://purl.org/coar/resource_type/c_7a1finfo:ar-repo/semantics/tesisDeGradoapplication/pdfhttp://sedici.unlp.edu.ar/handle/10915/149187spainfo:eu-repo/semantics/openAccesshttp://creativecommons.org/licenses/by-nc-sa/4.0/Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)reponame:SEDICI (UNLP)instname:Universidad Nacional de La Platainstacron:UNLP2025-10-15T11:30:05Zoai:sedici.unlp.edu.ar:10915/149187Institucionalhttp://sedici.unlp.edu.ar/Universidad públicaNo correspondehttp://sedici.unlp.edu.ar/oai/snrdalira@sedici.unlp.edu.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:13292025-10-15 11:30:06.179SEDICI (UNLP) - Universidad Nacional de La Platafalse
dc.title.none.fl_str_mv Análisis de patrones de resiliencia en una arquitectura basada en microservicios
title Análisis de patrones de resiliencia en una arquitectura basada en microservicios
spellingShingle Análisis de patrones de resiliencia en una arquitectura basada en microservicios
Suárez, Sergio Leonel
Ciencias Informáticas
microservicios
resiliencia
patrones de diseño
title_short Análisis de patrones de resiliencia en una arquitectura basada en microservicios
title_full Análisis de patrones de resiliencia en una arquitectura basada en microservicios
title_fullStr Análisis de patrones de resiliencia en una arquitectura basada en microservicios
title_full_unstemmed Análisis de patrones de resiliencia en una arquitectura basada en microservicios
title_sort Análisis de patrones de resiliencia en una arquitectura basada en microservicios
dc.creator.none.fl_str_mv Suárez, Sergio Leonel
author Suárez, Sergio Leonel
author_facet Suárez, Sergio Leonel
author_role author
dc.contributor.none.fl_str_mv Montezanti, Diego Miguel
Rucci, Enzo
dc.subject.none.fl_str_mv Ciencias Informáticas
microservicios
resiliencia
patrones de diseño
topic Ciencias Informáticas
microservicios
resiliencia
patrones de diseño
dc.description.none.fl_txt_mv En lo que respecta a soluciones de software, los últimos años han sido testigos de un incremento en la implementación de arquitecturas de microservicios para dar respuesta a algunas de las limitaciones de los sistemas monolíticos tradicionales. En los sistemas basados en microservicios, el impacto de las fallas que ocurren y que se propagan por la cadena de dependencias tiene relación directa con el negocio de una empresa. Por lo tanto, la resiliencia es uno de los aspectos no funcionales más importantes, especialmente en grandes compañías. Debido a esto han surgido los patrones de diseño para resiliencia, los cuales permiten la implementación de estrategias para el manejo de las fallas y la mitigación de sus efectos negativos. Por este motivo, en esta tesina se propuso como objetivo analizar el comportamiento de una serie de patrones utilizados para proveer resiliencia frente a diversos fallos capaces de afectar el funcionamiento del ecosistema de microservicios de la empresa PedidosYa. A lo largo de este trabajo, se estudió parte de la arquitectura de microservicios de PedidosYa, comprendiendo diferentes escenarios típicos de fallos que afectan a estas arquitecturas. En particular, se analizó el microservicio Niles (que es el encargado de retornar el menú de un restaurante), detallando su operación y los servicios de los que depende para cumplir su funcionalidad. Se hizo foco en el tratamiento de errores vinculados con Niles, y se estudiaron los patrones que son frecuentemente utilizados para la resiliencia, abarcando su definición, conceptos asociados, su funcionamiento y su implementación dentro de PedidosYa. Posteriormente, se obtuvieron resultados experimentales que permitieron analizar y evaluar el impacto de la aplicación de los patrones en cuestión. En particular, se analizó el comportamiento de Niles en presencia de fallos tanto, con y sin la aplicación de los patrones estudiados, de manera de poder cuantificar su incidencia. Habiendo analizado el comportamiento de Niles y sus microservicios asociados ante un conjunto de escenarios típicos de fallas, tanto en ausencia como en presencia de distintos patrones de resiliencia, se considera que se ha cumplido con el objetivo planteado originalmente en esta tesina. La implementación de cada uno de estos patrones de resiliencia en el microservicio Niles se encuentran en producción en el ecosistema de PedidosYa, logrando ser uno de los componentes más utilizados y robustos dentro de la compañía.
Director profesional: Victor Betrán
Tesina Programa de Apoyo al Egreso de Profesionales en Actividad (PAEPA)
Licenciado en Sistemas
Universidad Nacional de La Plata
Facultad de Informática
description En lo que respecta a soluciones de software, los últimos años han sido testigos de un incremento en la implementación de arquitecturas de microservicios para dar respuesta a algunas de las limitaciones de los sistemas monolíticos tradicionales. En los sistemas basados en microservicios, el impacto de las fallas que ocurren y que se propagan por la cadena de dependencias tiene relación directa con el negocio de una empresa. Por lo tanto, la resiliencia es uno de los aspectos no funcionales más importantes, especialmente en grandes compañías. Debido a esto han surgido los patrones de diseño para resiliencia, los cuales permiten la implementación de estrategias para el manejo de las fallas y la mitigación de sus efectos negativos. Por este motivo, en esta tesina se propuso como objetivo analizar el comportamiento de una serie de patrones utilizados para proveer resiliencia frente a diversos fallos capaces de afectar el funcionamiento del ecosistema de microservicios de la empresa PedidosYa. A lo largo de este trabajo, se estudió parte de la arquitectura de microservicios de PedidosYa, comprendiendo diferentes escenarios típicos de fallos que afectan a estas arquitecturas. En particular, se analizó el microservicio Niles (que es el encargado de retornar el menú de un restaurante), detallando su operación y los servicios de los que depende para cumplir su funcionalidad. Se hizo foco en el tratamiento de errores vinculados con Niles, y se estudiaron los patrones que son frecuentemente utilizados para la resiliencia, abarcando su definición, conceptos asociados, su funcionamiento y su implementación dentro de PedidosYa. Posteriormente, se obtuvieron resultados experimentales que permitieron analizar y evaluar el impacto de la aplicación de los patrones en cuestión. En particular, se analizó el comportamiento de Niles en presencia de fallos tanto, con y sin la aplicación de los patrones estudiados, de manera de poder cuantificar su incidencia. Habiendo analizado el comportamiento de Niles y sus microservicios asociados ante un conjunto de escenarios típicos de fallas, tanto en ausencia como en presencia de distintos patrones de resiliencia, se considera que se ha cumplido con el objetivo planteado originalmente en esta tesina. La implementación de cada uno de estos patrones de resiliencia en el microservicio Niles se encuentran en producción en el ecosistema de PedidosYa, logrando ser uno de los componentes más utilizados y robustos dentro de la compañía.
publishDate 2023
dc.date.none.fl_str_mv 2023-02-15
dc.type.none.fl_str_mv info:eu-repo/semantics/bachelorThesis
info:eu-repo/semantics/acceptedVersion
Tesis de grado
http://purl.org/coar/resource_type/c_7a1f
info:ar-repo/semantics/tesisDeGrado
format bachelorThesis
status_str acceptedVersion
dc.identifier.none.fl_str_mv http://sedici.unlp.edu.ar/handle/10915/149187
url http://sedici.unlp.edu.ar/handle/10915/149187
dc.language.none.fl_str_mv spa
language spa
dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
eu_rights_str_mv openAccess
rights_invalid_str_mv http://creativecommons.org/licenses/by-nc-sa/4.0/
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:SEDICI (UNLP)
instname:Universidad Nacional de La Plata
instacron:UNLP
reponame_str SEDICI (UNLP)
collection SEDICI (UNLP)
instname_str Universidad Nacional de La Plata
instacron_str UNLP
institution UNLP
repository.name.fl_str_mv SEDICI (UNLP) - Universidad Nacional de La Plata
repository.mail.fl_str_mv alira@sedici.unlp.edu.ar
_version_ 1846064339956531200
score 13.22299