Method for evaluating cluster configuration and computing device

The method for evaluating cluster configurations in cloud services addresses the challenge of quickly assessing configuration effectiveness by using historical sequences and current configurations to predict costs, thereby enhancing user decision-making and experience.

WO2025095804A1PCT designated stage expired Publication Date: 2025-05-08HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/RU2024/000073
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-11-03
Filing Date
2024-03-05
Publication Date
2025-05-08

AI Technical Summary

Technical Problem

Current cloud service users face challenges in quickly evaluating cluster configurations due to scalability, diversity, and dynamicity of user workloads, leading to decisions based on historical experience, guessing, and trial-and-error.

Method used

A method for evaluating cluster configuration that involves receiving configuration information from tenants, predicting costs based on historical sequences and current cluster configurations, and presenting prediction results to tenants, including costs and node quantities for each cluster.

Benefits of technology

This method allows users to make informed decisions about cluster configurations by providing accurate cost predictions, thereby improving user experience and reducing the risk of poor configuration choices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure RU2024000073_08052025_PF_FP_ABST
    Figure RU2024000073_08052025_PF_FP_ABST
Patent Text Reader

Abstract

This application provides a method for evaluating cluster configuration and a computing device. A cluster configuration and a historical time period that correspond to each cluster may be determined based on configuration information input by a tenant. Then, a historical sequence of the tenant in the historical time is obtained based on the historical time period. A quantity of computing nodes corresponding to each cluster may be obtained by predicting an execution status of a workload sequence based on a current cluster configuration. A cost corresponding to the cluster configuration may be evaluated based on a determined computing node type corresponding to the cluster configuration and the quantity of computing nodes. In addition, a cost corresponding to each cluster is output to the tenant. In this way, a requirement of the tenant can be better met, and service experience of the tenant is improved.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD FOR EVALUATING CLUSTER CONFIGURATION ANDCOMPUTING DEVICE

[0001] This application claims priority to Russian Patent Application No. 2023128504, filed with the Russian Federal Service for Intellectual Property on November 3, 2023 and entitled "METHOD FOR EVALUATING CLUSTER CONFIGURATION AND APPARATUS", which is incorporated herein by reference in its entirety.TECHNICAL FIELD

[0002] This application relates to the field of cloud services, and more specifically, to a method for evaluating cluster configuration and a computing device.BACKGROUND

[0003] Currently, it becomes a mainstream trend to deploy containerized application programs by using a container orchestration service provided by cloud service providers. A user who uses the service needs to be responsible for managing a virtual cluster configuration (for example, a cluster configuration includes a computing node type and a quantity of computing nodes in a cluster) including one or more nodes, to ensure that a container can run normally on these nodes.

[0004] Although there is already a tool for monitoring a cost of a cluster configuration in the existing solution, due to scalability, diversity, and dynamicity of user workloads, a selected cluster configuration cannot be quickly evaluated before being used on the cloud. Therefore, the user usually makes decisions based on historical experience, guessing, and trial-and-error. To avoid making poor choices, the user expects to evaluate a specific cluster configuration before using the cluster configuration.

[0005] Therefore, a method for evaluating cluster configuration is required to better meet a requirement of the user and improve user experience.SUMMARY

[0006] This application provides a method for evaluating cluster configuration, to better meet a requirement of a user and improve user experience.

[0007] According to a first aspect, a method for evaluating cluster configuration is provided. The method may be applied to a cloud service system. The method may be performed by a cloud management platform (or a communication device used in the cloud management platform), or may be performed by a component (for example, a chip or a circuit) of the cloud management platform (or the communication device used in the cloud management platform). In this application, the cloud service system includes a plurality of clusters, and each of the plurality of clusters includes at least one computing node.

[0008] The method includes: receiving configuration information from a tenant, where the configuration information indicates a cluster configuration corresponding to each cluster in at least one cluster and a historical time period of using the cloud service system by the tenant, each cluster in the at least one cluster is a to-be-evaluated cluster, and the cluster configuration includes at least one computing node type; and presenting a prediction result to the tenant, where the prediction result includes a cost corresponding to each cluster in the at least one cluster, the cost corresponding to the cluster is determined based on the at least one computing node type included in the cluster configuration corresponding to each cluster, and a quantity of computing nodes of each type, the quantity of computing nodes of each type is obtained based on an execution status of a historical sequence corresponding to the cluster, and the historical sequence is a sequence of creating and / or deleting a service instance in the cloud service system by the tenant in the historical time period.

[0009] In this application, each cluster in the at least one cluster is a to-be-evaluated cluster.

[0010] The "cluster configuration" in this application includes a computing node type. It should be understood that one cluster may generally include a plurality of computing node types. Optionally, the cluster configuration further includes a CA policy.

[0011] In this application, a sequence of creating a pod and / or deleting a pod in a historical cluster by the tenant in the historical time period may be obtained from the cloud service system in the historical time period. It may also be understood that a workload sequence (that is, the historical sequence) of the tenant in the historical time period is stored in the cloud service system. For example, the historical cluster may be a cluster that has been used by the tenant before. For example, a service performed by the historical cluster is similar to a service performed by a cluster required by a current tenant. For example, the two services are both services for performing high- amount storage or for performing high-amount computing.

[0012] For example, in this application, the prediction result presented to the tenant may be in the form of a graph, a table, or a text. It may also be understood that an interface is provided for the tenant, and the prediction result is displayed on the interface in the form of a graph, a table, or a text.

[0013] Based on the foregoing solution, in this application, a cluster configuration and a historical time period that correspond to each to-be-evaluated cluster may be determined based on configuration information input by a tenant. Then, a historical sequence of the tenant in the historical time is obtained based on the historical time period. A quantity of computing nodes corresponding to the to-be-evaluated cluster may be obtained by predicting the historical sequence based on a current cluster configuration. A cost corresponding to the cluster configuration may be evaluated based on a determined computing node type corresponding to the cluster configuration and the quantity of computing nodes. In addition, a cost corresponding to the to-be-evaluated cluster is output to the tenant. In this way, a requirement of a user can be better met, and service experience of the user is improved.

[0014] With reference to the first aspect, in a possible implementation, the configuration information includes at least one computing node series and at least one historical time period. Each of the at least one computing node series indicates a computing node type. Each cluster in the at least one cluster corresponds to the at least one computing node series. The at least one historical time period is in one-to-one correspondence with the at least one cluster.

[0015] This scenario is applicable to a scenario in which the tenant knows only cluster configuration requirements but does not know a specific computing node model. For example, the user may specify at least one computing node series based on requirement information of the user. For example, the computing node series may meet a high-amount storage requirement, meet a general computing-enhanced requirement, or the like. It may also be understood that the tenant knows only a general requirement of the tenant. For example, the tenant knows that a cluster required by the tenant includes a large memory (for example, a ratio of the memory to a CPU reaches 5:2), or a cluster required by the tenant includes a large CPU (for example, a ratio of a memory to the CPU reaches 1:6), but does not know a specific resource configuration between the memory and the CPU, or the tenant actually does not know a specific node model.

