Search

EP-4742034-A1 - COMPUTER SYSTEM AND METHOD OF DETERMINING PARAMETER

EP4742034A1EP 4742034 A1EP4742034 A1EP 4742034A1EP-4742034-A1

Abstract

A computer system connects with an execution environment system that provides instances and an autoscaling system that controls the scaling of the instances. In the execution environment system, an application providing the same service is executed a plurality of times by using the instances. The computer system acquires an execution log of processing of a target application, generates a load pattern using the execution log, sets a threshold of a determination metric for controlling execution of scaling based on the load pattern, executes simulation processing of simulating processing and scaling of a target application a plurality of times, and determines the threshold of the determination metric based on a result of the simulation processing.

Inventors

  • KONOURA HIROAKI
  • OHKUBO KEIKO
  • MIYATA TATSUHIKO
  • YONEYAMA MOTOKI
  • FUJIKI NOBUHIRO

Assignees

  • Hitachi, Ltd.

Dates

Publication Date
20260513
Application Date
20240109

Claims (11)

  1. A computer system comprising: a processor; a memory connected to the processor; and a network interface connected to the processor, wherein an execution environment system that provides an instance and an autoscaling system that controls scaling of the instance are connected, in the execution environment system, a plurality of applications that provide a same service are executed by using the instance, the application includes a plurality of event-driven event processing, and the processor is configured to execute: acquiring an execution log of processing of a target application; generating, by using the execution log, a load pattern including one or more sets of a processing flow of the event processing in the target application and a temporal transition of a number of requests processed by the processing flow; setting a threshold of a determination metric for controlling execution of the scaling based on the load pattern, and executing simulation processing of simulating processing of the target application and the scaling a plurality of times; and determining a threshold of the determination metric based on a result of the simulation processing.
  2. The computer system according to claim 1, wherein the processor is further configured to execute: generating a plurality of the processing flows based on the execution log; calculating a temporal transition of a number of request processing performed by the target application based on the execution log; calculating, for each of the plurality of processing flows based on the execution log, a transition probability between the event processing in the processing flow; calculating, for each of the plurality of processing flows, an occurrence frequency based on a transition probability between the event processing in the processing flow; and distributing a number of request processing at each time in a time transition of a number of request processing performed by the target application based on an occurrence frequency of each of the plurality of processing flows, thereby calculating a time transition of a number of requests processed by each of the plurality of processing flows.
  3. The computer system according to claim 2, wherein the processor determines a threshold of the determination metric in such a way to satisfy an operation plan in which a service level and an operation policy are defined.
  4. The computer system according to claim 2, wherein the processor determines a maximum number and a minimum number of the instances by setting a number of the instances based on the load pattern and a threshold of the determination metric and executing simulation processing of simulating processing of the target application a plurality of times.
  5. The computer system according to claim 2, wherein the processor generates display information to display the load pattern, a result of the simulation, and a threshold of the determination metric.
  6. A parameter determination method for controlling autoscaling executed by a computer system, wherein the computer system includes a processor, a memory connected to the processor, and a network interface connected to the processor, an execution environment system that provides an instance and an autoscaling system that controls scaling of the instance are connected, in the execution environment system, a plurality of applications that provide a same service are executed by using the instance, the application includes a plurality of event-driven event processing, the parameter determination method comprises: a first step of acquiring, by the processor, an execution log of processing of a target application and storing the execution log in the memory; a second step of generating, by the processor using the execution log, a load pattern including one or more sets of a processing flow of the event processing in the target application and a temporal transition of a number of requests processed by the processing flow and storing the load pattern in the memory; a third step of setting, by the processor, a threshold of a determination metric for controlling execution of the scaling based on the load pattern, and executing simulation processing of simulating processing of the target application and the scaling a plurality of times; and a fourth step of determining, by the processor, a threshold of the determination metric based on a result of the simulation processing and storing the threshold in the memory.
  7. The parameter determination method according to claim 6, wherein the second step includes: a step of generating, by the processor, a plurality of the processing flows based on the execution log; a step of calculating, by the processor, a temporal transition of a number of request processing performed by the target application based on the execution log; a step of calculating, by the processor, for each of the plurality of processing flows based on the execution log, a transition probability between the event processing in the processing flow; a step of calculating, by the processor, for each of the plurality of processing flows, an occurrence frequency based on a transition probability between the event processing in the processing flow; and a step of distributing, by the processor, a number of request processing at each time in a time transition of a number of request processing performed by the target application based on an occurrence frequency of each of the plurality of processing flows, thereby calculating a time transition of a number of requests processed by each of the plurality of processing flows.
  8. The parameter determination method according to claim 7, wherein the fourth step includes a step of determining, by the processor, a threshold of the determination metric in such a way to satisfy an operation plan in which a service level and an operation policy are defined.
  9. The parameter determination method according to claim 7, comprising a step of determining, by the processor, a maximum number and a minimum number of the instances by setting a number of the instances based on the load pattern and a threshold of the determination metric and by executing simulation processing of simulating processing of the target application a plurality of times.
  10. The parameter determination method according to claim 7, comprising a step of generating, by the processor, display information to display the load pattern, a result of the simulation, and a threshold of the determination metric.
  11. A computer system comprising: an execution environment system that provides an instance; an autoscaling system that controls scaling of the instance; and an evaluation system that determines a threshold of a determination metric to control the scaling, wherein in the execution environment system, a plurality of applications that provide a same service are executed by using the instance, the application includes a plurality of event-driven event processing, and the evaluation system is configured to execute: acquiring an execution log of processing of a target application from the execution environment system; generating, by using the execution log, a load pattern including one or more sets of a processing flow of the event processing in the target application and a temporal transition of a number of requests processed by the processing flow; setting a threshold of a determination metric based on the load pattern, and executing simulation processing of simulating processing of the target application and the scaling a plurality of times; and determining a threshold of the determination metric based on a result of the simulation processing, and transmitting the threshold to the autoscaling system.

