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进行设计。