[0016] With reference to the first aspect, in a possible implementation, the method further includes: determining at least two moments in the historical time period, and determining a sequence corresponding to each of the at least two moments; and determining, in each computing node series based on the sequence corresponding to each moment and a first algorithm, at least one computing node model corresponding to each cluster in the at least one cluster, where the computing node series includes the at least one computing node model, and the first algorithm is an algorithm used for resolving a packing problem.

[0017] In this application, the computing node type may be indicated by using the computing node model, or the computing node type may be indicated by using the computing node series. A computing node series may include one or more computing node models. Therefore, it may alsobe understood that a "computing node model" is fine-grained information indicating a computing node type, and a "computing node series" is coarse-grained information indicating a computing node type.

[0018] Based on the foregoing solution, in this scenario, a recommended computing node model may be predicted first, and a cost of a recommended cluster configuration may be further predicted. In this way, a cluster cost corresponding to each recommended cluster may be calculated. This mode is applicable to a tenant who prefers a guided configuration adjustment solution. In this solution, a requirement of a user is met, and service experience of the user is improved.

[0019] With reference to the first aspect, in a possible implementation, the configuration information includes at least one computing node model and at least one historical time period. Each of the at least one computing node model indicates a computing node type. Each cluster in the at least one cluster corresponds to the at least one computing node model. The at least one historical time period is in one-to-one correspondence with the at least one cluster.

[0020] In this scenario, the tenant knows that the cluster configuration needs to be evaluated. For example, in this scenario, the tenant has clearly known a specific cluster configuration corresponding to each cluster. For example, for cluster #1, the tenant may input a cluster configuration corresponding to cluster #1. For example, configuration information includes: computing node model #al, computing node model #bl, and computing node model #cl. For another example, for cluster #2, the tenant may input a cluster configuration corresponding to cluster #2. For example, configuration information includes: computing node model #a2, computing node model #b2, and computing node model #c2.

[0021] In this application, the configuration information further includes information about a historical time period input by the tenant. For example, the historical time period input by the tenant is 00:00 on January 1, 2020 to 00:00 on January 7, 2020. For another example, the historical time period input by the tenant may be "last month", "last week", "last two weeks", or the like. In this case, the cloud management platform may obtain a workload sequence of the tenant in the time period based on the information about the historical time period input by the tenant. The workload sequence may be a sequence of creating a pod and / or deleting a pod at each moment by the tenant. For example, if the historical time period input by the tenant is "last week", the cloud management platform may obtain a request of creating a pod and a request of deleting a pod in the last week by the tenant.

[0022] With reference to the first aspect, in a possible implementation, the configuration information further includes at least one cluster autoscaler CA policy. Each cluster corresponds to the at least one CA policy. Each of the at least one CA policy is a policy of creating a node and / or deleting a node in the cluster during prediction. The method further includes: predicting, based onthe at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster.

[0023] For example, the CA policy may include one or more of the following: a node with low node utilization is preferentially deleted; in a scenario with a requirement for high-amount storage, a type of a created node may be a high-memory series; for a cluster with a memory optimization requirement, for example, when a ratio of a memory to a CPU is as high as 1:8, the cluster is applicable to a database scenario with a high memory capacity requirement; and for a cluster with a general computing-enhanced requirement, computing performance is robust and stable, and an ultra-high network bandwidth and PPS packet sending and receiving capabilities are provided to meet requirements of gaming scenarios.

[0024] With reference to the first aspect, in a possible implementation, the method further includes: determining, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the sequence, and the first algorithm, an initial quantity of computing nodes corresponding to each of the at least one computing node model at a start moment of the historical time period; and the predicting, based on the at least one computing node model corresponding to each cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster includes: predicting, based on the at least one computing node model corresponding to each cluster, the at least one CA policy, the initial quantity of computing nodes corresponding to each of the at least one computing node model at the start moment, and the execution status of the historical sequence, the quantity of computing nodes corresponding to the at least one computing node model in the cluster.

[0025] Based on the foregoing solution, in this scenario, the tenant may specify any cluster configuration, and perform evaluation by comparing a cost corresponding to the cluster configuration with a cost corresponding to a current cluster configuration. In this mode, a tenant who prefers to manually adjust a cluster configuration can easily estimate costs potentially saved when the cluster configuration is switched to another configuration, thereby meeting a requirement of a user and improving user experience.

[0026] With reference to the first aspect, in a possible implementation, the prediction result further includes at least one of the following: a variation in costs for each cluster in the at least one cluster, a maximum quantity corresponding to each of the at least one computing node model, and a minimum quantity corresponding to each of the at least one computing node model.

[0027] According to a second aspect, this application provides a computing device, and the device is configured to perform the method in the first aspect. Specifically, the device may includea unit and / or a module, such as a transceiver unit and / or a processing unit, configured to perform the method for evaluating cluster configuration in this application. In this application, the communication device is used in a cloud management platform. Alternatively, the communication device is a cloud management platform.

[0028] According to a third aspect, this application provides a computing device. The device includes at least one processor, configured to execute a computer program or instructions stored in a memory, to perform the method in the first aspect. Optionally, the device further includes the memory, configured to store the computer program or the instructions. Optionally, the device further includes a communication interface, and the processor reads, by using the communication interface, the computer program or the instruction stored in the memory.

[0029] In an implementation, the device is a computing device that is used in a chip to implement functions of the method for evaluating cluster configuration and that is used in a cloud management platform. Alternatively, the device is a cloud management platform.

[0030] In another implementation, the device is a chip, a chip system, or a circuit that is used in a chip to implement functions of the method for evaluating cluster configuration and that is used in the cloud management platform.

[0031] According to a fourth aspect, this application provides a processor, including an input circuit, an output circuit, and a processing circuit. The processing circuit is configured to receive a signal by using the input circuit, and transmit a signal by using the output circuit, so that the processor performs the method in the first aspect.

[0032] During specific implementation, the processor may be one or more chips, the input circuit may be an input pin, the output circuit may be an output pin, and the processing circuit may be a transistor, a gate circuit, a trigger, any logic circuit, or the like. An input signal received by the input circuit may be received and input by, for example, but not limited to, a transceiver, a signal output by the output circuit may be output to, for example, but not limited to, a transmitter and transmitted by the transmitter, and the input circuit and the output circuit may be a same circuit, where the circuit is used as the input circuit and the output circuit at different moments. Specific implementations of the processor and the various circuits are not limited in embodiments of this application.

[0033] Operations such as sending and obtaining / receiving related to the processor may be understood as operations such as output and receiving or input of the processor, or operations such as sending and receiving performed by a radio frequency circuit and an antenna, unless otherwise specified, or provided that the operations do not contradict actual functions or internal logic of the operations in related descriptions. This is not limited in this application.

