Container management device and storage medium storing container management program
A container management device including a processor, wherein the processor is configured to acquire, for a service including interconnected respective microservices installed with containers for executing processing, a workload relating to the service, connection information that is information relating to how the microservices are interconnected, and a service chain for propagation of respective processing related to the workload across the microservices; employ a prediction model expressing a relationship between a workload of each of the microservices and a resource usage to find a resource usage of each of the microservices from the acquired workload, the acquired connection information, and the acquired service chain, and to predict a number of containers; and control container installation at a same moment for the respective microservices by installation with the predicted number of containers for each of the microservices.
1 . A container management device including a processor, wherein the processor is configured to:
acquire, for a service including interconnected respective microservices installed with containers for executing processing, a historical workload relating to the service, connection information that is information relating to how the microservices are interconnected, and a service chain for propagation of respective processing related to a workload from a microservice at a front end to a microservice at a back end;
acquire resource information regarding the historical workload;
use the historical workload to generate a prediction model expressing a relationship between the workload of each of the microservices and a resource usage to find a resource usage of each of the microservices from the acquired historical workload, the acquired connection information, and the acquired service chain, the prediction model is a linear regression model when an amount of data in the resource information is greater than a predetermined threshold, and the prediction model is a Gaussian process when the amount of data in the resource information is less than or equal to the predetermined threshold;
determine whether the workload has been generated in the service;
upon determination that the workload has been generated in the service, acquire the workload currently generated in the service, the service chain of the workload, and the connection information;
estimate a current workload of each of the microservices using the acquired workload currently generated in the service, the service chain, and the connection information;
use the prediction model for each of the microservices to find the resource usage, and predict a number of containers required; and
control container installation at a same moment for the respective microservices by installation with the predicted number of containers for each of the microservices.
2 . The container management device of claim 1 , wherein the processor is configured to:
further acquire resource information that is information regarding the historical workload and a resource usage for each of the microservices; and
employ the resource information to generate the prediction model.
3 . The container management device of claim 2 , wherein the prediction model is a predetermined regression model, or is a regression model determined by a Gaussian process.
4 . The container management device of claim 3 , wherein the processor is configured to select the predetermined regression model or the regression model determined by a Gaussian process according to an amount of data in the resource information.
5 . The container management device of claim 1 , wherein the processor is configured to:
identify from the service chain which microservices processing will propagate through;
estimate the workload for each of the microservices; and
employ the prediction model to find the resource usage from the workload estimated for each of the microservices.
6 . The container management device of claim 1 , wherein the connection information is a tree topology, a bus topology, a star topology, a ring topology, or a fully connected topology.
7 . A non-transitory storage medium storing a container management program executable by a computer to perform processing comprising:
acquiring, for a service including interconnected respective microservices installed with containers for executing processing, a historical workload relating to the service, connection information that is information relating to how the microservices are interconnected, and a service chain for propagation of respective processing related to a workload from a microservice at a front end to a microservice at a back end;
acquiring resource information regarding the historical workload;
using the historical workload to generate a prediction model expressing a relationship between the workload of each of the microservices and a resource usage to find a resource usage of each of the microservices from the acquired historical workload, the acquired connection information, and the acquired service chain, the prediction model is a linear regression model when an amount of data in the resource information is greater than a predetermined threshold, and the prediction model is a Gaussian process when the amount of data in the resource information is less than or equal to the predetermined threshold;
determining whether the workload has been generated in the service;
upon determination that the workload has been generated in the service, acquiring the workload currently generated in the service, the service chain of the workload, and the connection information;
estimating a current workload of each of the microservices using the acquired workload currently generated in the service, the service chain, and the connection information;
using the prediction model for each of the microservices to find the resource usage, and predicting a number of containers required; and
controlling container installation at a same moment for the respective microservices by installation with the predicted number of containers for each of the microservices.