Description

Incorporation by Reference The present application claims priority to Japanese Patent Application No. 2023-110923 filed on July 5, 2023, the contents of which are incorporated herein by reference. Technical Field The present invention relates to an autoscaling technique of resources for executing event-driven distributed applications. Background Art When various application services are deployed in a cloud environment or the like, orchestration tools and services such as Kubernetes (k8s) and Amazon ECS (Elastic Container Service) for reducing the operation load of containers arranged on a plurality of servers are being utilized. As one of main functions of the orchestration tool, there is an autoscaling function of resources. In the autoscaling function, a determination metric indicating a load status of a resource used by an application is monitored, a resource is dynamically added in a case where the determination metric exceeds a scaling reference value (threshold), a processing throughput of the application is increased, and the resource is stopped in a case where the determination metric falls below the threshold. The processing throughput of the application can be increased by adding the resource, and the resource usage amount can be suppressed by stopping the resource. For example, use of the autoscaling function is recommended in use of a service such as a cloud managed container service in which a metered amount is high when a resource is constantly activated. When business logic is dropped into an application, there is a case where an event calling different processing occurs for one request, and parallel distributed processing is executed by event drive. In such a case, processing corresponding to a certain event is an application including complicated parallel distributed processing such as waiting for processing corresponding to another event or generating another event. Hereinafter, an application having the above-described properties will be referred to as an event-driven distributed application. Techniques described in PTLs 1 and 2 are known as techniques for capturing and evaluating fluctuations in determination metrics used for autoscaling and autoscaling resources. An object of PTL 1 is to provide a technique that enables operation of a system with high charging efficiency. An autoscaling method is disclosed in which, in a system that executes a requested process in a plurality of computer nodes in a distributed manner, a computer node that manages a task to be executed in the system executes a simulation for allocating the task of the processing request to the computer node with reference to management information for managing the task executed by the computer node included in the system, the management information being stored in a storage unit, when the computer node receives a processing request with a specified due date, and executes a process of adding the computer node to the system in a case where it is determined by the simulation of the allocation that there is no computer node capable of terminating the task of the processing request within the due date and it is not possible to prepare a computer node capable of terminating the task of the processing request within the due date even if another computer node migrates the task capable of terminating the processing within the due date. PTL 2 discloses a method in which a proactive autoscaling system uses a heuristic approach and machine learning to actively and dynamically and automatically scale computing resources allocated to an application prior to a scaling event that causes a change in load level. Citation List Patent Literature PTL 1: JP 2013-210683 APTL 2: US 11,226,844 Summary of Invention Technical Problem In order to control the scaling to satisfy the SLA and the operation policy, it is necessary to appropriately set the threshold of the determination metric. For this purpose, a method of executing simulation of an event-driven distributed application and an autoscaling service using the techniques described in PTLs 1 and 2 and calculating a threshold of a determination metric can be considered. Even in an event-driven distributed application that provides the same service, implementation of the event-driven distributed application varies depending on a region and a user. Therefore, there are various flows of events in the event-driven distributed application, and a tendency of event branching is different. Therefore, it is necessary to perform simulation after specifying the flow of the event and specifying the occurrence frequency of the flow of the event. In addition, the operation of the application service on the cloud system also complicates management of a base for providing the application service. Therefore, it is difficult to grasp the behavior of each event-driven distributed application. Therefore, it is difficult to directly apply the conventional technique. An object of the present invention is to set a t