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