A Multi-Level Self-Adaptation Approach For Microservice Systems
Shuai Zhang, Mingjiang Zhang, Lin Ni, Peini Liu · 2019
Microservice technology that emphasizes self-management and lightweight of software systems has received great interests in both academic and industry fields of software engineering. The highly self-contained components and the dynamic running instance of microservice architecture require more flexible and diverse self-adaptation at multiple levels, which poses challenges to existing self-adaptation technologies. This paper proposes a multi-level self-adaptation approach to enrich the self-adaptation capabilities of microservice architecture and technologies. In our approach, the self-adaptation of microservice system can occur at both microservice level and instance level to satisfy various self-adaptation requirements. Based on the abstract model of self-adaptive microservice systems, the operation primitives to accomplish self-adaptation at different levels are proposed. We also present a microservice self-adaptation description language MSDL to specify the self-adaptation logics at multiple levels and implement a supporting platform by extending Kubernetes. A case is developed to illustrate our approach and experiments are conducted to show its effectiveness and availability.