[0034] According to a fifth aspect, a processing device is provided, including a processor anda memory. The processor is configured to read instructions stored in the memory, receive a signal by using a transceiver, and transmit a signal by using a transmitter, to perform the method in the first aspect.

[0035] Optionally, there are one or more processors, and there are one or more memories.

[0036] Optionally, the memory may be integrated with the processor, or the memory and the processor are separately disposed.

[0037] In a specific implementation process, the memory may be a non-transitory (non- transitory) memory, such as a read only memory (read only memory, ROM). The memory and the processor may be integrated into one chip, or may be separately disposed in different chips. A type of the memory and a manner in which the memory and the processor are disposed are not limited in embodiments of this application.

[0038] It should be understood that, a related data exchange process such as sending of indication information may be a process of outputting the indication information from the processor, and receiving of capability information may be a process of receiving input capability information by the processor. Specifically, data output by the processor may be output to the transmitter, and input data received by the processor may be from the transceiver. The transmitter and the transceiver may be collectively referred to as a transceiver.

[0039] The processing device in the fifth aspect may be one or more chips. The processor in the processing device may be implemented by using hardware, or may be implemented by using software. When the processor is implemented by using hardware, the processor may be a logic circuit, an integrated circuit, or the like. When the processor is implemented by using software, the processor may be a general-purpose processor, and is implemented by reading software code stored in the memory. The memory may be integrated into the processor, or may be located outside the processor and exist independently.

[0040] According to a sixth aspect, a computing cluster is provided, including at least one computing device. Each computing device includes a processor and a memory. The processor in the at least one computing device is configured to execute instructions stored in the memory in the at least one computing device, so that the computing device cluster performs the method according to any one of the possible implementations of the first aspect.

[0041] Optionally, the processor may be a general-purpose processor, and may be implemented by using hardware or software. When the processor is implemented by using hardware, the processor may be a logic circuit, an integrated circuit, or the like. When the processor is implemented by using software, the processor may be a general-purpose processor, and is implemented by reading software code stored in the memory. The memory may be integrated into the processor, or may be located outside the processor and exist independently.

[0042] According to a seventh aspect, a computer-readable storage medium is provided. The computer-readable medium stores program code used by a device for execution, and the program code includes the method in the first aspect.

[0043] According to an eighth aspect, a computer program product including instructions is provided. When the computer program product runs on a computer, the computer is enabled to perform the method in the first aspect.

[0044] According to a ninth aspect, a chip system is provided, including a processor, configured to invoke and run a computer program from a memory, so that a device in which the chip system is installed performs the method in the first aspect.BRIEF DESCRIPTION OF DRAWINGS

[0045] FIG. 1 is a schematic diagram of a computing node type according to this application;

[0046] FIG. 2 is a schematic diagram of a cloud service scenario to which this application is applicable;

[0047] FIG. 3 is a schematic flowchart of a method 300 for evaluating cluster configuration according to this application;

[0048] FIG. 4 is a schematic block diagram of a computing device 600 according to this application;

[0049] FIG. 5 is a schematic block diagram of a computing device 700 according to this application;

[0050] FIG. 6 is a schematic diagram of an architecture of a computing device cluster according to this application; and

[0051] FIG. 7 is a schematic diagram in which computing devices 800A and 800B are connected over a network according to this application.DESCRIPTION OF EMBODIMENTS

[0052] To better understand the technical solutions provided in this application, the following first describes individual terms in this application.

[0053] (1) Service instance: A "service instance" in this application may be understood as a"pod". The pod is a minimum unit created or deployed in K8s. One pod represents a process that is running in a cluster. One pod includes one or more containers. The containers in the pod share network, storage, and computing resources and run on a same docker host. A plurality of containers may be run in one pod. In a production environment, a single container or a plurality of containers that are closely associated and complementary form a pod. One pod can run only on one host, butone host can have a plurality of pods.

[0054] (2) Cluster: It may be considered as a group of nodes and is configured to run containerized application programs. It should be understood that each cluster has at least one worker node.

[0055] (3) Computing node type:

[0056] It may be understood as a specific configuration of a node in terms of resource capacity, such as a central processing unit (central processing unit, CPU) (which may also be understood as a CPU core) configuration, a memory configuration, and / or the like of a node. FIG. 1 is a schematic diagram of a computing node type shown in this application. As shown in FIG. 1, for example, the computing node type may be represented by a size of a memory included in a node and a size of a central processing unit (central processing unit, CPU). As described above, all pods can be allocated to nodes, and a pod specification may be represented by the size of the memory and the size of the CPU. For example, a resource corresponding to the computing node type may be 128U256G, indicating that the size of the CPU of the node is 128U, and the size of the memory of the node is 256G.

[0057] In this application, the computing node type may be indicated by using a computing node model, or the computing node type may be indicated by using a computing node series. A computing node series may include one or more computing node models. Therefore, it may also be understood that a "computing node model" is fine-grained information indicating a computing node type, and a "computing node series" is coarse-grained information indicating a computing node type.

[0058] For example, computing node series #A may indicate a computing node type. For example, a resource corresponding to the indicated computing node type is a resource with a ratio of a CPU to a memory being 1 :8. For example, the computing node series may be a type of a server. For example, the server is a server with a high memory. For another example, the server is a server with a high computing capability.

[0059] For example, computing node series #A includes three computing node models: computing node model #A1, computing node model #A2, and computing node model #A3. Computing node model #A1 may indicate a specific computing node type. For example, a resource corresponding to the computing node type is 1U8G. Computing node model #A2 may indicate another specific computing node type. For example, a resource corresponding to the computing node type is 2U16G. Computing node model #A3 may indicate another specific computing node type. For example, a resource corresponding to the computing node type is 3U24G.

[0060] (4) Node pool: It may be understood as a group of nodes of a same type.

[0061] (5) Cluster autoscaler (cluster autoscaler, CA): It is a component that automaticallyadjusts a cluster size to ensure that all pods have a running place and delete unnecessary nodes in a timely manner. It may also be understood that once a pod is created, it needs to be ensured that the pod has a node on which the pod can run. If a resource of the node is fully occupied, a new node needs to be created to accommodate the pod. In addition, if a pod on a node is deleted, and the node is not occupied or the pod on the node may be placed on another node, the node may be deleted. A "CA policy" in this application may be understood as a policy of creating a node and / or deleting a node in a cluster during prediction.

[0062] (6) Workload: It may be understood as several application programs, and represent a group of pods running in a cluster. For example, a pod creation request and / or a pod deletion request may simultaneously occur at a moment. A "historical sequence" in this application may be understood as a workload in a historical time period.

