Resource arrangement method based on cloud computing technology and cloud management platform
By determining the resource change collection and orchestration steps based on resource requests in the cloud management platform, and performing aggregate batch changes to the operations of the same type of resources, the reliability and efficiency problems of the resource orchestration system in high concurrency scenarios are solved, and more efficient and stable resource orchestration is achieved.
Patent Information
- Application Number
- CN202410622856.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-17
- Filing Date
- 2024-05-16
- Publication Date
- 2025-05-20
AI Technical Summary
When a large number of resources are deployed simultaneously, the resource orchestration system will put great pressure on the availability of downstream services, especially in high concurrency scenarios of the same resource, the reliability of the resource orchestration system will be greatly impacted, resulting in an increase in service response delay and a decrease in the overall system operation efficiency.
By determining the resource change collection and orchestration steps based on resource requests, aggregating the same operations of the same type of resources, batch changes of the aggregation unit are realized, changing the change efficiency is improved, and the complexity of repeated calls of the system is reduced.
It improves the efficiency and reliability of resource orchestration, reduces the response pressure to cloud resource interfaces, and improves the stability and orchestration efficiency of the system.
Smart Images

Figure CN120021205A_ABST
Abstract
Description
[0001] This application claims the priority of a Chinese patent application with the application number 202311544616.0 and the invention title "A Resource Orchestration Method and Device Based on Cloud Computing Technology" filed on November 17, 2023, the entire content of which is incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud computing technology, and in particular, to a resource orchestration method and a cloud management platform based on cloud computing technology. Background Art
[0003] With the increasing popularity of the Development&Operations (DevOps) model and the continuous promotion of enterprises' cloud adoption and cloud-native demands, more and more large users are starting to migrate their businesses to the cloud and using the Infrastructure as Code (IaC) model to manage their cloud resources to achieve a higher automation rate. Currently, in order to achieve the integration and automation of development, testing, deployment, and operation and maintenance, a powerful deployment system has been built in the prior art. In the deployment system, users can use resource templates to describe the target resource states of the cloud resources to be changed, and then the deployment system can perform resource changes on the resources in the deployment environment according to the obtained resource templates in accordance with the automation process.
[0004] However, in the case of simultaneous deployment of a large number of resources, the resource orchestration system will cause greater pressure on the availability of downstream services. Especially in the high-concurrency scenario for the same resource, the reliability of the resource orchestration system is greatly impacted, and at the same time, the service response latency increases due to resource contention, resulting in a reduction in the overall operating efficiency of the system. Summary of the Invention
[0005] This application provides a resource orchestration method and a cloud management platform based on cloud computing technology. By determining a resource change set and an orchestration step according to a resource request, and aggregating the same operations on the same type of resources, batch changes to the aggregation unit are realized, the change efficiency is improved, and the complexity of repeated system calls is reduced.
[0006] In a first aspect, the present application provides a resource orchestration method based on cloud computing technology. This method is applied to a cloud management platform, which is used to manage infrastructure, and cloud resources are running on this infrastructure. Specifically, the method includes the following steps: Obtain a resource request, where the resource request includes the target state of the target cloud resource. Further, the cloud management platform determines a resource change set according to the resource request. The resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed. Among them, the current state of the cloud resources to be changed is different from the target state, and the at least one operation is used to indicate that the cloud resource is adjusted from the current state to the target state. Then, the cloud management platform determines the orchestration steps according to the resource change set. At least one of the orchestration steps in the orchestration steps includes at least one orchestration unit. The orchestration unit includes multiple operations for the same type of cloud resources among the cloud resources to be changed, and each operation in the multiple operations for the same type of cloud resources among the cloud resources to be changed is the same. Thus, the cloud management platform orchestrates the cloud resources to be changed according to the orchestration steps. In the solution provided by the present application, the cloud management platform determines the resource change set based on the obtained resource request, and then determines the orchestration steps. It should be noted that one or more of the orchestration steps include orchestration units. The orchestration unit is the execution unit for the cloud management platform to perform cloud resource orchestration. When the cloud management platform simultaneously and parallelly orchestrates cloud resources, each orchestration unit is one path in the parallel execution. Among them, the orchestration unit includes multiple operations for the same type of cloud resources among the cloud resources to be changed, and each operation in the multiple operations for the same type of cloud resources among the cloud resources to be changed is the same. By aggregating multiple operations for the same type of cloud resources among the cloud resources to be changed, batch calls to the same Application Programming Interface (API) are realized, the number of calls to the same API interface is reduced, the response pressure on the cloud resource interface is alleviated, the system stability and reliability are improved, and the orchestration efficiency is increased.
[0007] In combination with the first aspect, in a possible implementation manner of the first aspect, determining the resource change set according to the resource request specifically includes the following steps: Determine the dependent cloud resources according to the resource request, where at least one of the dependent cloud resources depends on at least one of the target cloud resources. Then, determine the resource change set according to the set of dependent cloud resources. The resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed. Among them, the cloud resources to be changed include the target cloud resources and the dependent cloud resources.
[0008] In the solution provided by this application, the resource request may only include the target state of the target resource. When the target state of the target resource changes, the dependent cloud resources that run on the infrastructure and depend on the target resource also need to be changed and adjusted accordingly. By analyzing the resource request, the cloud management platform can determine both the dependent cloud resources and the target cloud resources at the same time, thereby determining all the cloud resources to be changed and improving the accuracy of orchestrating cloud resources.
[0009] Combined with the first aspect, in a possible implementation manner of the first aspect, before determining the orchestration steps according to the resource change set, the cloud management platform determines the dependency relationship between at least one operation for the cloud resources to be changed and other operations according to the resource change set. Based on this, when determining the orchestration steps according to the resource change set, specifically, according to the resource change set and the dependency relationship, determine the orchestration steps. The orchestration steps include a first orchestration step and a second orchestration step, where the first orchestration step is the step that is orchestrated before the second orchestration step.
[0010] In the solution provided by this application, in order to further determine the execution order of each step in the orchestration steps, it is necessary to parse the operations on the cloud resources to be changed and other operations to determine the dependency relationship between each operation, and then determine the execution order of the orchestration steps. Thus, by parsing the resource change set through the cloud management platform, the dependency relationship between at least one operation for the cloud resources to be changed and other operations is determined, and then the orchestration steps are determined according to the resource change set and the dependency relationship. The orchestration steps obtained based on this are more accurate, and the dependency relationships between cloud resources and between operations on cloud resources are considered, improving the system reliability and at the same time enhancing the high availability of the dependent cloud resources.
[0011] Combined with the first aspect, in a possible implementation manner of the first aspect, the cloud management platform manages a resource change template and obtains a resource request. Specifically, it obtains the resource request input by the user according to the resource change template, and the resource request includes the target state of the target cloud resource.
[0012] In the solution provided by this application, when the user needs to perform operations such as creating, deleting, and changing cloud resources, the user can edit or input a resource request through the resource change template provided by the cloud management platform. The cloud management platform determines the resource request through the content input by the user, and further determines the target cloud resource and the target state of the target cloud resource, which is beneficial to improving the accuracy and efficiency of determining the resource request.
[0013] Combined with the first aspect, in a possible implementation manner of the first aspect, the infrastructure stores the user's resource change history record. Specifically, the cloud management platform obtains the resource change history record and determines the resource request according to the resource change history record. The resource request includes the target state of the target cloud resource.
[0014] In the solution provided by this application, the cloud management platform can, according to the authorization of the user, store and obtain the historical change records of the user's resource operations. Exemplarily, the user deletes some cloud resources at the end of each month and creates some cloud resources at the beginning of each month. When the cloud management platform obtains the user's authorization, it can determine resource requests based on the user's resource change history records, thereby realizing cloud resource orchestration for a fixed period or corresponding usage records and improving the configurability of the system.
[0015] In combination with the first aspect, in a possible implementation manner of the first aspect, the cloud management platform also manages a concurrency policy. Among them, the concurrency policy is used to indicate the maximum number of orchestration units that can be executed in parallel in each orchestration step. The orchestration steps are determined according to the resource change set and the dependency relationship. Specifically, the cloud management platform determines the orchestration steps according to the resource change set, the dependency relationship, and the concurrency policy. And the orchestration steps include a first orchestration step and a second orchestration step. Among them, the maximum number of orchestration units indicated in parallel in the first orchestration step is the same as the maximum number of orchestration units executed in parallel in the second orchestration step.
[0016] In the solution provided by this application, the cloud management platform can manage the concurrency policy and the concurrency degree according to its own processing capacity or by receiving the configuration of the user. By managing the concurrency policy, the control of the number of orchestration units executed in parallel can be realized. When the system processing capacity decreases, the system reliability can be guaranteed by reducing the concurrency degree policy; when the system processing capacity is high, the cloud resource orchestration efficiency can be improved by the high concurrency degree policy, and the controllability of the orchestration efficiency can be realized.
[0017] In combination with the first aspect, in a possible implementation manner of the first aspect, after the cloud resource to be changed is orchestrated, the cloud management platform records the status information of the cloud resource to be changed.
[0018] In the solution provided by this application, after the cloud management platform completes the orchestration of the cloud resource to be changed, it is necessary to record the status information of the cloud resource to be changed. When there is a client access or request, it is necessary to provide this status information for the user to view, so as to realize the quick notification and information synchronization of the client.
[0019] In combination with the first aspect, in a possible implementation manner of the first aspect, before determining the resource change set according to the resource template, the cloud management platform determines the resource change set by obtaining the current state of the target cloud resource and according to the resource request and the current state of the target cloud resource. The resource change set includes the cloud resource to be changed and at least one operation on the cloud resource to be changed.
[0020] In the solution provided by this application, the cloud management platform can compare the current state of the target cloud resource with the target state of the target resource in the resource request, thereby determining the resource change set. For the method of obtaining the current state of the target cloud resource, it can query the current state of the target resource recorded, or query the current state of the corresponding target resource running in the infrastructure, and there is no limitation on this, so as to improve the accuracy and timeliness of resource state acquisition.
[0021] The second aspect or any implementation manner of the second aspect is implemented by the cloud management platform corresponding to the first aspect or any implementation manner of the first aspect. The descriptions in the first aspect or any implementation manner of the first aspect are applicable to the second aspect or any implementation manner of the second aspect, and will not be repeated here.
[0022] In a third aspect, this application provides a computing device cluster, including at least one computing device, and each computing device includes a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes the method of the first aspect and any implementation manner combined with the first aspect described above.
[0023] In a fourth aspect, this application provides a computer program product containing instructions. When the instructions are run by a computer device cluster, the computer device cluster executes the method of the first aspect and any implementation manner combined with the first aspect described above.
[0024] In a fifth aspect, this application provides a computer-readable storage medium, including computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method of the first aspect and any implementation manner combined with the first aspect described above. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 is a schematic diagram of an application scenario of a resource orchestration method based on cloud computing technology provided by an embodiment of this application;
[0026] Figure 2 is a schematic diagram of a cloud resource orchestration architecture provided by an embodiment of this application;
[0027] Figure 3 is a schematic flowchart of a resource orchestration method based on cloud computing technology provided by an embodiment of this application;
[0028] Figure 4 is another schematic flowchart of a resource orchestration method based on cloud computing technology provided by an embodiment of this application;
[0029] Figure 5It is another process schematic diagram of the resource orchestration method provided by the embodiments of the present application based on cloud computing technology;
[0030] Figure 6 It is another process schematic diagram of the resource orchestration method provided by the embodiments of the present application based on cloud computing technology;
[0031] Figure 7 It is a schematic diagram of status information of the resource orchestration method provided by the embodiments of the present application based on cloud computing technology;
[0032] Figure 8 It is a schematic diagram of the orchestration steps of the resource orchestration method provided by the embodiments of the present application based on cloud computing technology;
[0033] Figure 9 It is a schematic diagram of the structure of the cloud management platform provided by the embodiments of the present application;
[0034] Figure 10 It is a schematic diagram of the structure of a computing device provided by the embodiments of the present application;
[0035] Figure 11 It is a schematic diagram of the structure of a computing device cluster provided by the embodiments of the present application;
[0036] Figure 12 It is another schematic diagram of the structure of a computing device cluster provided by the embodiments of the present application;
[0037] Figure 13 It is another schematic diagram of the structure of a computing device cluster provided by the embodiments of the present application. Detailed implementation manners
[0038] The following clearly and completely describes the technical solutions in the embodiments of the present application with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all of the embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present application without creative efforts shall fall within the protection scope of the present application.
[0039] Referring to "embodiments" herein means that the specific features, structures, or characteristics described in connection with the embodiments can be included in at least one embodiment of the present application. The phrase appears in various places in the specification and does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.
[0040] References to "one embodiment" or "some embodiments" etc. described in this specification mean that a particular feature, structure, or characteristic described in connection with that embodiment is included in one or more embodiments of the present application. Thus, statements such as "in one embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily all refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized. The terms "comprising", "including", "having" and their variants all mean "including but not limited to", unless otherwise specifically emphasized.
[0041] First, the nouns appearing in this article are explained as follows:
[0042] Development and Operations (DevOps): DevOps is a culture and movement that integrates software development and operations. In the DevOps model, the development team and the operations team can be regarded as one team, rather than two "isolated" teams. Engineers from the development team and the operations team will cooperate with each other throughout the software life cycle (i.e., from development and testing to deployment and then to operation), and achieve a series of skills that are not limited to a single function.
[0043] Resource Orchestration Engine: The Resource Orchestration Engine, also known as the Target Resource Status Based Resource Formation Engine. Using the Resource Orchestration Engine, based on the target resource status described in the resource template (the target resource status in this application can be understood as the desired resource status), it can be determined which resources need to be changed, and the corresponding resource change order can be generated, so as to implement changes such as deployment, change, or deletion of resources according to this resource change order. The core ability of the Resource Orchestration Engine is to enable users not to pay attention to the specific steps to reach the target resource status, but only to describe the desired target resource status in the resource template.
[0044] Resource Template: The Resource Template can be understood as a text file or a set of files used to describe multiple target resource statuses. In practical applications, the resource template can be described using the syntax of a Domain Specific Language (DSL).
[0045] Resource Stack: A resource stack, also known as a resource stack, is a logical management object for users to manage physical and logical resources using a resource orchestration engine. In practical applications, a resource stack can be understood as a collection of multiple resources. During the process of resource change using a resource template or during a dry run, the resource stack can be used as the execution unit.
[0046] Resource Status: A data record used to record the status of all resources under a resource stack in a resource orchestration engine. It contains detailed information about all resources in the resource stack.
[0047] Targeted Resource Template: The targeted resource template refers to the targeted resource status when the expected change using the resource template ends. The core point is to describe what the target status is, rather than how to reach the target status through what process.
[0048] Application Programming Interface (API): It is a computing interface that defines the interactions between multiple software intermediaries, the types of calls or requests that can be made, how to make calls or send requests, the data formats to be used, the conventions to be followed, etc. Through some predefined functions, an application encapsulates its service capabilities into an API and opens it to users for invocation through an API gateway. An API includes basic information, the request paths and parameters of the front and back ends, and the request-related protocols.
[0049] Cloud Data Center: A data center that provides cloud resources, also known as infrastructure. The infrastructure includes multiple cloud data centers, each cloud data center includes multiple servers, and each server can provide computing, network, and storage resources.
[0050] Cloud Resource: A cloud resource can be an entity used by a user on a cloud platform. Exemplarily, it can be a cloud instance used to provide computing, network, or storage resources, including but not limited to, for example, Elastic Cloud Server (ECS), containers, Bare Metal Server (BMS), etc. It can also be a Virtual Private Cloud (VPC), a virtual machine, or a certain microservice application, or a high-level data model similar to a security policy, DNS record, etc.
[0051] User: The entity that uses cloud resources. A user can register an account with the cloud resource provider through a browser or other client. The cloud resource provider will record the accounts of different users, and isolate the cloud resources of different users based on the accounts.
[0052] Cloud management platform: A platform provided by the cloud resource provider for interacting with users. Users can register an account on the cloud management platform and use cloud resources with the account, thus becoming users of cloud resources. The cloud management platform is also used to manage the infrastructure and isolate the computing, network, and / or storage resources used by different users based on the accounts of different users. The cloud management platform is also used to call the corresponding cloud resources according to the instructions input by the users to meet the usage requirements of the users.
[0053] Region: The cloud resource provider sets up cloud data centers in regions located in different geographical locations. Cloud devices in cloud data centers between different regions need to communicate through a remote connection gateway.
[0054] The following introduces the application scenarios of the technical solutions provided in the embodiments of the present application:
[0055] Please refer to Figure 1 , such as Figure 1 shown, Figure 1 is a schematic diagram of an application scenario of a resource orchestration method based on cloud computing technology provided in the embodiments of the present application. Specifically:
[0056] Such as Figure 1 , the cloud management platform 20 is used to manage the infrastructure 1. The infrastructure 1 includes a cloud data center cluster set up in multiple regions. Exemplarily, the multiple regions include Region 10, Region 11, and Region 12. Each region is provided with a cloud data center cluster (not shown in the figure). Each cloud data center contains multiple cloud data centers. Exemplarily, the cloud data centers in Region 10 include Cloud Data Center 101, Cloud Data Center 102, and Cloud Data Center 103. The cloud data center cluster located in Region 11 includes Cloud Data Center 111, Cloud Data Center 112, and Cloud Data Center 113. The cloud data center cluster located in Region 12 includes Cloud Data Center 121, Cloud Data Center 122, and Cloud Data Center 123. Each cloud data center further includes multiple servers. Exemplarily, Data Center 101 includes Servers 1011, 1012...
[0057] Please continue to refer to Figure 1 , in Figure 1In this case, the cloud management platform 20 is used to manage the network infrastructure 1. Tenant A connects to the Internet through the client 21 and logs in to the cloud management platform 20 by logging in with the account bound to Tenant A that was previously registered in the cloud management platform 20. Tenant B connects to the Internet through the client 22 and logs in to the cloud management platform 20 by logging in with the account bound to Tenant B that was previously registered in the cloud management platform 20. The cloud management platform 20 provides a configuration interface. Tenant A accesses the configuration interface through the client 21 and enters a resource request 1 on the configuration interface according to the resource change template provided by the cloud management platform. Tenant B accesses the configuration interface through the client 22 and enters a resource request 2 on the configuration interface according to the resource change template provided by the cloud management platform. The cloud management platform 20 obtains the resource request 1 from the configuration interface and orchestrates the corresponding target cloud resources according to the resource request 1. Among them, Tenant A and Tenant B are users of the cloud management platform 20 provider.
[0058] For example, in the public cloud scenario, each cloud data center can be identified by an Availability Zone (AZ). Different availability zones correspond to different cloud data centers, and the cloud data centers can be set up in one or more computer rooms. In the private cloud scenario, the infrastructure is managed by the user, and the infrastructure includes at least one cloud data center. Each cloud data center includes at least one server, and cloud resources are running on the at least one server. In the hybrid cloud scenario, the infrastructure of the public cloud part is managed by the cloud management platform provided by the cloud resource provider, and the infrastructure of the private cloud part is managed by the user.
[0059] Exemplarily, the client 21 and the client 22 can be terminal devices such as mobile phones with Internet access functions, personal computers, personal digital assistants, thin clients, in-vehicle hosts, or other terminal devices with Internet access functions.
[0060] It should be noted that the public cloud application scenario is only one application scenario of the embodiments of the present application. The embodiments of the present application can also be applied to multiple scenarios such as hybrid clouds and private clouds, and the embodiments of the present application can also be implemented. This is not limited herein.
[0061] Please continue to refer to Figure 2 as Figure 2 shown, Figure 2 which is a schematic diagram of a cloud resource orchestration architecture provided by the embodiments of the present application. Specifically:
[0062] S201. The cloud management platform 20 obtains the resource request input by the user.
[0063] S202. The cloud management platform 20 parses the target cloud resources in the resource request to determine the cloud resources to be orchestrated.
[0064] S203. The cloud management platform 20 orchestrates the target cloud resources on the infrastructure and calls the corresponding API interface to perform a corresponding operation on the corresponding cloud resources.
[0065] S204. After the resource arrangement is completed, the cloud management platform records the final resource status.
[0066] From the above steps, it can be seen that the cloud management platform calls an API interface of the corresponding cloud resource based on the resource request input by the user to implement a corresponding operation. When the user inputs a large number of resource requests at the same time, the cloud management platform also needs to call a large number of corresponding API interfaces to implement the operation of the corresponding cloud resources. The massive API interface call requests input at the same time will greatly impact the availability of the corresponding cloud resources. In particular, some repeated operations on the same cloud resource will repeatedly call the same API interface, causing the API interface to bear a large call pressure in a short period of time, increasing the response delay, and thus affecting the stability and reliability of the entire system.
[0067] In order to solve the above problems, an embodiment of the present application provides a resource orchestration method based on cloud computing technology, which is applied to a cloud management platform. Specifically, the cloud management platform obtains a resource request, wherein the resource request includes the target state of the target cloud resource. Further, the cloud management platform determines a resource change set based on the resource request, and the resource change set includes the cloud resources to be changed and at least one operation for the cloud resources to be changed, wherein the current state of the cloud resources to be changed is different from the target state of the cloud resources to be changed, and at least one operation is used to instruct the cloud resources to adjust from the current state to the target state. Furthermore, the cloud management platform determines an orchestration step based on the resource change set, and at least one of the orchestration steps includes at least one orchestration unit, and the orchestration unit includes multiple operations for the same type of cloud resources in the cloud resources to be changed, and each of the multiple operations for the same type of cloud resources in the cloud resources to be changed is the same. Furthermore, the cloud management platform orchestrates the cloud resources to be changed according to the orchestration steps.
[0068] Thus, by aggregating multiple operations on the same type of cloud resources in the cloud resource change, batch calls to the same API interface are realized, the number of calls to the same API is reduced, the response pressure of the cloud resource interface is reduced, the system stability and reliability are improved, and the orchestration efficiency is improved.
[0069] Please continue to see Figure 3 , Figure 3 is a flow chart of a resource orchestration method based on cloud computing technology provided in an embodiment of the present application, combined with Figure 1 Describe, specifically:
[0070] S301. Obtain a resource request, where the resource request includes a target state of a target cloud resource.
[0071] The cloud management platform 20 obtains a resource request. The resource request can be directly input by the user through the configuration interface provided by the cloud management platform 20, or the cloud management platform 20 can provide a corresponding resource change template, and the user inputs the resource request according to the resource change template. The present invention does not limit this.
[0072] Among them, the resource request includes the target state of the target cloud resource. The target state can be the final state of the target resource expected by the user, or the intermediate state of the target cloud resource configured by the user at a certain stage.
[0073] It should be noted that the definition of the target state of the target cloud resource can be determined according to the user's custom configuration; or the cloud management platform can obtain the user's resource request according to the user's configuration habit with the user's authorization. Exemplarily, the user needs to delete some cloud resources at the end of each month and create some cloud resources at the beginning of each month. When the cloud management platform obtains the user's authorization, it can determine the resource request based on the user's resource change history record, thereby realizing the cloud resource orchestration for a fixed period or corresponding usage records and improving the configurability of the system.
[0074] S302. Determine a resource change set according to the resource request. The resource change set includes the cloud resources to be changed and at least one operation for the cloud resources to be changed.
[0075] The cloud management platform 20 determines a resource change set according to the resource request. Generally, the cloud management platform 20 can sequentially query the running status of the corresponding target cloud resources on the infrastructure based on the target cloud resources in the resource request, and compare the current status of the queried target cloud resources with the target state to obtain the resource change set and at least one operation for the cloud resources to be changed. The at least one operation can be creation, deletion, adjustment, etc.
[0076] In another embodiment, please refer to Figure 4 , Figure 4 which is another process schematic diagram of the resource orchestration method based on cloud computing technology provided by the embodiments of the present application. Specifically:
[0077] S401. Query the resource record information stored in the infrastructure. The resource record information includes the current state of the target cloud resource.
[0078] After obtaining the resource request, the cloud management platform 20 queries the resource record information stored in the infrastructure 1. The resource record information includes the current state of the target cloud resource.
[0079] S402. Determine a resource change set according to the resource request and the current state of the target cloud resource. The resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed.
[0080] The cloud management platform 20 compares the current state of the target cloud resource with the target state of the target cloud resource in the resource request to determine the cloud resources to be changed. By storing the current state of the target cloud resource in advance through the infrastructure 1 and updating it regularly, the cloud management platform can obtain the corresponding resource status information faster, improving the system processing efficiency.
[0081] Furthermore, when there is a dependency relationship between the cloud resources running on the infrastructure 1 and the target cloud resource in the resource request, the change of the target cloud resource state will also cause the dependent cloud resources that depend on the target resource to make adaptive changes to match the corresponding cloud resources, ensuring the normal operation of the cloud resources.
[0082] Based on this, the application embodiment further provides an example of obtaining all cloud resources to be changed. Please refer to Figure 5 , Figure 5 is another process schematic diagram of the resource orchestration method based on cloud computing technology provided by the application embodiment. Specifically:
[0083] S501. Determine the dependent cloud resources according to the resource request.
[0084] The cloud management platform 20 determines the dependent cloud resources that depend on the target cloud resource according to the target state of the target cloud resource included in the resource request. Among them, the dependent cloud resources can be other cloud resources running on the infrastructure 1, or the first target cloud resource on which the second target cloud resource in the target cloud resource depends.
[0085] S502. Determine the resource change set according to the dependent cloud resources.
[0086] The cloud management platform 20 determines the resource change set according to the dependent cloud resources. Thus, the cloud resources to be changed in the resource change set include not only the target cloud resources but also the dependent cloud resources. By determining all the cloud resources to be changed that need to be adjusted, in the case of processing cloud resource orchestration including dependent resources, the orchestration efficiency is greatly improved, avoiding repeated orchestration multiple times.
[0087] In another embodiment provided by the present application, the cloud management platform 20 may generate a Directed Acyclic Graph (DAG) model of a resource change set according to a resource request. Among them, the DAG model may be a model with cloud resources to be changed as nodes and dependencies between resources as associations. Through the DAG model, the cloud resources to be changed in the resource change set and at least one operation on the cloud resources to be changed can be determined in the form of nodes and associations, facilitating the determination of subsequent orchestration steps.
[0088] S303. Determine an orchestration step according to the resource change set. At least one step in the orchestration step includes at least one orchestration unit, and the orchestration unit includes multiple operations on the same type of cloud resources among the cloud resources to be changed.
[0089] The cloud management platform 20 determines an orchestration step according to the resource change set. Among them, at least one step in the orchestration step includes at least one orchestration unit, and the orchestration unit includes multiple operations on the same type of cloud resources among the cloud resources to be changed. Exemplarily, the cloud resources of the same type among the cloud resources to be changed may be cloud resources of the type Elastic Cloud Server (ECS), or microservice applications of the same type, etc. The embodiments of the present application do not limit this.
[0090] Furthermore, the unit constituting an orchestration step is an orchestration unit, and the orchestration unit is also an operation unit for the cloud management platform 20 to call the corresponding API interface for operation. In the method provided by the embodiments of the present application, during the process of the cloud management platform 20 determining the orchestration step according to the resource change set, multiple operations on the same type of cloud resources among the cloud resources to be changed are aggregated into one orchestration unit, and the orchestration unit may be an aggregation unit. Among them, each operation among the multiple operations is the same, or multiple operations on the same type of cloud resources can be implemented by calling one API interface. So that during the orchestration of the orchestration unit, only the corresponding API interface needs to be called once to complete the corresponding orchestration operation. Reducing the number of calls to the API interface and improving the efficiency of cloud resource orchestration.
[0091] In an embodiment provided by the present application, the orchestration unit includes multiple operations on the same type of cloud resources among the cloud resources to be changed or at least one operation on the cloud resources to be changed. Simply put, in addition to aggregating multiple operations on the same type of cloud resources among the cloud resources to be changed, the orchestration unit may also include at least one operation on the cloud resources to be changed. Among them, the at least one operation generally refers to that during the orchestration process, one or more API interfaces need to be called for the corresponding cloud resources to be changed.
[0092] To further achieve an accurate division of the orchestration step and the orchestration unit, the embodiments of the present application provide another embodiment. Please continue to refer toFigure 6 , Figure 6 It is another process schematic diagram of the resource orchestration method provided by the embodiments of the present application based on cloud computing technology. Specifically:
[0093] S601. Determine the dependency relationship between at least one operation for the cloud resources to be changed and other operations according to the resource change set.
[0094] The cloud management platform 20 determines the dependency relationship between at least one operation for the cloud resources to be changed and other operations according to the resource change set. Among them, the cloud resources to be changed include target cloud resources and dependent cloud resources. There are one or more operations for the cloud resources to be changed, and there is a certain dependency relationship.
[0095] Exemplarily, the cloud resources to be changed include a first virtual private cloud (VPC) and a first elastic cloud server (ECS). Among them, the first operation for the first VPC is creation, and the second operation for the first ECS is creation. Moreover, the first ECS depends on the first VPC, so the second operation depends on the first operation. Based on this, if there is a third operation for the first ECS, which is restart, then the third operation depends on the first operation.
[0096] Based on this, by determining the dependency relationship between at least one operation for the cloud resources to be changed and other operations, the cloud management platform 20 prepares for resource orchestration. Especially for the confirmation of the orchestration steps, it is necessary to rely on the dependency relationship and dependent resources to determine accurate and reliable orchestration steps and orchestration units.
[0097] S602. Determine the orchestration steps according to the resource change set and the dependency relationship.
[0098] In an embodiment provided by the present application, the cloud management platform 20 determines the orchestration steps according to the resource change set and the dependency relationship. Among them, the dependency relationship between at least one operation for the cloud resources to be changed and other operations has been determined in S601. Combining the cloud resources to be changed in the resource change set, the orchestration steps are further determined. Among them, at least one of the orchestration steps includes at least one orchestration unit. The orchestration unit includes multiple operations for the same type of cloud resources among the cloud resources to be changed, and each operation among the multiple operations for the same type of cloud resources is the same.
[0099] In an example of the embodiments of the present application, the cloud management platform 20 determines that at least one orchestration unit in at least one orchestration step is an aggregation unit according to the resource change set and the dependency relationship. Among them, there is no dependency relationship between the same type of cloud resources in the aggregation unit, and there is also no dependency relationship among the multiple operations. Moreover, each operation among the multiple operations is the same. Based on this, the operation that meets this condition is determined as the aggregation unit, and then this aggregation unit is an orchestration unit in the orchestration step.
[0100] The cloud management platform 20 also determines that at least one orchestration unit in at least one orchestration step is an independent unit according to the resource change set and the dependency relationship. Among them, at least one operation on the cloud resource to be changed in the independent unit does not depend on other operations, and the cloud resource to be changed also does not depend on other resources. Then, this independent unit is an orchestration unit in the orchestration step.
[0101] The cloud management platform 20 also determines that at least one orchestration unit in at least one orchestration step is a normal unit according to the resource change set and the dependency relationship. The normal unit includes at least one operation on the cloud resource to be changed, or among them, the operation depends on other operations on the cloud resource to be changed, or the cloud resource to be changed is a dependent resource. Then, this normal unit is an orchestration unit in the orchestration step.
[0102] Furthermore, the cloud management platform 20 determines the orchestration step according to the dependency relationship between the target resource and the dependent resource in the cloud resource to be changed and the dependency relationship between at least one operation on the cloud resource to be changed and other operations.
[0103] Exemplarily, the cloud management platform 20 determines that the first orchestration step includes a first orchestration unit, and the first orchestration unit is an independent unit; the second orchestration step includes a second orchestration unit, and the second orchestration unit is an aggregation unit; the third orchestration step includes a third orchestration unit, and the third orchestration unit is a normal unit. Among them, the operation in the normal unit depends on the operation in the aggregation unit, or the cloud resource in the normal unit depends on the cloud resource in the aggregation unit.
[0104] In another example, the cloud management platform 20 determines that the first orchestration step includes a first orchestration unit, and the first orchestration unit is an aggregation unit; the second orchestration step includes a second orchestration unit, and the second orchestration unit is an independent unit; the third orchestration step includes a third orchestration unit, and the third orchestration unit is a normal unit. Among them, the operation in the normal unit depends on the operation in the aggregation unit, or the cloud resource in the normal unit depends on the cloud resource in the aggregation unit.
[0105] In yet another example, the cloud management platform 20 determines that the first orchestration step includes a first orchestration unit, and the first orchestration unit is an aggregation unit; the second orchestration step includes a second orchestration unit, and the second orchestration unit is a normal unit; the third orchestration step includes a third orchestration unit, and the third orchestration unit is an independent unit. Among them, the operation in the normal unit depends on the operation in the aggregation unit, or the cloud resource in the normal unit depends on the cloud resource in the aggregation unit.
[0106] S602’. Determine the orchestration step according to the resource change set, the dependency relationship and the concurrency policy.
[0107] Another embodiment provided by this application is that the cloud management platform 20 manages a concurrency policy, which can be configured by the user or determined by the cloud management platform 20 according to the processing capacity of the system and the pressure status of the API interface to determine the maximum number of orchestration units that can be executed in parallel in each orchestration step, thereby achieving control over the parallel execution orchestration ability and improving the stability of the system.
[0108] Exemplarily, in combination with step S602, the cloud management platform 20 determines that the concurrency degree is 2 according to the API interface call response ability of the current overall system, that is, the number of paths for parallel execution of the corresponding orchestration units is 2. The cloud management platform 20 determines that the first orchestration step includes a first orchestration unit and a second orchestration unit according to the resource change set, the dependency relationship, and the concurrency policy, where the first orchestration unit is an aggregation unit and the second orchestration unit is an independent unit. The second orchestration step includes a third orchestration unit, and the third orchestration unit is a normal unit. Among them, the operations in the normal unit depend on the operations in the aggregation unit, or the cloud resources in the normal unit depend on the cloud resources in the aggregation unit. Furthermore, the cloud management platform 20 can execute the first orchestration unit and the second orchestration unit in parallel. After the previous execution is completed, the second orchestration step is continued.
[0109] It can be seen that the orchestration task that requires three orchestration steps during serialization can greatly improve the orchestration efficiency during the execution according to the parallel policy.
[0110] S304. Orchestrate the cloud resources to be changed according to the orchestration steps.
[0111] The cloud management platform 20 orchestrates the cloud resources to be changed according to the determined orchestration steps. For the normal units and independent units in the orchestration steps, the cloud management platform 20 calls the API interfaces of the corresponding orchestration units to complete the corresponding cloud resource changes. For the aggregation unit, the corresponding resource orchestration within the orchestration unit can be completed by means of a batch API interface (Batch API).
[0112] Please continue to refer to Figure 7 , Figure 7 which is a schematic diagram of the status information of a resource orchestration method based on cloud computing technology provided by an embodiment of this application. Specifically:
[0113] The cloud management platform 20 analyzes the status of the cloud resources after the orchestration. Especially after batch orchestration of the aggregation unit, the changed cloud resources are disassembled to restore the cloud resource granularity information defined in the resource template.
[0114] Exemplarily, after the cloud management platform 20 completes the orchestration of the cloud resources to be changed according to the orchestration steps, the infrastructure 1 feeds back the batch status according to the cloud resource change situation, including the resource names and corresponding statuses of the cloud resources of batch resource type A in the aggregation unit, and the resource names and corresponding statuses of the cloud resources of resource type B in the independent unit. The cloud management platform 20 parses the batch status information according to the single resource type status information defined in the resource template input by the user, obtains the cloud resources of corresponding resource type A and resource type B, as well as the corresponding cloud resource attributes, realizes one-to-one correspondence, and feeds back to the tenant.
[0115] Please continue to refer to Figure 8 , Figure 8 is a schematic diagram of an orchestration step of a resource orchestration method provided by an embodiment of the present application based on cloud computing technology. Specifically:
[0116] The cloud management platform 20 determines a resource change set according to a resource request. Among them, the cloud resources to be changed include 6 cloud resources of the same type (as Figure 8 shown, cloud resources with the same shape are cloud resources of the same type) and 12 operations for the cloud resources to be changed (the digital numbers shown in the figure are operations for the cloud resources to be changed). Specifically, the cloud resources to be changed targeted by operations 1 and 7 are the first type of cloud resources, the cloud resources to be changed targeted by operations 5, 8, and 9 are the second type of cloud resources, the cloud resources to be changed targeted by operations 2 and 4 are the third type of cloud resources, the cloud resources to be changed targeted by operation 6 are the fourth type of cloud resources, the cloud resources to be changed targeted by operations 3 and 10 are the fifth type of cloud resources, and the cloud resources to be changed targeted by operations 11 and 12 are the sixth type of cloud resources. It should be noted that for cloud resources of the same type, they can be the same cloud resource or different cloud resources, and the embodiments of the present application do not limit this.
[0117] Further, the cloud resources to be changed targeted by operation 3 depend on the cloud resources to be changed targeted by operation 4, operation 4 depends on operation 2, and the cloud resources to be changed targeted by operation 2 depend on the cloud resources to be changed targeted by operation 1; the cloud resources to be changed targeted by operation 5 depend on the cloud resources to be changed targeted by operation 1, the cloud resources to be changed targeted by operation 6 depend on the cloud resources to be changed targeted by operation 5, the cloud resources to be changed targeted by operation 11 depend on the cloud resources to be changed targeted by operation 6, and the cloud resources to be changed targeted by operation 8 depend on the cloud resources to be changed targeted by operation 7.
[0118] The cloud management platform 20 determines the orchestration steps according to the resource change set, as Figure 8As shown, the parallelism of this orchestration step is 2, that is, the number of paths of concurrently executable orchestration units is 2. Among them, the orchestration step includes Step 1, Step 2, Step 3, Step 4, and Step 5. Step 1 includes a first orchestration unit and a second orchestration unit. The first orchestration unit includes Operation 1 and Operation 7, and the second orchestration unit includes Operation 9. Among them, Operation 1 and Operation 7 are the same operation. The first orchestration unit is an aggregation unit, and the second orchestration unit has no dependencies and is an independent unit. Step 2 includes a third orchestration unit and a fourth orchestration unit. The third orchestration unit includes Operation 5 and Operation 8, and the fourth orchestration unit includes Operation 10. Among them, Operation 5 and Operation 8 are the same operation, and there is no dependency between Operation 5 and Operation 8. The first orchestration unit is an aggregation unit. At the same time, because the cloud resources to be changed targeted by Operation 5 depend on the cloud resources to be changed targeted by Operation 1, and the cloud resources to be changed targeted by Operation 8 depend on the cloud resources to be changed targeted by Operation 7, the third orchestration unit is also an ordinary unit that depends on the first orchestration unit, and the fourth orchestration unit has no dependencies and is an independent unit. Step 3 includes a fifth orchestration unit and a sixth orchestration unit. The fifth orchestration unit includes Operation 2. When the cloud resources to be changed targeted by Operation 2 depend on the cloud resources to be changed targeted by Operation 1, the fifth orchestration unit is an ordinary unit that depends on the first orchestration unit. The sixth orchestration unit includes Operation 6. When the cloud resources to be changed targeted by Operation 6 depend on the cloud resources to be changed targeted by Operation 5, the sixth orchestration unit is an ordinary unit that depends on the third orchestration unit. Step 4 includes a seventh orchestration unit and an eighth orchestration unit. Among them, the seventh orchestration unit includes Operation 4. When Operation 4 depends on Operation 2, the seventh orchestration unit is an ordinary unit that depends on the fifth orchestration unit. The eighth orchestration unit includes Operation 11 and Operation 12. When the cloud resources to be changed targeted by Operation 11 depend on the cloud resources to be changed targeted by Operation 6, and Operation 11 and Operation 12 are the same operation and there is no dependency between Operation 11 and Operation 12, the eighth orchestration unit is an aggregation unit and is also an ordinary unit that depends on the sixth orchestration unit. Step 5 includes a ninth orchestration unit. The ninth orchestration unit includes Operation 3. When the cloud resources to be changed targeted by Operation 3 depend on the cloud resources to be changed targeted by Operation 4, the ninth orchestration unit is an ordinary unit that depends on the seventh orchestration unit.
[0119] Based on this orchestration step, the cloud management platform 20 realizes the orchestration of the cloud resources to be changed according to the corresponding orchestration step.
[0120] Through the embodiments provided in this application, it is possible to complete the resource orchestration tasks for 6 types of cloud resources to be changed and 12 operations with only 5 concurrent orchestration steps and 9 orchestration units, greatly improving the resource orchestration efficiency, reducing the response pressure during the call of the API interface, and enhancing the system stability.
[0121] The embodiments of the present application also provide a cloud management platform. Please refer to the following Figure 9 , Figure 9 which is a schematic structural diagram of a cloud management platform provided by the embodiments of the present application. Specifically as follows:
[0122] An obtaining module 901, configured to obtain a resource request, where the resource request includes a target state of a target cloud resource;
[0123] A determining module 902, configured to determine a resource change set according to the resource request, where the resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed. Among them, the current state of the cloud resources to be changed is different from the target state of the cloud resources to be changed, and the at least one operation is used to indicate that the cloud resources are adjusted from the current state to the target state;
[0124] The determining module 902 is further configured to determine an orchestration step according to the resource change set. At least one orchestration step in the orchestration step includes at least one orchestration unit, and the orchestration unit includes multiple operations for the same type of cloud resources among the cloud resources to be changed, and each operation among the multiple operations for the same type of cloud resources among the cloud resources to be changed is the same;
[0125] An orchestration module 903, configured to orchestrate the cloud resources to be changed according to the orchestration step.
[0126] A recording module 904, configured to record the status information of the cloud resources to be changed after the cloud resources to be changed are orchestrated.
[0127] Among them, the obtaining module 901, the determining module 902, the orchestration module 903, and the recording module 904 can all be implemented by software or can be implemented by hardware. Exemplarily, next, taking the obtaining module 901 as an example, the implementation manner of the obtaining module 901 is introduced. Similarly, the implementation manners of the determining module 902, the orchestration module 903, and the recording module 904 can refer to the implementation manner of the obtaining module 901.
[0128] As an example of a software functional unit, the obtaining module 901 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above computing instance may be one or more. For example, the obtaining module 901 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers for running the code may be distributed in the same area or may be distributed in different areas. Further, the multiple hosts / virtual machines / containers for running the code may be distributed in the same availability zone or may be distributed in different availability zones, and each availability zone includes one data center or multiple geographically close data centers. Among them, generally, one area may include multiple availability zones.
[0129] As an example of a hardware functional unit, the obtaining module 901 may include at least one computing device, such as a server. Alternatively, the obtaining module 901 may also be a device implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). Among them, the above PLD may be implemented by a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0130] It should be noted that in other embodiments, the obtaining module 901 may be used to execute any step in the resource orchestration method based on cloud computing technology, the determining module 902 may be used to execute any step in the resource orchestration method based on cloud computing technology, the orchestration module 9034 may be used to execute any step in the resource orchestration method based on cloud computing technology, and the recording module 904 may be used to execute any step in the resource orchestration method based on cloud computing technology. The steps to be implemented by the obtaining module 901, the determining module 902, the orchestration module 903, and the recording module 904 can be specified as needed. By respectively implementing different steps in the resource orchestration method based on cloud computing technology through the obtaining module 901, the determining module 902, the orchestration module 903, and the recording module 904, all functions of the cloud management platform can be realized.
[0131] The above has elaborated in detail the method, cloud management platform, and system of the embodiments of the present application. To facilitate better implementation of the above solutions of the embodiments of the present application, correspondingly, the following also provides related devices for cooperating with the implementation of the above solutions.
[0132] The present application provides a computing device. Please refer to the following Figure 10 , Figure 10 which is a schematic structural diagram of a computing device provided by an embodiment of the present application. The computing device 900 includes: a bus 907, a processor 908, a memory 906, and a communication interface 909. The processor 908, the memory 906, and the communication interface 909 communicate with each other through the bus 907. The computing device 900 may be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 900.
[0133] The bus 907 can be a peripheral component interconnect (PCI) bus, an extended industry standard architecture (EISA) bus, or the like. The bus can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of representation, Figure 10 only one line is used to represent it in Figure 10 , but it does not mean that there is only one bus or one type of bus. The bus 907 can include a path for transmitting information between various components of the computing device 900 (for example, the memory 906, the processor 908, and the communication interface 909).
[0134] The processor 908 can include any one or more of processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0135] The memory 906 can include volatile memory, such as random access memory (RAM). The processor 908 can also include non-volatile memory, such as read-only memory (ROM), flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
[0136] The memory 906 stores executable program code, and the processor 908 executes the executable program code to respectively implement the functions of the acquisition module 901 and the determination module 902, thereby implementing a resource orchestration method based on cloud computing technology. That is, the memory 906 stores instructions for the cloud management platform to execute a resource orchestration method based on cloud computing technology.
[0137] The communication interface 909 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 900 and other devices or communication networks.
[0138] The embodiments of the present application also provide a computing device cluster. The computing device cluster includes at least one computing device. The computing device can 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 can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
[0139] Please refer to the following Figure 11 , Figure 11 which is a schematic structural diagram of the computing device cluster of the resource orchestration method based on cloud computing technology according to the embodiments of the present application. As Figure 11 shown, the computing device cluster includes at least one computing device 900. In the memory 906 of one or more computing devices 900 in the computing device cluster, the same cloud management platform for executing instructions of the resource orchestration method based on cloud computing technology can be stored.
[0140] In some possible implementation manners, one or more computing devices 900 in the computing device cluster can also be used to execute some instructions of the cloud management platform for executing the resource orchestration method based on cloud computing technology. In other words, a combination of one or more computing devices 900 can jointly execute the instructions of the cloud management platform for executing the resource orchestration method based on cloud computing technology.
[0141] It should be noted that the memories 906 in different computing devices 900 in the computing device cluster can store different instructions for executing some functions of the cloud management platform. That is, the instructions stored in the memories 906 of different computing devices 900 can implement the functions of one or more of the acquisition module 901, the determination module 902, the orchestration module 903, and the recording module 904.
[0142] In some possible implementation manners, the memories 906 of one or more computing devices 900 in the computing device cluster can also separately store some instructions for executing the resource orchestration method based on cloud computing technology. In other words, a combination of one or more computing devices 900 can jointly execute the instructions for executing the resource orchestration method based on cloud computing technology.
[0143] Please refer to the following Figure 12 , Figure 12 which is another schematic structural diagram of the computing device cluster of the resource orchestration method based on cloud computing technology according to the embodiments of the present application. As Figure 12As shown, two computing devices 900A and 900B are connected through a communication interface 909. Instructions for executing the acquisition module 901 and the recording module 904 are stored in the memory of the computing device 900A. Instructions for executing the functions of the determination module 902 and the orchestration module 903 are stored in the memory of the computing device 900B. In other words, the memories 906 of the computing devices 900A and 900B jointly store instructions for the cloud management platform to execute a resource orchestration method based on cloud computing technology.
[0144] Figure 12 The connection method between the computing device clusters shown can be considered that the resource orchestration method based on cloud computing technology provided in this application requires a large amount of data transmission for the acquisition module 901 and the recording module 904. Considering the amount of data transmission, in order to avoid overloading the computing device 900A, therefore, the functions of implementing the determination module 902 and the orchestration module 903 are handed over to the computing device 900B for execution.
[0145] It should be understood that Figure 12 the functions of the computing device 900A shown in can also be completed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be completed by multiple computing devices 900.
[0146] Please refer to the following Figure 13 , Figure 13 which is another structural schematic diagram of a computing device cluster for the resource orchestration method based on cloud computing technology in an embodiment of this application. In some possible implementation manners, one or more computing devices in the computing device cluster can be connected through a network. Among them, the network can be a wide area network or a local area network, etc. Figure 13 shows a possible implementation manner. As Figure 13 shown, two computing devices 900C and 900D are connected through a network. Specifically, they are connected to the network through the communication interfaces in each computing device. In this type of possible implementation manner, instructions for executing the acquisition module 901 and the recording module 904 are stored in the memory 906 of the computing device 900C. At the same time, instructions for executing the determination module 902 and the orchestration module 903 are stored in the memory 906 of the computing device 900D.
[0147] Figure 13 The connection method between the computing device clusters shown can be considered that the resource orchestration method based on cloud computing technology provided in this application requires a large amount of data transmission and needs to be connected through a network. The functions of executing the acquisition module 901 and the recording module 904 are relatively independent. In order to achieve the best storage and computing performance, therefore, the functions of implementing the determination module 902 and the orchestration module 903 are handed over to the computing device 900D for execution.
[0148] It should be understood that Figure 13 the functions of the computing device 900C shown in FIG. may also be completed by multiple computing devices 900. Similarly, the functions of the computing device 900D may also be completed by multiple computing devices 900.
[0149] In some possible implementations, parts of the instructions for executing the resource orchestration method based on cloud computing technology may also be stored separately in the memory 906 of one or more computing devices 900 in the computing device cluster. In other words, a combination of one or more computing devices 900 may jointly execute the instructions for executing the resource orchestration method based on cloud computing technology.
[0150] The embodiments of the present application also provide a computer program product containing instructions. The computer program product may be software or a program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computer device, it causes at least one computer device to execute the above-mentioned resource orchestration method applied to a cloud management platform based on cloud computing technology.
[0151] The embodiments of the present application also provide a computer-readable storage medium. The computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center containing one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive), etc. The computer-readable storage medium includes instructions that direct a computing device to execute the above-mentioned resource orchestration method applied to a cloud management platform based on cloud computing technology.
[0152] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. However, such modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.
[0153] Those skilled in the art can clearly understand that the specific working processes of the above-described systems, cloud management platforms, or units can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0154] As described above, this is only the specific implementation manner of the present application. However, the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
[0155] The embodiment of the present application also provides a computer program product containing instructions. The computer program product can be software or a program product containing instructions that can run on a computing device or be stored in any available medium. When the computer program product runs on at least one computer device, it causes at least one computer device to execute the above-mentioned resource orchestration method applied to the cloud management platform for executing based on cloud computing technology.
[0156] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid-state drive), etc. The computer-readable storage medium includes instructions that direct the computing device to execute the above-mentioned resource orchestration method applied to the cloud management platform for executing based on cloud computing technology.
[0157] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application and are not intended to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments or perform equivalent substitutions for some of the technical features. However, these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present application.
[0158] Those skilled in the art can clearly understand that the specific working processes of the above-described system, cloud management platform, or unit can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein.
[0159] As described above, this is only the specific implementation manner of the present application. However, the protection scope of the present application is not limited thereto. Any person skilled in the art within the technical scope disclosed by the present application can easily think of changes or substitutions, which should all be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A cloud resource orchestration method based on cloud computing technology, characterized in that: The method is applied to a cloud management platform, the cloud management platform is used to manage infrastructure, and cloud resources are running on the infrastructure. The method includes: Obtaining a resource request, wherein the resource request includes a target state of a target cloud resource; Determining a resource change set according to the resource request, the resource change set including a cloud resource to be changed and at least one operation for the cloud resource to be changed, wherein a current state of the cloud resource to be changed is different from a target state of the cloud resource to be changed, and the at least one operation is used to instruct the cloud resource to be adjusted from the current state to the target state; Determine an orchestration step according to the resource change set, at least one of the orchestration steps includes at least one orchestration unit, the orchestration unit includes multiple operations for the same type of cloud resources in the to-be-changed cloud resources, and each of the multiple operations for the same type of cloud resources in the to-be-changed cloud resources is the same; The cloud resources to be changed are orchestrated according to the orchestration steps.
2. The method according to claim 1, characterized in that The determining of a resource change set according to the resource request comprises: determining dependent cloud resources according to the resource request, wherein at least one of the dependent cloud resources is dependent on at least one of the target cloud resources; A resource change set is determined according to the dependent cloud resources, wherein the resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed, wherein the cloud resources to be changed include the target cloud resources and the dependent cloud resources.
3. The method according to claim 1 or 2, characterized in that: Before determining the orchestration step according to the resource change set, the method further includes: Determining the dependency relationship between at least one operation on the to-be-changed cloud resource and other operations according to the resource change set; the step of determining the orchestration according to the resource change set includes: The orchestration step is determined according to the resource change set and the dependency relationship, and the orchestration step includes a first orchestration step and a second orchestration step, wherein the first orchestration step is a step that is orchestrated before the second orchestration step.
4. The method according to any one of claims 1 to 3, characterized in that: The cloud management platform manages a resource change template, and the resource request acquisition includes: A resource request input by a user according to the resource change template is obtained, where the resource request includes a target state of a target cloud resource.
5. The method according to any one of claims 1 to 4, characterized in that: The infrastructure stores the resource change history of the user, and the resource acquisition request includes: Obtain the resource change history record; The resource request is determined according to the resource change history record, and the resource request includes a target state of a target cloud resource.
6. The method according to any one of claims 1 to 5, characterized in that: The cloud management platform further manages a concurrency strategy, which is used to indicate the maximum number of orchestration units supported to be executed in parallel in each orchestration step. The determining of the orchestration step according to the resource change set and the dependency relationship includes: The orchestration step is determined according to the resource change set, the dependency relationship, and the concurrency strategy, wherein the orchestration step includes the first orchestration step and the second orchestration step, wherein a maximum number of orchestration units executed in parallel in the first orchestration step is the same as a maximum number of orchestration units executed in parallel in the second orchestration step.
7. The method according to any one of claims 1 to 6, characterized in that The method further comprises: When the arrangement of the cloud resources to be changed is completed, the state information of the cloud resources to be changed is recorded.
8. The method according to any one of claims 1 to 7, characterized in that Before determining a resource change set according to the resource template, the method further includes: Obtaining the current status of the target cloud resource; The determining of a resource change set according to the resource request comprises: The resource change set is determined according to the resource request and the current state of the target cloud resource, wherein the resource change set includes the cloud resource to be changed and at least one operation for the cloud resource to be changed.
9. A cloud management platform, characterized in that: The cloud management platform is used to manage infrastructure, on which cloud resources run, and the cloud management platform includes: An acquisition module, the acquisition module is used to acquire a resource request, the resource request includes a target state of a target cloud resource; a determination module, the determination module being used to determine a resource change set according to the resource request, the resource change set comprising a cloud resource to be changed and at least one operation for the cloud resource to be changed, wherein a current state of the cloud resource to be changed is different from a target state of the cloud resource to be changed, and the at least one operation is used to instruct the cloud resource to adjust from the current state to the target state; The determining module is further configured to determine an orchestration step according to the resource change set, wherein at least one of the orchestration steps includes at least one orchestration unit, and the orchestration unit includes multiple operations for the same type of cloud resources in the to-be-changed cloud resources, and each of the multiple operations for the same type of cloud resources in the to-be-changed cloud resources is the same; An orchestration module, the orchestration module is used to orchestrate the cloud resources to be changed according to the orchestration steps.
10. The cloud management platform according to claim 9, characterized in that: The resource change set is determined according to the resource request, then: The determination module is specifically configured to determine dependent cloud resources according to the resource request, wherein at least one cloud resource among the dependent cloud resources depends on at least one cloud resource among the target cloud resources; The determination module is further used to determine a resource change set based on the dependent cloud resource set, wherein the resource change set includes cloud resources to be changed and at least one operation for the cloud resources to be changed, wherein the cloud resources to be changed include the target cloud resources and the dependent cloud resources.
11. The cloud management platform according to claim 9 or 10, characterized in that: Before determining the orchestration steps according to the resource change set, then: The determination module is further configured to determine, according to the resource change set, a dependency relationship between at least one operation on the to-be-changed cloud resource and other operations; the orchestration step is determined according to the resource change set, then: The determination module is specifically used to determine the orchestration step according to the resource change set and the dependency relationship, and the orchestration step includes a first orchestration step and a second orchestration step, wherein the first orchestration step is an orchestration step that precedes the second orchestration step.
12. The cloud management platform according to any one of claims 9 to 11, characterized in that: The cloud management platform manages resource change templates, then: The acquisition module is specifically used to acquire a resource request input by a user according to the resource change template, and the resource request includes a target state of a target cloud resource.
13. The cloud management platform according to any one of claims 9 to 12, characterized in that: The infrastructure stores the resource change history of the user, then: The acquisition module is specifically used to acquire the resource change history record of the user; The determination module is further configured to determine the resource request according to the resource change history record, wherein the resource request includes a target state of a target cloud resource.
14. The cloud management platform according to any one of claims 9 to 13, characterized in that: The cloud management platform also manages a concurrency strategy, which is used to indicate the maximum number of orchestration units supported for parallel execution in each orchestration step. The orchestration step is determined according to the resource change set and the dependency relationship. Then: The determination module is specifically used to determine the orchestration step according to the resource change set, the dependency relationship and the concurrency strategy, the orchestration step including the first orchestration step and the second orchestration step, wherein the maximum number of parallel indication orchestration units in the first orchestration step is the same as the maximum number of parallel execution orchestration units in the second orchestration step.
15. The cloud management platform according to any one of claims 9 to 14, characterized in that: The cloud management platform also includes: A recording module is used to record the status information of the cloud resources to be changed after the orchestration of the cloud resources to be changed is completed.
16. The cloud management platform according to any one of claims 9 to 15, characterized in that: Before determining the resource change set according to the resource template, the acquisition module is further used to: Obtaining the current status of the target cloud resource; The resource change set is determined according to the resource request, then: The determining module is specifically used to determine the resource change set according to the resource request and the current state of the target cloud resource, and the resource change set includes the cloud resource to be changed and at least one operation for the cloud resource to be changed.
17. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1 to 8.
18. A computer program product comprising instructions, characterized in that When the instructions are executed by a computer device cluster, the computer device cluster is caused to perform the method according to any one of claims 1 to 8.
19. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and 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 8.