Microservices are quite widely impacting on the software industry in recent years. Rapid evolution and continuous deployment represent specific benefits of microservice-based systems, but they may have a significant impact on non-functional properties like performance. Despite the obvious relevance of this property, there is still a lack of systematic approaches that explicitly take into account performance issues in the lifecycle of microservice-based systems. In such a context of evolution and re-deployment, Model-Driven Engineering techniques can provide major support to various software engineering activities, and in particular they can allow managing the relationships between a running system and its architectural model. In this paper, we propose a model-driven integrated approach that exploits traceability relationships between the monitored data of a microservice-based running system and its architectural model to derive recommended refactoring actions that lead to performance improvement. The approach has been applied and validated on two microservice-based systems, in the domain of e-commerce and ticket reservation, respectively, whose architectural models have been designed in UML profiled with MARTE.
翻译:近年来,微观服务对软件行业的影响非常广泛。快速演进和连续部署是微观服务系统的具体好处,但可能对诸如性能等不起作用的特性产生重大影响。尽管这种特性具有明显的相关性,但仍然缺乏明确考虑到基于微观服务系统的生命周期中的性能问题的系统办法。在这种演进和重新部署的背景下,模型驱动工程技术可为各种软件工程活动提供主要支持,特别是它们能够管理运行系统与其建筑模型之间的关系。在本文件中,我们提出一种由模型驱动的综合办法,利用以微观服务为基础的运行系统监测数据与其建筑模型之间的可追踪关系,以得出改进业绩的建议重新定理行动。这一办法已分别应用于电子商务和购票预订领域的两个基于微观服务的系统,这些系统的建筑模型是在与MARTE共同设计的UML模型中设计的。