[0063] (7) Tenant: It is a logical concept. For example, after a person or an enterprise registers an account on a public cloud platform, the platform considers that the person or enterprise is a "tenant". A cloud system allocates cloud resources by using a "tenant" as a unit. Generally, the tenant may lease, on a cloud computing platform, a service provided by a cloud service provider. The tenant needs to provide identity information, a contact and contact information, and information about a deduction account used for paying a cloud service rental.

[0064] It should be understood that a tenant of a cloud service may be an individual, an enterprise, a school, a hospital, an administrative agency, or the like.

[0065] (8) Cloud management platform: It may be configured to provide an access interface(for example, an interface or an application programming interface (application programming interface, API)). A tenant may operate a remote access interface of a client to register a cloud account and a password on the cloud management platform, and log in to the cloud management platform. After the cloud management platform successfully authenticates the cloud account and the password, the tenant may further pay on the cloud management platform to select and purchase a virtual machine with a specific specification (a processor, a memory, and a disk). After the payment and purchase are successful, the cloud management platform provides a remote login account and password of the purchased virtual machine, and the client may remotely log in to the virtual machine, and install and run an application of the tenant in the virtual machine.

[0066] A cloud server is one of the most popular computing resource service forms. Especially in the cloud computing era, the cloud server is widely used and configured to host applications such as websites, application programs, and databases. When the cloud server is used, a plurality of internet protocol (internet protocol, IP) addresses are sometimes to be configured to extend services of an application program. For example, when a web server cluster is constructed, a plurality of services with different network properties are required, or different clients need toaccess the internet, a plurality of IP addresses need to be configured on the cloud server.

[0067] FIG. 2 is a schematic diagram of a cloud service scenario to which this application is applicable. As shown in FIG. 2, the cloud scenario may include a cloud management platform 210, an internet 220, and a client 230. As shown in FIG. 2, the cloud management platform 210 is configured to manage an infrastructure that provides a plurality of cloud services. The infrastructure includes a plurality of cloud data centers, each cloud data center includes a plurality of servers, and each server includes a cloud service resource to provide a corresponding cloud service for a tenant. In this embodiment of this application, the cloud service resource may be a cloud database.

[0068] The cloud management platform 210 may be in a cloud data center, and provide an access interface (for example, an interface or an application programming interface (application programing interface, API)). The tenant may operate a remote access interface of the client 230 to register a cloud account and a password on the cloud management platform 210, and log in to the cloud management platform 210. After the cloud management platform 210 successfully authenticates the cloud account and the password, the tenant may further pay on the cloud management platform 210 to select and purchase a virtual machine with a specific specification (a processor, a memory, and a disk). After the payment and purchase are successful, the cloud management platform 210 provides a remote login account and password of the purchased virtual machine, and the client 230 may remotely log in to the virtual machine, and install and run an application of the tenant in the virtual machine. Therefore, the tenant may create, manage, log in to, and operate a virtual machine in the cloud data center via the cloud management platform 210.

[0069] Functions of the cloud management platform 210 include, but are not limited to, a tenant console, a computing management service, a network management service, a storage management service, an authentication service, and an image management service. The tenant console provides an interface or an API to interact with the tenant. The computing management service is used for managing servers and bare metal servers running a virtual machine and a container. The network management service is used for managing network services (such as gateways and firewalls). The storage management service is used for managing storage services (such as data bucket services). The authentication service is used for managing tenant accounts and passwords. The image management service is used for managing virtual machine images. The tenant may log in to the cloud management platform 210 using the client 230 over the internet 220, to manage a leased cloud service.

[0070] Currently, it becomes a mainstream trend to deploy containerized application programs by using a container orchestration service provided by cloud service providers. A user who uses the service needs to be responsible for managing a virtual cluster configuration (for example, acluster configuration includes a type and a quantity of nodes in a cluster) including one or more nodes, to ensure that a container can run normally on these nodes. Although there is already a tool for monitoring a cost of a cluster configuration in the existing solution, due to scalability, diversity, and dynamicity of user workloads, a selected cluster configuration cannot be quickly evaluated before being used on the cloud. Therefore, the user usually makes decisions based on historical experience, guessing, and trial-and-error. To avoid making poor choices, the user expects to evaluate a specific cluster configuration before using the cluster configuration. Therefore, a method for evaluating cluster configuration is required to better meet a requirement of the user and improve user experience.

[0071] In view of this, this application provides a method for evaluating cluster configuration.A cluster configuration and a historical time period that correspond to each cluster may be determined based on configuration information input by a tenant. Then, a historical sequence of the tenant in the historical time period is obtained based on the historical time period. A quantity of computing nodes corresponding to the cluster may be obtained based on a current cluster configuration and an execution status of the historical sequence. A cost corresponding to the cluster configuration may be evaluated based on a computing node type corresponding to the determined cluster configuration and the determined quantity of computing nodes. In addition, a predicted cost corresponding to the cluster is presented to the tenant. In this way, a requirement of a user can be better met, and service experience of the user is improved.

[0072] FIG. 3 is an example flowchart of a method for evaluating cluster configuration 300 according to this application. For example, the method may be performed by the cloud management platform 210 in a cloud service system in FIG. 2. The cloud service system includes a plurality of clusters, and each of the plurality of clusters includes at least one node. As shown in FIG. 3, the method includes the following steps.

[0073] 310: Receive configuration information from a tenant, where the configuration information indicates a cluster configuration corresponding to each cluster in at least one cluster and a historical time period of using the cloud service system by the tenant.

[0074] In this application, each cluster in the at least one cluster is a to-be-evaluated cluster.

[0075] The "cluster configuration" in this application may be understood as a computing node type corresponding to each cluster. It should be understood that generally, one cluster may include a plurality of computing node types.

[0076] In this application, a sequence of creating a pod and / or deleting a pod in a historical cluster by the tenant in the historical time period may be obtained from the cloud service system in the historical time period. It may also be understood that a workload sequence (that is, the historical sequence) of the tenant in the historical time period is stored in the cloud service system.For example, the historical cluster may be a cluster that has been used by the tenant before. For example, a service performed by the historical cluster is similar to a service performed by a cluster required by a current tenant. For example, the two services are both services for performing high- amount storage or for performing high-amount computing.

[0077] Specifically, this application proposes two scenarios for evaluating a cost of a cluster configuration. The following separately describes solutions provided in this application for each scenario.

[0078] Scenario 1

[0079] In this application, in a possible implementation, scenario 1 is applicable to a scenario in which a tenant has clearly known a cluster configuration that needs to be evaluated. In scenario 1, the configuration information may include at least one computing node model and at least one historical time period. Each cluster (that is, a to-be-evaluated cluster) in at least one cluster corresponds to at least one computing node model. It may also be understood that in this application, a cluster configuration corresponding to the cluster includes the at least one computing node model. In this application, each cluster corresponds to one historical time period. For example, for any cluster, the tenant may alternatively specify one or more historical time periods. It should be understood that generally, a cluster configuration of one cluster may include a plurality of computing node models. In this application, a quantity of specified historical time periods corresponding to each cluster is not limited.

