Multi-objective microservice deployment optimization via a knowledge-driven evolutionary algorithm
- PDF / 2,403,489 Bytes
- 19 Pages / 595.276 x 790.866 pts Page_size
- 12 Downloads / 153 Views
ORIGINAL ARTICLE
Multi‑objective microservice deployment optimization via a knowledge‑driven evolutionary algorithm Wubin Ma1 · Rui Wang1 · Yuanlin Gu2 · Qinggang Meng2 · Hongbin Huang1 · Su Deng1 · Yahui Wu1 Received: 8 March 2020 / Accepted: 13 July 2020 © The Author(s) 2020
Abstract For the deployment and startup of microservice instances in different resource centres, we propose an optimization problem model based on the evolutionary multi-objective theory. The objective functions of the model consider the computation and storage resource utilization rate, load balancing rate, and actual microservice usage rate in resource service centres. The constraints of the model are the completeness of service, total amount of storage resources, and total number of microservices. In this study, a knowledge-driven evolutionary algorithm (named MGR-NSGA-III) is proposed to solve the problem model and seek the optimal deployment and startup strategy of microservice instances in different resource centres. The proposed model and solution have been evaluated via real data experiments. The results show that our approach is better than the traditional microservice instance deployment and startup strategy. The average computation rate, storage idle rate, and actual microservice idle rate were 13.21%, 5.2%, and 16.67% lower than those in NSGA-III, respectively. After 50, 100, and 150 evolutionary generations in serval operations, the population members in NGR-NSGA-III dominated the population members in NSGA-III 6,270, 3,581, and 7,978 times in average, respectively, which means that NGR-NSGA-III can converge to the optimal solution much quicker than NSGA-III. Keywords Multi-objective optimization · NSGA-III · MGR-NSGA-III · Microservice
Introduction
* Rui Wang [email protected] Wubin Ma [email protected] Yuanlin Gu [email protected] Qinggang Meng [email protected] Hongbin Huang [email protected] Su Deng [email protected] Yahui Wu [email protected] 1
Science and Technology on Information System Engineering Laboratory, National University of Defense Technology, Changsha 410073, China
Computer Science Department, Loughborough University, Loughborough 4LF 3TU, UK
2
Benefiting from the revolution of SOA (service-oriented architecture) [13] and cloud technology, microservices techniques have been developed and applied in many applications [26]. Compared with microservices, traditional single applications have many limitations, especially when there are a large number of users in different regions and with different business needs. A single application means that a war package contains all the functions of the project. The scalability, fault tolerance, stability, and invulnerability of single applications are clearly insufficient to adapt to the rapid development of mobile internet, which is widely used for large-scale distributed concurrent users. Therefore, microservice-based applications research has attracted wide attention [14, 26]. Microservices decompose traditional single-application tasks into inde
Data Loading...