Abstract

In the past few years, microservice architecture has become a dominant software development and deployment paradigm and has aroused interest from both academia and industry. Although the microservice architecture has many advantages, it still faces some challenges. Due to the mobility and changing needs of users, microservice systems (MSS) need to continuously evolve to ensure that the Quality of Service (QoS) perceived by users remains at a satisfactory level. Besides, because of the complexity of MSS constituted by plenty of microservices and users, it is difficult for developers to evolve the MSS manually, and automatic evolutionary adaptability is necessary. However, existing technologies do not well support the automatically adaptive evolution of MSS. To meet this challenge, this paper summarizes common abilities that are necessary for automatically adaptive evolution in MSS, including monitor system runtime status, generate an evolution plan and execute an evolution plan, and an Evolution-Oriented Programming Framework for Microservices (EPF4M) is designed to support individual microservices to achieve those abilities. Considering both the development cost and operational efficiency of microservices, EPF4M is implemented by lightweight methods in Java, including annotations. Experiments are carried out to verify the usability of the functions provided by EPF4M and compare an MSS before and after using EPF4M to demonstrate the acceptability of the additional cost of EPF4M for MSS development and operation. An example is also presented to illustrate the performance of EPF4M in adaptive evolution.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call