[0080] In other words, in this scenario, the tenant has clearly known a specific cluster configuration corresponding to each cluster. For example, for cluster #1, the tenant may input a cluster configuration corresponding to cluster #1. For example, the configuration information includes: computing node model #al, computing node model #bl, computing node model #b2, and computing node model #cl . For another example, for cluster #2, the tenant may input a cluster configuration corresponding to cluster #2. For example, the configuration information includes: computing node model #a2, computing node model #b2, and computing node model #c2.

[0081] In addition, the configuration information further includes information about a historical time period input by the tenant. For example, the historical time period input by the tenant is 00:00 on January 1, 2020 to 00:00 on January 7, 2020. For another example, the historical time period input by the tenant may be "last month", "last week", "last two weeks", or the like. In this case, the cloud management platform may obtain a workload sequence of the tenant in the time period based on the information about the historical time period input by the tenant. The workload sequence may be a sequence of creating a pod and / or deleting a pod at each moment by the tenant. For example, if the historical time period input by the tenant is "last week", the cloud management platform may obtain a request of creating a pod and a request of deleting a pod in thelast week by the tenant.

[0082] In this application, the configuration information may further include at least one cluster autoscaler CA policy. Each cluster corresponds to the at least one CA policy. Each CA policy is a policy of creating a node and / or deleting a node. The method further includes: determining, based on the at least one computing node model corresponding to each cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster. For example, in scenario 1, the CA policy may be preferentially deleting a node with a low utilization rate from a node pool.

[0083] Optionally, in some scenarios, the tenant may alternatively pre-input an estimated quantity of computing nodes. For example, the tenant may input an estimated quantity corresponding to each computing node, to facilitate prediction for the cloud service system.

[0084] Specifically, specific steps of prediction in scenario 1 are as follows:

[0085] First, an initial quantity corresponding to each computing node is determined based on a computing node model, a historical sequence, and an algorithm for resolving a packing problem that are input by the tenant and that correspond to each to-be-evaluated cluster. For example, the algorithm may be an integer linear programming (integer linear programming, ILP) solver or a heuristic algorithm. An objective of determining the initial quantity of each computing node is to accommodate all pods running at the beginning of prediction and reduce cluster costs to a minimum.

[0086] Then, an order of arrival time of a request of creating a pod and a request of deleting a pod in the historical time period by the tenant may be obtained from the historical time period, and the pod creation and deletion requests are processed to reproduce a historical sequence of a workload. For example, all pod creation requests at a single moment are moved to a suspended pod list. Then, for each suspended pod, a pod scheduling policy is tried to schedule the existing computing node type. If a pod is successfully scheduled, the pos is deleted from the suspended pod list. If the suspended pod list is not empty (that is, the suspended pod list includes at least one pod), a CA algorithm is invoked to add a new computing node to the cluster, to accommodate all suspended pods.

[0087] In addition, when a pod deletion request is processed, only a resource of a computing node occupied by the pod needs to be released. In addition, during prediction, the CA policy is periodically invoked to perform a cluster scale-in operation, to delete nodes that are not used or not fully used.

[0088] In this application, a predicted cluster size and structure evolution are jointly determined by a decision made by a workload sequence, pod scheduling, and the CA algorithm.For example, for the pod scheduling and the CA algorithm, real pod scheduling and a real CA algorithm on the cloud may be used in this application. Therefore, the real CA algorithm on the cloud is also used in the CA policy. In this way, authenticity of a prediction result can be ensured, and a cluster cost finally output to the tenant may have reference value.

[0089] In this application, the pod scheduling policy may be understood as a policy of how to place a pod on a computing node. In this application, a pod scheduling policy is not limited, and a common pod scheduling policy in the conventional technology is used. For example, in a possible implementation, the pod creation request or a resource pod deletion request may be obtained from the historical sequence, that is, may be obtained by using the historical time period input by a tenant. In another possible implementation, the tenant may alternatively perform a pod adjustment process by using another solution, that is, obtain, through calculation based on historical data of pod resource utilization, an optimal size corresponding to the pod. This process is implemented by invoking another algorithm. The pod adjustment process causes a change in the workload sequence. An updated pod sequence replaces an original pod sequence and is used in the prediction process. However, the specific prediction process remains unchanged.

[0090] Finally, a cost of a cluster configuration corresponding to each cluster in the at least one cluster is determined. In the prediction process, a cluster cost at each moment is a sum of prices formed based on at least one computing node type in the cluster and a quantity of computing nodes corresponding to each computing node type. A total cost of a cluster configuration corresponding to the cluster is an accumulated cost in the prediction time period.

[0091] Based on the technical solution provided in this application, in scenario 1, the tenant may specify any cluster configuration, and perform evaluation by comparing a cost corresponding to the cluster configuration with a cost corresponding to a current cluster configuration. In this mode, a tenant who prefers to manually adjust a cluster configuration can easily estimate costs potentially saved when the cluster configuration is switched to another configuration, thereby meeting a requirement of a user and improving service experience of the user.

[0092] Scenario 2

[0093] Scenario 2 is applicable to a scenario in which a tenant only knows cluster configuration requirements and does not know a specific computing node model. In scenario 2, the configuration information includes at least one computing node series and at least one historical time period. Each of the at least one computing node series indicates a computing node type. Each cluster (that is, each to-be-evaluated cluster) in the at least one cluster corresponds to the at least one computing node series. The at least one historical time period is in one-to-one correspondence with the at least one cluster. In scenario 2, for each cluster, a tenant may specify one or more computing node series, the computing node series reflect a requirement of the tenant.

[0094] For example, it is assumed that the tenant knows that a requirement of the tenant for a cluster is a requirement for high-amount storage, a general computing-enhanced requirement, or the like. Based on the requirement, the tenant may specify a corresponding computing node series. It may also be understood that the tenant knows only a general requirement of the tenant. For example, the tenant knows that a cluster required by the tenant includes a large memory (for example, a ratio of the memory to a CPU reaches 5:2), or a cluster required by the tenant includes a large CPU (for example, a ratio of a memory to the CPU reaches 1 :6), but does not know a specific resource configuration between the memory and the CPU, or the tenant actually does not know a specific node model.

[0095] Specifically, specific steps of prediction in scenario 2 are as follows.

[0096] First, at least one computing node model corresponding to each cluster is determined in each computing node series based on a historical time period, a historical sequence, and a first algorithm.

[0097] As described above, in this application, a computing node type may be indicated by using the computing node model, or a computing node type may be indicated by using the computing node series. A computing node series may include one or more computing node models. Therefore, it may also be understood that a "computing node model" is fine-grained information indicating a node type, and a "computing node series" is coarse-grained information indicating a node model. In this application, each computing node series may include one or more computing node models.

