Towards Optimal Parameterized Partitioning of Microservices

Proyecto: Investigación

Detalles del proyecto

Descripción

Microservices are ¿an architectural style inspired by service-oriented computing that has recently startedgaining popularity¿ [1. Microservices aim to subdivide a system into small, independent, and highly cohesiveservices [1.One of the most common challenges for this kind of architecture is the migration from monolithic appli-cation into microservices, where engineers expect to improve scalability, maintainability, resilience, amongothers [2. However, under some circumstances, microservices can be detrimental for key quality attributes[3, [4.The core issue is that quality attributes in a distributed application depend on many factors, not justthe functional decomposition that is the focus of microservices [2. Traditional trade-offs in distributedapplications are relevant, for instance, between granularity and performance, or between consistence andpartitioning [4, [5.Moreover, quality attributes may have different priorities, depending on the software being built. Forinstance, if an application highly prioritizes partitioning above consistency [6, the system has the potentialof being decomposed in more, smaller microservices and vice versa.As a consequence, there is no single optimal partitioning of a monolithic application into microservices.Although there are several approaches to subdivide monoliths [7¿[9, most of them either address a fewquality attributes or do not provide a way to parameterize them according to stakeholders needs. To address the above issues, this project proposes an approach to partition a monolithic application intomicroservices using arequirements function,i.e.,a parameterizable objective function for the optimizationthat underlies the partitioning process. We expect that the requirements function will model several non-functional requirements (quality attributes). Each of them will be weighed differently, according to the specificnecessities of a given project. Therefore, the same monolithic application may be partitioned differently foreach parameterization of the requirements function.}
EstadoFinalizado
Fecha de inicio/Fecha fin07/02/2206/02/25

Financiación de proyectos

  • Interna
  • PONTIFICIA UNIVERSIDAD JAVERIANA