학술논문

How ‘micro’ are your services?
Document Type
Conference
Source
2020 IEEE International Conference on Software Architecture Companion (ICSA-C) Software Architecture Companion (ICSA-C), 2020 IEEE International Conference on. :75-78 Mar, 2020
Subject
Computing and Processing
Measurement
Databases
Couplings
Complexity theory
Software
Computer architecture
Software architecture
software architecture
microservices
characterization model
Language
Abstract
Microservice is an architectural style that proposes that a complex system should be developed from small and independent services that work together. There is not a welldefined boundary about when a software architecture can be considered based on microservices or not. Because of that, defining microservices context and infrastructure is challenging, especially to characterize aspects related to microservice size, data consistency, and microservices coupling. Thus, it is crucial to understand the microservices-based software characteristics, to comprehend the impact of some evolutions on architecture, and evaluate how much a particular architecture fits the microservices architectural style. Therefore, based on bibliographic research and case studies conducted in academical and industrial environments, we aim to propose a model to characterize the architecture structure based on the main guidelines of the microservice architectural style. This model introduces dimensions that measure characteristics based on modules size, coupling to data sources, and service collaboration. This study should facilitate the mapping, measurement, and monitoring of different impacts generated in the software architecture from increments and refactoring performed. This work is on the initial development stage and as a result, we expected that the model supports architectural decisions that consider different quality attributes to achieve the right balance between service independence and collaboration for a given system.