[0098] In this application, the first algorithm is an algorithm used for resolving a packing problem.

[0099] Specifically, for example, several moments may be selected from the historical sequence based on a peak value of allocated resources. For each selected moment, information about a set of pods (that is, a created pod and / or a deleted pod) running at the moment is recorded. The following packing problem is resolved: A node set with a minimum total cost is found, and the following two conditions are satisfied: (1) All recorded pods may be loaded on these models of computing nodes. (2) A computing node model is included in a computing node series given by a user. For example, the problem is resolved by using an ILP solver or a heuristic algorithm, and an obtained result includes a used computing node model and a quantity of used computing nodes. Relative use frequency of different computing node models may be calculated by aggregating solution results at different moments. A first C computing node models are selected as candidate models based on this, where C is a parameter. According to the solution, several cluster configurations are generated based on an obtained candidate computing node model. A model combination of all possible computing nodes whose model size of a single candidate computingnode ranges from 2 to MIN (NT_MAX, NT_MAX_USER) may be included. NT_MAX is a parameter. The value may be a value set in an algorithm, and refers to a maximum quantity of computing node models. NT_MAX_USER may be set by a tenant, and refers to a maximum quantity of computing node models. If the tenant does not set a value of the parameter, the parameter may not be included. A candidate configuration including a plurality of computing node models may alternatively be generated by using different CA policies.

[0100] For example, it is assumed that five moments are selected from the historical time period, and a computing node model corresponding to each moment and a quantity of computing node models are separately calculated. It is assumed that ten computing node models are determined at the five moments in total, and then use frequency of the ten computing node models are sorted. It is assumed that some computing node models are used for ten times, some computing node models are used for eight times, and some computing node models are used twice, and so on. In this case, first five computing node models that are most frequently used may be filtered out. It is assumed that the five computing node models are computing node model #A1, computing node model #B1, computing node model #B2, computing node model #C1, and computing node model #D1. Different cluster configurations are generated by permutation and combination based on parameters NT MAX and / or NT_MAX_USER that are set. Assuming that NT_MAX_USER set by the tenant is 5, and NT_MAX set by the algorithm is 2, values of the five selected computing node models may be selected from 2 to 5 in sequence, to construct combinations of different computing node models. It may also be understood that the parameters "NT_MAX" and "NT_MAX_USER" indicate a quantity of signals of the computing node in each combination. For example, a possible combination of computing node models is computing node model #A1 and computing node model #B1. Another possible combination of computing node models is computing node model #A1, computing node model #B1, and computing node model #B2. Still another possible combination of computing node models may be computing node model #A1, computing node model #B1, computing node model #B2, computing node model #C1, and the like. In this case, a combination of computing node models corresponding to each cluster in scenario 1 may be predicted.

[0101] After the combination of computing node models corresponding to each cluster is determined, each step in scenario 1 may continue to be used for prediction, to determine a quantity of computing nodes corresponding to each computing node model. Therefore, for subsequent steps in scenario 2, refer to steps in scenario 1 for understanding. Details are not described again. In scenario 2, prediction needs to be performed once on each determined combination of computing node types (that is, a tenant with each computing node model performs each step in scenario 1 once).

[0102] Based on the technical solution provided in this application, in scenario 2, a recommended cluster configuration may be calculated by using the cloud service, for example, a used computing node series, a used computing node model, and a used quantity of nodes corresponding to the computing node model. The recommended cluster configuration is predicted, so that cluster costs can be optimized. This mode is applicable to a tenant who prefers a guided configuration adjustment solution. In this solution, a requirement of a user is met, and user experience is improved.

[0103] The foregoing technical solution may also be understood as follows: An execution status of a sequence is predicted based on a cluster configuration corresponding to each cluster. A quantity of computing nodes corresponding to each cluster configuration is determined. A cost corresponding to each cluster is determined based on the quantity of computing nodes and a computing node type corresponding to the cluster configuration. In other words, a cost corresponding to each cluster is determined based on at least one computing node type, and a quantity of computing nodes of each type. The quantity of computing nodes is obtained by predicting an execution status of a sequence based on a cluster configuration corresponding to each cluster. The computing node type is determined based on the cluster configuration.

[0104] 320: Display a prediction result to the tenant.

[0105] In this application, the prediction result presented by the cloud management platform to the tenant may include the following content: a total cluster cost corresponding to all of the at least one cluster, and a cost variation between clusters.

[0106] As described above, generally, a cost corresponding to a cluster is determined by a computing node type and a quantity of computing nodes in the cluster, and the like. Optionally, a maximum quantity corresponding to each computing node type and a minimum quantity corresponding to each computing node type may be output to the tenant.

[0107] For example, in this application, the prediction result presented to the tenant may be in the form of a graph, a table, or a text. It may also be understood that an interface is provided for the tenant, and the prediction result is displayed on the interface in the form of a graph, a table, or a text.

[0108] It should be noted that a cost of a cluster is determined based on a price corresponding to a computing node type used in each time unit, a quantity of nodes of the computing node type, total running duration of the nodes, and the like.

[0109] It may be understood that the term "and / or" in this specification is merely an association relationship of associated objects, and indicates that three relationships may exist. For example, A and / or B may indicate the following three cases: Only A exists, both A and B exist, and only B exists. In addition, the character " / " in this specification generally indicates an "or" relationshipbetween the associated objects.

[0110] A person skilled in the art should be able to be aware that units and algorithm steps of the examples described with reference to embodiments disclosed in this specification may be implemented by hardware or a combination of hardware and computer software in this application. Whether a function is performed by hardware or hardware driven by computer software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.

[0111] In embodiments of this application, the computing device may be divided into functional modules according to the foregoing method example. For example, each functional module may be obtained through division based on each corresponding function, or two or more functions may be integrated into one processing module. The integrated module may be implemented in the form of hardware, or may be implemented in a form of a software functional module. It should be noted that in embodiments of this application, module division is an example, and is merely a logical function division. In actual implementation, another division manner may be used. An example in which each functional module is obtained through division based on each corresponding function is used below for description.

[0112] FIG. 4 is a schematic block diagram of a computing device 600 according to an embodiment of this application. As shown in the figure, the computing device 600 may include a transceiver module 610 and an output module 630. Optionally, the device further includes a processing module 620.

[0113] The foregoing modules are configured to perform steps of the foregoing method. Details are not described herein again.

[0114] It should be further understood that the computing device 600 herein is embodied in a form of a functional unit. The term "unit" herein may refer to an application-specific integrated circuit (application-specific integrated circuit, ASIC), an electronic circuit, a processor (for example, a shared processor, a dedicated processor, or a group processor) configured to execute one or more software or firmware programs, a memory, a merged logic circuit, and / or another appropriate component that supports the described function.

[0115] The computing device 600 in each of the foregoing solutions has functions of implementing corresponding steps in the foregoing method 300. The functions may be implemented by hardware, or may be implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the foregoing functions. In addition, the determining unit may be a processing circuit.

[0116] In a possible implementation, the computing device 600 may be a communicationdevice that is used in the cloud management platform in the method 300. The device is configured to perform actions in the method 300.

[0117] In another possible implementation, the computing device 600 may be the cloud management platform in the foregoing method 300. The cloud management platform is configured to perform actions in the foregoing method 300.

[0118] It should be noted that the computing device in FIG. 4 may be the cloud management platform (or a communication device in the cloud management platform) in the foregoing method embodiment, or may be a chip or a chip system corresponding to the cloud management platform (or the communication device in the cloud management platform), for example, a system on chip (system on chip, SoC). The processing unit is a processor, a microprocessor, or an integrated circuit integrated on the chip. This is not limited herein.

[0119] FIG. 5 is a schematic block diagram of another computing device 700 according to an embodiment of this application. As shown in the figure, the device 700 includes at least one processor 720. The processor 720 is coupled to a memory, and is configured to execute instructions stored in the memory, to send a signal and / or receive a signal. Optionally, the device 700 further includes a memory 730, configured to store instructions. Optionally, the device 700 further includes a transceiver 710. The processor 720 controls the transceiver 710 to send a signal and / or receive a signal.

[0120] It should be understood that the processor 720 and the memory 730 may be combined into one processing device. The processor 720 is configured to execute program code stored in the memory 730 to implement the foregoing functions. During specific implementation, the memory 730 may alternatively be integrated into the processor 720, or may be independent of the processor 720.

[0121] It should be further understood that the transceiver 710 may include a transceiver (or referred to as a receiver machine) and a transmitter (or referred to as a transmitter machine). The transceiver may further include one or more antennas. The transceiver 710 may be a communication interface or an interface circuit.

[0122] Specifically, the processor 720 in the device 700 may correspond to the processing module 620 in the device 600. The transceiver 710 in the device 700 may correspond to the transceiver module 610 in the device 600.

[0123] In a solution, the device 700 is configured to implement steps corresponding to the communication device used in the cloud management platform in the foregoing method 300 in the embodiment.

[0124] In another solution, the device 700 is configured to implement steps corresponding to the cloud management platform in the foregoing method 300 in the embodiment.

[0125] For example, the processor 720 is configured to execute a computer program or instructions stored in the memory 730, to implement the steps in the foregoing method 300.

[0126] FIG. 6 is a schematic diagram of an architecture of a computing device cluster according to an embodiment of this application. The computing device cluster includes at least one computing device. The computing device may be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device may alternatively be a terminal device, such as a desktop computer, a notebook computer, or a smartphone. As shown in FIG. 6, the computing device cluster includes at least one computing device 800. A memory 830 in the one or more computing devices 800 in the computing device cluster may store a same instruction used for performing actions performed by the cloud management platform (or a communication device in the cloud management platform) in the foregoing method 300.

[0127] In some possible implementations, memories 830 in the one or more computing devices 800 in the computing device cluster may alternatively separately store some instructions used for performing actions performed by the cloud management platform (or a communication device in the cloud management platform) in the method 300 described in the foregoing embodiment. In other words, a combination of one or more computing devices 800 may jointly execute an instruction used for performing actions performed by the cloud management platform (or a communication device in the cloud management platform) described in the foregoing embodiment.

[0128] It should be noted that the memories 830 in different computing devices 800 in the computing device cluster may store different instructions that are respectively used for performing some functions of the computing device 800. In other words, instructions stored in the memories 830 in different computing devices 800 may implement functions of one or more of the transceiver module 810 and the processing module 820.

[0129] Alternatively, the memories 830 in different computing devices 800 in the computing device cluster may store different instructions that are respectively used for performing some functions of the cloud management platform (or a communication device in the cloud management platform) corresponding to the communication devices 600 and 700. In other words, instructions stored in the memories 830 in different computing devices 800 may implement functions of one or more of the transceiver module 610 and the processing module 620.

[0130] In some possible implementations, the one or more computing devices in the computing device cluster may be connected through a network. The network may be a wide area network, a local area network, or the like. FIG. 7 shows a possible implementation. As shown in FIG. 9, two computing devices 800A and 800B are connected by using a network. Specifically, communication interfaces in the computing devices are connected to the network.

[0131] It should be understood that functions of the computing device 800A shown in FIG. 9 may alternatively be completed by a plurality of computing devices 800. Similarly, functions of the computing device 800B may alternatively be completed by a plurality of computing devices 800.

[0132] In this embodiment, a computer program product including instructions is further provided. The computer program product may be software or a program product that includes the instructions and that can run on a computing device cluster or that is stored in any available medium. When the computer program product is run on the computing device cluster, the computing device cluster is enabled to perform the method provided above, or the computing device cluster is enabled to implement functions of the device provided above.

[0133] In this embodiment, a computer-readable storage medium is further provided. The computer-readable storage medium may be any usable medium that can be stored by a computing device, or a data storage device such as a data center including one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), a semiconductor medium (for example, a solid-state drive), or the like. The computer-readable storage medium includes instructions. When the instructions in the computer-readable storage medium are executed on the computing device, the computing device is enabled to perform the method provided above.

[0134] In this embodiment, a computer-readable storage medium is further provided. The computer-readable storage medium may be any usable medium that can be stored by a computing device, or a data storage device such as a data center including one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a DVD), a semiconductor medium (for example, a solid- state drive), or the like. The computer-readable storage medium includes instructions. When the instructions in the computer-readable storage medium are executed by a computing device cluster, the computing device cluster is enabled to perform the method provided above.

[0135] A person of ordinary skill in the art may be able to be aware that in combination with the examples described in embodiments disclosed in this specification, units and algorithm steps may be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraint conditions of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.

[0136] It may be clearly understood by a person skilled in the art that, for the purpose ofconvenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiments. Details are not described herein again.

[0137] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, division into the units is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented by using some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.

[0138] The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of embodiments.

[0139] In addition, functional units in embodiments of this application may be integrated into one processing unit, each of the units may exist alone physically, or two or more units are integrated into one unit.

[0140] When the functions are implemented in the form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer-readable storage medium. Based on such an understanding, the technical solutions of this application essentially, or the part contributing to the conventional technologies, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, or a network device) to perform all or some of the steps of the methods described in embodiments of this application. The foregoing storage medium includes any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk, or an optical disc.

[0141] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.

Claims

CLAIMSWhat is claimed is:

1. A method for evaluating cluster configuration, wherein the method is applied to a cloud management platform in a cloud service system, the cloud service system comprises a plurality of clusters, each of the plurality of clusters comprises at least one computing node, and the method comprises: receiving configuration information from a tenant, wherein the configuration information indicates a cluster configuration corresponding to each cluster in at least one cluster and a historical time period of using the cloud service system by the tenant, each cluster in the at least one cluster is a to-be-evaluated cluster, and the cluster configuration comprises at least one computing node type; and presenting a prediction result to the tenant, wherein the prediction result comprises a cost corresponding to each cluster in the at least one cluster, the cost corresponding to the cluster is determined based on the at least one computing node type comprised in the cluster configuration corresponding to each cluster, and a quantity of computing nodes of each type, the quantity of computing nodes of each type is obtained based on an execution status of a historical sequence corresponding to the cluster, and the historical sequence is a sequence of creating and / or deleting a service instance in the cloud service system by the tenant in the historical time period.

2. The method according to claim 1, wherein the configuration information comprises at least one computing node series and at least one historical time period, each of the at least one computing node series indicates a computing node type, each cluster in the at least one cluster corresponds to the at least one computing node series, and the at least one historical time period is in one-to-one correspondence with the at least one cluster.

3. The method according to claim 1 or 2, wherein the method further comprises: determining at least two moments in the historical time period, and determining a historical sequence corresponding to each of the at least two moments; and determining, in each computing node series based on the historical sequence corresponding to each moment and a first algorithm, at least one computing node model corresponding to each cluster in the at least one cluster, wherein the computing node series comprises the at least one computing node model, and the first algorithm is an algorithm used for resolving a packing problem.

4. The method according to claim 1, wherein the configuration information comprises at least one computing node model and at least one historical time period, each of the at least one computing node model indicates a computing node type, each cluster in the at least one cluster corresponds to the at least one computing node model, and the at least one historical time periodis in one-to-one correspondence with the at least one cluster.

5. The method according to claim 3 or 4, wherein the configuration information further comprises at least one cluster autoscaler CA policy, each cluster in the at least one cluster corresponds to the at least one CA policy, each of the at least one CA policy is a policy of creating a node and / or deleting a node in the cluster during prediction, and the method further comprises: predicting, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster.

6. The method according to claim 5, wherein the method further comprises: determining, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the historical sequence, and the first algorithm, an initial quantity of computing nodes corresponding to each of the at least one computing node model at a start moment of the historical time period; and the predicting, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster comprises: predicting, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, the initial quantity of computing nodes corresponding to each of the at least one computing node model at the start moment, and the execution status of the historical sequence, the quantity of computing nodes corresponding to the at least one computing node model in the cluster.

7. The method according to any one of claims 3 to 6, wherein the prediction result further comprises at least one of the following: a variation in costs for each cluster in the at least one cluster, a maximum quantity corresponding to each computing node type, and a minimum quantity corresponding to the computing node type.

8. A cloud management platform, wherein the cloud management platform is used in a cloud service system, the cloud service system comprises a plurality of clusters, each of the plurality of clusters comprises at least one computing node, and the cloud management platform comprises a transceiver module and an output module; the transceiver module is configured to receive configuration information from a tenant, wherein the configuration information indicates a cluster configuration corresponding to each cluster in at least one cluster and a historical time period of using the cloud service system by thetenant, each cluster in the at least one cluster is a to-be-evaluated cluster, and the cluster configuration comprises at least one computing node type; and the output module is configured to present a prediction result to the tenant, wherein the prediction result comprises a cost corresponding to each cluster in the at least one cluster, the cost corresponding to the cluster is determined based on the at least one computing node type comprised in the cluster configuration corresponding to each cluster, and a quantity of computing nodes of each type, the quantity of computing nodes of each type is obtained based on an execution status of a historical sequence corresponding to the cluster, and the historical sequence is a sequence of creating and / or deleting a service instance in the cloud service system by the tenant in the historical time period.

9. The cloud management platform according to claim 8, wherein the configuration information comprises at least one computing node series and at least one historical time period, each of the at least one computing node series indicates a computing node type, each cluster in the at least one cluster corresponds to the at least one computing node series, and the at least one historical time period is in one-to-one correspondence with the at least one cluster.

10. The cloud management platform according to claim 8 or 9, wherein the cloud management platform further comprises a processing module; the processing module is configured to: determine at least two moments in the historical time period, and determine a historical sequence corresponding to each of the at least two moments; and the processing module is configured to determine, in each computing node series based on the historical sequence corresponding to each moment and a first algorithm, at least one computing node model corresponding to each cluster in the at least one cluster, wherein the computing node series comprises the at least one computing node model, and the first algorithm is an algorithm used for resolving a packing problem.

11. The cloud management platform according to claim 8, wherein the configuration information comprises at least one computing node model and at least one historical time period, each of the at least one computing node model indicates a computing node type, each cluster in the at least one cluster corresponds to the at least one computing node model, and the at least one historical time period is in one-to-one correspondence with the at least one cluster.

12. The cloud management platform according to claim 10 or 11, wherein the configuration information further comprises at least one cluster autoscaler CA policy, each cluster in the at least one cluster corresponds to the at least one CA policy, each of the at least one CA policy is a policy of creating a node and / or deleting a node in the cluster during prediction; and the processing module is configured to predict, based on the at least one computing nodemodel corresponding to each cluster in the at least one cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster.

13. The cloud management platform according to claim 14, wherein the processing module is configured to predict, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the historical sequence, and the first algorithm, an initial quantity of computing nodes corresponding to each of the at least one computing node model at a start moment of the historical time period; and that the processing module is configured to predict, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, and the execution status of the historical sequence, a quantity of computing nodes corresponding to the at least one computing node model in the cluster comprises: the processing module is configured to predict, based on the at least one computing node model corresponding to each cluster in the at least one cluster, the at least one CA policy, the initial quantity of computing nodes corresponding to each of the at least one computing node model at the start moment, and the execution status of the historical sequence, the quantity of computing nodes corresponding to the at least one computing node model in the cluster.

14. The cloud management platform according to any one of claims 10 to 13, wherein the prediction result further comprises at least one of the following: a variation in costs for each cluster in the at least one cluster, a maximum quantity corresponding to each computing node type, and a minimum quantity corresponding to the computing node type.

15. A computing device cluster, comprising at least one computing device, wherein each computing device comprises a processor and a memory; and the processor in the at least one computing device is configured to execute instructions stored in the memory in the at least one computing device, so that the computing device cluster performs the method according to any one of claims 1 to 7.

16. A computer program product comprising instructions, wherein when the instructions are run by a computing device cluster, the computing device cluster is enabled to perform the method according to any one of claims 1 to 7.

17. A computer-readable storage medium, comprising computer program instructions, wherein when the computer program instructions are executed by a computing device cluster, the computing device cluster performs the method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Minimizing overhead of applications deployed in multi-clouds

    US20200177673A1

  • Automated Orchestration of Containers by Assessing Microservices

    US20220164186A1

  • RU2023128504A