Service deployment method, cloud management platform, and related device
By determining the resource deployment strategy according to the number of business configuration information and business copies on the cloud management platform, ensure that each user group is carried by at least two business units, solving the problem of poor disaster recovery capacity in the existing technology unit failure, and realizing Higher disaster capacity and business usability.
Patent Information
- Application Number
- PCT/CN2024/077469
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-17
- Filing Date
- 2024-02-18
- Publication Date
- 2025-01-30
AI Technical Summary
In the prior art, business units are prone to failure when encountering overload or DDOS attacks, resulting in the inability to use the service by corresponding multiple users and poor disaster recovery capabilities.
Provide a business deployment method. Through the cloud management platform, the resource deployment strategy is determined according to the number of business configuration information and business copy of the target business entered by the tenant input to ensure that each user group is carried by at least two business units to improve the disaster capacity.
Effectively improved the disaster recovery capacity of the target business, and ensure that even if a business unit fails, users can still obtain services from other business units to avoid user service interruption caused by business unit failures.
Smart Images

Figure CN2024077469_30012025_PF_FP_ABST
Abstract
Description
Business deployment method, cloud management platform and related devices
[0001] This application claims priority to Chinese patent application No. 202310911636.0 filed on July 24, 2023, with the invention name “A method, device and system for architecture partitioning”, and claims priority to Chinese patent application No. 202311541864.X filed on November 17, 2023, with the invention name “Business deployment method, cloud management platform and related devices”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of cloud computing technology, and in particular to a service deployment method, a cloud management platform, and related devices. Background Art
[0003] With the continuous development of information technology, especially the advancement of internet technology, large government, enterprises, and financial institutions have begun to build their own data centers to meet their business resource needs. Since simply adding physical equipment to build data centers is extremely expensive, cloud computing has emerged. Cloud service providers can use cloud computing technology to build a cloud platform, which includes a cloud management platform and cloud infrastructure. The cloud management platform manages the cloud infrastructure, and the cloud infrastructure includes at least one cloud data center, where tenants can deploy their services.
[0004] In related technologies, to ensure service availability, tenants need to deploy multiple independent business units with the same functionality in at least one cloud data center. Each business unit should have complete service capabilities. This way, upon receiving a service request, it is routed to the appropriate business unit for processing according to predefined rules. For example, a user's service request can be routed to the appropriate business unit for processing based on the corresponding relationship between the service's users and the business units.
[0005] However, a business unit may correspond to multiple users. If the business unit fails due to overload or distributed denial of service (DDOS) attack, multiple users corresponding to the business unit will be unable to use the service, making the disaster recovery capability of the service poor.
[0006] Summary of the Invention
[0007] This application provides a service deployment method, cloud management platform, and related devices that can solve the problem of poor service disaster recovery capabilities in related technologies. The technical solution is as follows:
[0008] In a first aspect, a service deployment method is provided, which is applied to a cloud management platform, wherein the cloud management platform is used to manage cloud infrastructure, wherein the cloud infrastructure includes at least one cloud data center, and the at least one cloud data center is deployed with multiple service units. The method includes:
[0009] A configuration interface is provided, wherein the configuration interface is used to instruct the tenant to input business configuration information of the target business to be deployed, and the business configuration information is used to configure the target business; the business configuration information is obtained from the configuration interface; based on the business configuration information and the number of business copies, a resource deployment strategy for the target business is determined, and according to the resource deployment strategy, the target business is deployed on the multiple business units, wherein the resource deployment strategy indicates that one of the business units carries at least one user group of the tenant, and each Rf of the business units carries a business copy of the same user group, Rf is the number of business copies, and Rf≥2.
[0010] The present application can determine the resource deployment strategy of the target business based on the business configuration information and the number of business copies of the target business input by the tenant, and then deploy the target business on multiple business units according to the resource deployment strategy. Since the number of business copies is greater than or equal to 2, the resource deployment strategy indicates that one business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group, where Rf is the number of business copies. In other words, the business unit can provide services for at least one user group of the tenant, and each user group can be carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding business from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method provided by the present application can effectively improve the disaster recovery capability of the target business.
[0011] The cloud management platform can instruct the tenant to input the business configuration information of the target business to be deployed by providing a configuration interface, and the tenant can then input the business configuration information of the target business in the configuration interface.
[0012] Optionally, the business configuration information includes one or more of the minimum number of startup nodes of the microservice, the minimum startup specification of the microservice, the maximum amount of resources, the business performance parameters, the maximum explosion radius, and the performance baseline of the microservice. The maximum amount of resources indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the correspondence between the startup specification of the microservice, the number of startup nodes and the performance parameters.
[0013] Optionally, the configuration interface is also used to instruct the tenant to enter the number of business copies, so that the tenant can enter the number of business copies in the configuration interface. For any user group of the tenant, the number of business copies is the number of business units that the tenant expects to carry the user group, and the number of business copies is greater than or equal to 2.
[0014] In the present application, the business unit can provide services to at least one user group of the tenant, and each user group is carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding service from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method of the present application can effectively improve the disaster recovery capability of the target business.
[0015] Optionally, the resource deployment strategy indicates that Rf service copies of the user group are each deployed on an independent service unit, and each Rf service unit carries at most one service copy of the same user group.
[0016] The fact that each of the Rf service units carries at most one service copy of the same user group can also be understood as that only one service copy corresponding to the same user group is deployed on any of the Rf service units.
[0017] Since each Rf business unit carries at most one service copy of the same user group, for any user group of a tenant, if any business unit carrying that user group fails, that user group can still obtain corresponding services from other business units. Only if all business units carrying that user group fail will that user group be unable to obtain services, thus affecting the normal operation of the target business. Since other user groups carried by the business unit carrying that user group are also carried by other business units, even if all business units carrying that user group fail, these other user groups can still obtain services from other business units.
[0018] Optionally, the resource deployment strategy includes the number of service units used to provide the target service and the deployment specifications of the service units, where the specifications and performance of the service units used to provide the target service are identical. In this case, the implementation process of determining the resource deployment strategy for the target service based on the service configuration information and the number of service replicas includes: determining the number of service units used to provide the target service and the deployment specifications of the service units based on the service configuration information and the number of service replicas, in accordance with resource deployment constraints.
[0019] Among them, the resource deployment constraints include one or more of the minimum number of startup nodes of the microservice, the minimum startup specifications of the microservice, the maximum resource amount, the business performance parameters, the maximum explosion radius, the number of business copies, and the performance baseline of the microservice. The maximum resource amount indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the correspondence between the startup specifications of the microservice, the number of startup nodes and the performance parameters.
[0020] Since the maximum amount of resources indicates the upper limit of the resources that can be occupied by the target business, the business performance parameter indicates the lower limit of the performance of the target business, and the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, the resource deployment constraint can ensure that the resources occupied by the target business do not exceed the maximum amount of resources, while ensuring that the performance of the target business is not lower than the business performance parameter, and that the disaster recovery capability of the target business is better than or equal to the disaster recovery capability indicated by the maximum explosion radius. In other words, under the constraints of the resource deployment constraint, the resource deployment strategy of the target business determined by the present application can take into account the business performance, disaster recovery capability and resource cost of the target business, so that the target business can have a smaller explosion radius and better performance than the related technology when the maximum amount of resources remains unchanged.
[0021] Optionally, based on the business configuration information and the number of business copies of the target business, and in accordance with resource deployment constraints, multiple candidate resource deployment strategies are determined, and the candidate resource deployment strategies include a candidate number of business units and candidate deployment specifications of the business units; one candidate resource deployment strategy is selected from the multiple candidate resource deployment strategies, and the candidate number of business units and candidate deployment specifications included in the selected candidate resource deployment strategy are used as the number and deployment specifications of business units included in the resource deployment strategy of the target business.
[0022] Optionally, the candidate deployment specification includes the number of startup nodes and startup specifications corresponding to at least one microservice for providing the target business in the business unit, and the resource deployment constraint satisfies the following inequality:
[0023] In the above inequality, i refers to the i-th microservice, and the min num i Refers to the minimum number of startup nodes for the i-th microservice, num i Refers to the number of startup nodes of the i-th microservice in the candidate deployment specification, min s i refers to the minimum startup specification of the i-th microservice, s irefers to the startup specification of the i-th microservice in the candidate deployment specification, S refers to the maximum resource amount, n refers to the number of at least one microservice in the business unit, N refers to the number of candidates for the business unit, mint(j) refers to the minimum performance parameter corresponding to the startup specification and the number of startup nodes of the j-th microservice in the candidate deployment specification, T refers to the business performance parameter, B refers to the maximum explosion radius, Rf refers to the number of business replicas, X i It refers to the performance baseline of the i-th microservice.
[0024] When the startup specifications of a microservice include computing resource specifications, memory resource specifications, and maximum hard disk resource specifications, the minimum startup specifications include minimum computing resource specifications, minimum memory resource specifications, and minimum hard disk resource specifications, and the maximum resource quantity includes maximum computing resource quantity, maximum memory resource quantity, and maximum hard disk resource quantity, min s in the above inequality is i ≤s i It means that the minimum computing resource specification of the i-th microservice is less than or equal to the computing resource specification of the i-th microservice in the candidate deployment specification, the minimum memory resource specification of the i-th microservice is less than or equal to the memory resource specification of the i-th microservice in the candidate deployment specification, and the minimum disk resource specification of the i-th microservice is less than or equal to the disk resource specification of the i-th microservice in the candidate deployment specification.
[0025] Similarly, in the above inequality, s i num i ≤S means that the product of the computing resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum computing resource amount, the product of the memory resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum memory resource amount, and the product of the disk resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum disk resource amount.
[0026] For any candidate deployment specification, the candidate deployment specification includes the number of startup nodes and startup specifications corresponding to each microservice in the business unit. Since the startup specifications and number of startup nodes of a microservice correspond to performance parameters, each microservice also corresponds to corresponding performance parameters. For a business unit, the performance of the business unit is actually determined by the microservice with the smallest performance parameters in the business unit. Therefore, if the performance parameters of the microservice with the smallest performance parameters in the business unit are greater than or equal to T / N, it can be guaranteed that the sum of the performance of the N business units (i.e., the performance of the target business) is not lower than the business performance parameter (T).
[0027] It should be noted that the number of the above business copies is not greater than the number of business units.
[0028] Optionally, the service configuration information includes a blast radius weight and a resource weight. In this case, a candidate resource deployment strategy may be selected from a plurality of candidate resource deployment strategies based on the blast radius weight and the resource weight.
[0029] Optionally, based on the explosion radius weight and resource weight, the qth candidate resource deployment strategy can be selected from multiple candidate resource deployment strategies as the resource deployment strategy for the target business, and the qth candidate resource deployment strategy satisfies the following formulas (1)-(3). min(α1A q +α2R q ) q∈1,…,z (1)
[0030] In the above formulas (1)-(3), min() refers to the minimum value in the brackets, α1 refers to the resource weight, α2 refers to the explosion radius weight, z refers to the number of candidate resource deployment strategies, q refers to the qth candidate resource deployment strategy among multiple candidate resource deployment strategies. f() refers to normalizing the numbers in the brackets, qN refers to the number of candidates for the business unit in the qth candidate resource deployment strategy, s qi Refers to the startup specification of the i-th microservice in the q-th candidate resource deployment strategy, num qi It refers to the number of startup nodes of the i-th microservice in the q-th candidate resource deployment strategy, n refers to the number of the at least one microservice in the business unit, and Rf refers to the number of business replicas.
[0031] In actual applications, after determining the resource deployment strategy of the target business based on the business configuration information and the number of business copies of the target business, the cloud management platform can also display a business deployment suggestion interface, which is used to display the resource deployment strategy of the target business.
[0032] Optionally, the business deployment recommendation interface is also used to display at least one of resource consumption and actual explosion radius, wherein the resource consumption indicates the amount of resources occupied by the resource deployment strategy of the target business, and the actual explosion radius indicates the disaster recovery capability of the target business deployed based on the resource deployment strategy of the target business.
[0033] Optionally, the business deployment recommendation interface is also used to instruct the tenant to trigger a business deployment request. Before deploying the target business on multiple business units in accordance with the resource deployment strategy, the cloud management platform can also receive the business deployment request. The business deployment request is used to instruct the cloud management platform to deploy the target business in accordance with the resource deployment strategy displayed on the business deployment recommendation interface.
[0034] That is to say, after displaying the resource deployment strategy of the target business, the tenant can also trigger a business deployment request in the business deployment suggestion interface, and the cloud management platform can also receive the business deployment request triggered by the tenant, thereby deploying the target business on multiple business units according to the resource deployment strategy.
[0035] In actual applications, the business configuration information also includes user feature information. In this case, the cloud management platform can also obtain user feature information. The user feature information is feature information of multiple users in the tenant's user group. The feature information includes risk feature information. The risk feature information refers to features that are likely to cause business failures. Based on the risk feature information of the multiple users, at least one risk user is determined from the multiple users, and the at least one risk user is grouped to obtain the risk user group to which the at least one risk user belongs. Based on the feature information of regular users among the multiple users, the regular users are grouped to obtain the regular user groups to which the regular users belong. The regular users are users other than the risk users among the multiple users.
[0036] Since the risk characteristic information refers to characteristics that are likely to cause business failures, the risk characteristic information of multiple users can accurately determine the users who are likely to cause business problems, that is, risk users, from multiple users, and then determine the user groups to which the risk users and regular users belong respectively. In this way, risk users and regular users can be divided into different user groups, thereby avoiding the impact of risk users on regular users to the greatest extent and effectively improving the service quality of the target business for regular users.
[0037] Optionally, the characteristic information includes a user risk characteristic tag. The user risk characteristic tag includes at least one of a historical failure subtag and an abnormal traffic subtag. The historical failure subtag indicates the number of times a user's traffic caused a target service failure, or the number of times a user was unable to access the target service. The abnormal traffic subtag indicates the number of times the user's traffic experienced abnormal traffic.
[0038] Optionally, the risk signature information includes at least one risk subtag and a risk subtag weight corresponding to each risk subtag. If the signature information includes a user risk signature tag, the at least one risk subtag is at least one of a historical fault subtag and an abnormal traffic subtag in the user risk signature tag.
[0039] The implementation process of determining at least one risky user from the multiple users based on the risk characteristic information of the multiple users includes: determining the risk characteristic scores corresponding to the multiple users respectively based on the risk characteristic information of the multiple users, sorting the risk characteristic scores of the multiple users in order from high to low, and selecting the users corresponding to the risk characteristic scores in the top p percent of the sorting results as the at least one risky user.
[0040] Optionally, the resource deployment strategy includes the number of business units, and the cloud management platform can determine the number of user groups based on the number of business units and the number of business replicas. In this case, the implementation method of grouping regular users based on the characteristic information of regular users among the multiple users includes grouping the regular users based on the number of risky user groups, the number of user groups, and the characteristic information of the regular users.
[0041] Optionally, based on the number of service units and the number of service copies of the target service, the number of user groups is determined according to the following formula (4).
[0042] In the above formula (4), T refers to the number of user groups, N refers to the number of service units, and Rf refers to the number of service copies.
[0043] Optionally, based on the characteristic information of regular users, the characteristic vector of regular users is determined, and based on the characteristic vector of regular users, the regular users are clustered to obtain multiple regular user clusters, and based on the multiple regular user clusters and the number of regular groups, the regular user groups to which the regular users belong are determined, and the number of regular groups is the difference between the number of user groups and the number of risk user groups.
[0044] Optionally, the feature information also includes at least one feature tag among a user value feature tag, a user demand feature tag, and a user traffic feature tag, and a feature tag weight corresponding to each feature tag. The feature vector of the regular user includes at least one element, and the at least one element corresponds one-to-one with the feature tag included in the feature information. For any regular user, based on the target feature tag of the regular user, the value of the element corresponding to the target feature tag in the feature vector of the regular user is determined, and the target feature tag is any one of the at least one feature tag. Each regular user is processed in the same manner to obtain the feature vector of each regular user.
[0045] The implementation process of determining the regular user groups to which the regular users respectively belong based on multiple regular user clusters and the number of regular groups includes: randomly dividing the regular users of each regular user cluster into K groups to obtain K subclusters respectively included in each regular user cluster, where K is equal to the number of regular groups; and determining the regular user groups to which the regular users respectively belong based on the K subclusters respectively included in each regular user cluster.
[0046] The implementation process of determining the regular user groups to which regular users respectively belong based on the K subclusters included in each regular user cluster includes: setting g = 1, randomly selecting a subcluster from the subclusters included in multiple regular user clusters to obtain multiple subclusters, treating the regular users in the multiple subclusters as users in the g-th regular user group, deleting the multiple subclusters from the multiple regular user clusters; if g is less than the number of regular user groups, setting g = g + 1, and returning to the above step of randomly selecting a subcluster from the subclusters included in the multiple regular user clusters to obtain multiple subclusters.
[0047] For any regular user group, the above method ensures that the users in the regular user group include a portion of users from each regular user cluster. Because users in a regular user cluster have similar characteristics, while users in different regular user clusters have different characteristics, this ensures that the final regular user group includes users with different characteristics, thereby achieving uniform grouping of regular users.
[0048] In actual applications, it is also possible to obtain user groups to which the multiple users respectively belong by grouping the multiple users based on the number of user groups and feature information of the multiple users of the tenant without determining the risky users.
[0049] Optionally, based on the feature information of the multiple users, feature vectors of the multiple users are determined respectively, and then based on the feature vectors of the multiple users, the multiple users are clustered to obtain multiple user clusters, and based on the number of user groups and the multiple user clusters, the user groups to which the multiple users respectively belong are determined.
[0050] In a second aspect, a service deployment device is provided, which has the function of implementing the service deployment method described in the first aspect. The service deployment device includes at least one module, which is used to implement the service deployment method described in the first aspect.
[0051] In a third aspect, a computing device cluster is provided, wherein the computing device cluster includes at least one computing device, each computing device includes a processor and a memory, and the processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the business deployment method described in the first aspect.
[0052] Optionally, each computing device may further include a communication bus, which is used to establish a connection between the processor and the memory of each computing device.
[0053] In a fourth aspect, a computer-readable storage medium is provided, wherein the storage medium includes computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the steps of the service deployment method described in the first aspect.
[0054] In a fifth aspect, a computer program product comprising instructions is provided. When the instructions are executed by a computing device cluster, the computing device cluster executes the steps of the service deployment method described in the first aspect.
[0055] The technical effects obtained in the above-mentioned second, third, fourth and fifth aspects are similar to those obtained by the corresponding technical means in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] FIG1 is a schematic diagram of a business unit provided in an embodiment of the present application;
[0057] FIG2 is a schematic diagram of an implementation environment provided by an embodiment of the present application;
[0058] FIG3 is a schematic diagram of a cloud management platform provided in an embodiment of the present application;
[0059] FIG4 is a flowchart of a service deployment method provided in an embodiment of the present application;
[0060] FIG5 is a schematic diagram of a configuration interface provided in an embodiment of the present application;
[0061] FIG6 is a schematic diagram of a target service deployment method provided in an embodiment of the present application;
[0062] FIG7 is a schematic diagram of a deployment suggestion interface provided in an embodiment of the present application;
[0063] FIG8 is a schematic diagram of another target service deployment method provided in an embodiment of the present application;
[0064] FIG9 is a schematic structural diagram of a service deployment device provided in an embodiment of the present application;
[0065] FIG10 is a schematic structural diagram of a computer device provided in an embodiment of the present application;
[0066] FIG11 is an architectural diagram of a computing device cluster provided in an embodiment of the present application;
[0067] FIG12 is a schematic diagram of a connection between computing devices provided in an embodiment of the present application. DETAILED DESCRIPTION
[0068] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0069] For ease of understanding, before explaining in detail the service deployment method provided in the embodiment of the present application, the application scenarios and implementation environment involved in the embodiment of the present application are first introduced.
[0070] First, the application scenarios involved in the embodiments of the present application are introduced.
[0071] With the continuous development of information technology, especially the advancement of internet technology, large government, enterprises, and financial institutions have begun to build their own data centers to meet their business resource needs. Since simply adding physical equipment to build data centers is extremely expensive, cloud computing has emerged. Cloud service providers can use cloud computing technology to build a cloud platform, which includes a cloud management platform and cloud infrastructure. The cloud management platform manages the cloud infrastructure, and the cloud infrastructure includes at least one cloud data center, where tenants can deploy their services.
[0072] In related technologies, to ensure service availability, tenants need to deploy multiple independent business units with the same business functions in at least one cloud data center, with each business unit possessing complete business functions. Thus, upon receiving a service request, the service request is routed to the corresponding business unit for processing according to predefined rules. For example, a correspondence is established between the users served by the service and the business units. The corresponding business unit is then determined based on the user sending the service request, and the service request is routed to the corresponding business unit for processing. For example, referring to Figure 1, a service serves users 1 through 12, and there are four business units, namely, business units 1 through 4. Business unit 1 corresponds to users 1 through 3, business unit 2 corresponds to users 4 through 6, business unit 3 corresponds to users 7 through 9, and business unit 4 corresponds to users 10 through 12. In this case, upon receiving a service request from user 1, the service request can be routed to business unit 1 corresponding to user 1 for processing.
[0073] However, in the above method, a single service unit may correspond to multiple users. If the service unit fails due to overload or a DDOS attack, the service will be unavailable to the users corresponding to the service unit, resulting in poor disaster recovery. For example, service unit 1 corresponds to users 1 through 3. If service unit 1 fails, users 1, 2, and 3 served by service unit 1 will be unable to use the service.
[0074] For ease of description, the blast radius (also called failure radius) will be used to characterize the disaster recovery capability of the business. A larger blast radius indicates a worse disaster recovery capability of the business, and a smaller blast radius indicates a stronger disaster recovery capability of the business.
[0075] In a scenario with uniform traffic, that is, when the number and speed of business requests sent by each user are the same and stable, if a business unit fails, the above method will cause the users served by the business unit to be unable to obtain services normally. Therefore, the explosion radius of this method is based on the granularity of the business unit. The explosion radius of this method is one-N, where N is the number of business units. That is, the failure of one business unit will affect one-Nth of the businesses.
[0076] Based on this, the embodiment of the present application proposes a business deployment method, which can determine the resource deployment strategy of the target business according to the business configuration information and the number of business copies of the target business input by the tenant, and then deploy the target business on multiple business units according to the resource deployment strategy. Since the number of business copies is greater than or equal to 2, the resource deployment strategy indicates that one business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group, Rf is the number of business copies. In other words, the business unit can provide services for at least one user group of the tenant, and each user group can be carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding business from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method provided by the embodiment of the present application can effectively improve the disaster recovery capability of the target business.
[0077] Next, the implementation environment involved in the embodiments of this application is introduced.
[0078] Please refer to Figure 2, which is a schematic diagram of an implementation environment provided by an embodiment of the present application. The implementation environment includes a tenant side 01 and a service side (i.e., a cloud platform) 02. The cloud platform includes a cloud management platform 21 and a cloud infrastructure 22. The cloud management platform is used to manage the cloud infrastructure. The cloud infrastructure includes at least one cloud data center, which is deployed with multiple business units.
[0079] The cloud management platform 21 can provide a configuration interface and display it to the tenant side 01. The configuration interface is used to instruct the tenant to input the business configuration information of the target business to be deployed. The cloud management platform 21 can obtain the business configuration information of the target business from the configuration interface, and then determine the resource deployment strategy of the target business based on the business configuration information and the number of business copies, and deploy the target business on the multiple business units according to the resource deployment strategy. The resource deployment strategy indicates that a business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group.
[0080] Please refer to Figure 3, which is a schematic diagram of a cloud management platform provided in an embodiment of the present application. The cloud management platform includes a resource planning unit 301, a deployment unit 302 and a business unit 303.
[0081] The resource planning unit 301 can obtain the service configuration information of the target service to be deployed, which is entered by the tenant from the configuration interface, and determine the resource deployment strategy for the target service based on the service configuration information and the number of service replicas. The deployment unit 302 can deploy the target service across multiple service units based on the resource deployment strategy for the target service. After the target service is deployed, the service unit 303 can provide services to the tenant's users.
[0082] Optionally, the cloud management platform further includes a monitoring unit 304, which is configured to monitor user traffic data and the operating performance of the target service while the service unit 303 is providing services to the tenant's users. In some embodiments, the monitoring unit 304 provides feedback on the operating performance of the target service to the tenant, allowing the tenant to reconfigure the service configuration information based on the operating performance of the target service.
[0083] In one possible implementation, the cloud management platform further includes a user group division unit 305, which can obtain user feature information, which is feature information of multiple users in the tenant's user group. The feature information includes risk feature information, which refers to features that are likely to cause business failures. Based on the risk feature information of the multiple users, at least one risk user is determined from the multiple users, and the at least one risk user is grouped to obtain the risk user group to which the at least one risk user belongs. Based on the feature information of regular users among the multiple users, the regular users are grouped to obtain the regular user groups to which the regular users belong. The regular users are users other than the risk users among the multiple users, and finally the grouping of the tenant's user group is obtained. For ease of description, the user grouping situation will be referred to as the user grouping strategy in the following. In this case, the deployment unit 302 can deploy the target business on multiple business units based on the resource deployment strategy of the target business and the user grouping strategy.
[0084] In some embodiments, the cloud management platform further includes a service deployment suggestion unit 306, which can display a service deployment suggestion interface for displaying resource deployment strategies for target services. Optionally, the service deployment suggestion interface can also display user grouping strategies.
[0085] In some embodiments, the service deployment suggestion interface is further used to instruct the tenant to trigger a service deployment request. In this case, the service deployment suggestion unit 306 can receive the service deployment request and then deploy the target service according to the resource deployment strategy displayed on the service deployment suggestion interface.
[0086] Optionally, when the cloud management platform further includes a user group division unit 305 , the monitoring unit 304 can also update the above user feature information based on the monitored user traffic data.
[0087] The execution entity of the business deployment method provided in the embodiment of the present application is a cloud management platform included in the cloud platform. The cloud platform can be a server cluster or distributed system composed of multiple physical servers, etc., or it can be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms, or it can be a cloud computing service center.
[0088] Those skilled in the art should understand that the above-mentioned cloud platform, cloud management platform and cloud infrastructure are only examples. Other existing or future cloud platforms, cloud management platforms and cloud infrastructure, if applicable to the embodiments of the present application, should also be included in the scope of protection of the embodiments of the present application and are incorporated herein by reference.
[0089] It should be noted that the application scenarios and implementation environments described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application, and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Ordinary technicians in this field can know that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0090] FIG4 is a flowchart of a service deployment method provided in an embodiment of the present application. The method is applied to a cloud management platform, which is used to manage cloud infrastructure, including at least one cloud data center, which is deployed with multiple service units. Referring to FIG4 , the method includes the following steps.
[0091] Step 401: providing a configuration interface, wherein the configuration interface is used to instruct the tenant to input service configuration information of the target service to be deployed, wherein the service configuration information is used to configure the target service.
[0092] The cloud management platform can instruct the tenant to input the business configuration information of the target business to be deployed by providing a configuration interface, and the tenant can then input the business configuration information of the target business in the configuration interface.
[0093] In some embodiments, the business configuration information includes one or more of the minimum number of startup nodes of the microservice, the minimum startup specification of the microservice, the maximum amount of resources, the business performance parameters, the maximum explosion radius, and the performance baseline of the microservice. The maximum amount of resources indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the correspondence between the startup specification of the microservice, the number of startup nodes and the performance parameters.
[0094] It should be noted that the business unit in the embodiment of the present application includes at least one node, and each node can be composed of part or all of a physical server, which is not limited in the embodiment of the present application.
[0095] In practical applications, depending on different business requirements, the target business's microservices may be distributed or centralized. For any business unit, a distributed microservice refers to a microservice distributed across multiple nodes within that business unit, while a centralized microservice refers to a microservice distributed on a single node within that business unit. The minimum number of startup nodes mentioned above refers to the minimum number of nodes that the microservice must be distributed on within that business unit.
[0096] For example, if the microservices used to provide the target business include a database (DB) microservice, this DB microservice is a distributed microservice. In this case, the DB microservice can use distributed storage technology to combine the storage resources dispersed across multiple physical servers in the data center into a virtual storage device, providing external data storage capabilities. If the minimum number of startup nodes for the DB microservice is 2, then the DB microservice needs to be distributed across at least two nodes in the business unit.
[0097] Optionally, the minimum startup specification of the microservice refers to the minimum specification of the microservice on a target node, where the target node is any one of at least one node to which the microservice is distributed. The minimum startup specification includes minimum computing resource specifications, minimum memory resource specifications, and minimum hard disk resource specifications.
[0098] For example, if the microservices used to provide the target business include an application programming interface (API) microservice and a DB microservice. The minimum startup specification of the API microservice is 4U8G50G, that is, the minimum computing resource specification of the API microservice on the target node is 4 central processing unit (CPU) cores, the minimum memory resource specification is 8 gigabytes (GB), and the minimum hard disk resource specification is 50G. The minimum startup specification of the DB microservice is 32U128G1000G, that is, the minimum computing resource specification of the API microservice on the target node is 32 CPU cores, the minimum memory resource specification is 128GB, and the minimum hard disk resource specification is 1000G.
[0099] Optionally, the maximum resource amount includes a maximum computing resource amount, a maximum memory resource amount, and a maximum hard disk resource amount.
[0100] For example, the maximum resource amount can be 800U3200G100T, that is, the maximum computing resource amount is 800 CPU cores, the maximum memory resource amount is 3200G, and the maximum hard disk resource amount is 100 terabytes (TB).
[0101] In some embodiments, the business performance parameter includes at least one of queries per second (QPS), transactions per second (TPS), and concurrency. QPS refers to the number of queries that the target business can process per second, TPS refers to the number of transactions that the target business can process per second, and concurrency refers to the number of requests that the target business can process simultaneously. Of course, in actual applications, the business performance parameter may also include other parameters that can characterize the performance of the target business, and the embodiments of the present application are not limited to this.
[0102] For example, the service performance parameter may be 5000QPS, which means that the lower limit of the number of queries that the target service can process per second is 5000.
[0103] In practical applications, for any microservice in any business unit of a target business, the performance of microservices with different startup specifications and different numbers of startup nodes in that business unit may vary. In some embodiments, the business configuration information includes a performance baseline for the microservice, which indicates the corresponding relationship between the startup specifications, number of startup nodes, and performance parameters of the microservice. The performance parameters indicate the performance of the microservice in the business unit with the corresponding startup specifications and number of startup nodes.
[0104] Optionally, the startup specifications of the microservice include computing resource specifications, memory resource specifications, and maximum hard disk resource specifications. The performance parameters of the microservice include at least one of QPS, TPS, and concurrency, where QPS refers to the number of queries that the corresponding microservice can process per second in any business unit, TPS refers to the number of transactions that the corresponding microservice can process per second in any business unit, and concurrency refers to the number of requests that the corresponding microservice can process simultaneously in any business unit.
[0105] For example, the performance baseline of the API microservice is shown in Table 1 below. When the startup specification of the API microservice is 4U8G50G (i.e., the computing resource specification is 4 CPU cores, the memory resource specification is 8GB, and the hard disk resource specification is 50G) and the number of startup nodes is 1, the number of queries that the API microservice can process per second in any business unit is 100. When the startup specification is 4U8G50G and the number of startup nodes is 5, the number of queries that the API microservice can process per second in any business unit is 600. When the startup specification is 4U8G50G and the number of startup nodes is 10, the number of queries that the API microservice can process per second in any business unit is 1600. When the startup specification is 4U8G50G and the number of startup nodes is 20, the number of queries that the API microservice can process per second in any business unit is 2800. When the startup specification is 8U16G100G (i.e., the computing resource specification is 8 CPU cores, the memory resource specification is 16GB, and the hard disk resource specification is 100G) and the number of startup nodes is 1, the number of queries that the API microservice can process per second in any business unit is 500. When the startup specification is 8U16G100G and the number of startup nodes is 5, the number of queries that the API microservice can process per second in any business unit is 1800. When the startup specification is 8U16G100G and the number of startup nodes is 10, the number of queries that the API microservice can process per second in any business unit is 5000. When the startup specification is 8U16G100G and the number of startup nodes is 20, the number of queries that the API microservice can process per second in any business unit is 6800.
[0106] Table 1
[0107] It should be noted that the performance parameters of the microservice correspond one-to-one with the aforementioned business performance parameters. That is, if the business performance parameters include QPS, the performance parameters of the microservice also include QPS; if the business performance parameters include TPS, the performance parameters of the microservice also include TPS. If the business performance parameters include concurrency, the performance parameters of the microservice also include concurrency.
[0108] In some embodiments, the service configuration information further includes an explosion radius weight and a resource weight. The explosion radius weight and resource weight indicate the tenant's weighting of the target service's disaster recovery capability and the target service's resource usage. If the explosion radius weight is greater than the resource weight, it indicates that the tenant values the target service's disaster recovery capability more and expects the target service to have better disaster recovery capability. If the explosion radius weight is less than the resource weight, it indicates that the tenant values the target service's resource usage more and expects the target service to occupy fewer resources.
[0109] For example, the explosion radius weight can be 90, and the resource weight can be 10. The explosion radius weight is greater than the resource weight, indicating that compared with the resource usage of the target business, the tenant attaches more importance to the disaster recovery capability of the target business and expects the target business to have better disaster recovery capability.
[0110] For example, the cloud management platform provides a configuration interface as shown in Figure 5, and the tenant can enter the business configuration information of the target business in the configuration interface. Among them, the microservices used to provide the target business include microservice 1 and microservice 2, microservice 1 is an API microservice, and microservice 2 is a DB microservice. The minimum startup specification of the API microservice is 4U8G50G, the minimum number of startup nodes is 1, and the performance baseline is the performance baseline table shown in Figure 5 (i.e., API.excel). The minimum startup specification of the DB microservice is 16U64G500G, the minimum number of startup nodes is 2, and the performance baseline is DB.excel (not shown in Figure 5). The maximum resource amount is 800U3200G100T, the business performance parameter is 5000QPS, the maximum explosion radius is 0.1, the explosion radius weight is 90, and the resource weight is 10.
[0111] Optionally, the configuration interface is further used to instruct the tenant to enter the number of business copies, so that the tenant can enter the number of business copies in the configuration interface. For any user group of the tenant, the number of business copies is the number of business units that the tenant expects to carry the user group, and the number of business copies is greater than or equal to 2. Of course, in actual applications, the number of business copies can also be pre-configured, and this embodiment of the application does not limit this.
[0112] Step 402: Acquire service configuration information of the target service from the configuration interface.
[0113] Step 403: Based on the business configuration information and the number of business copies of the target business, determine the resource deployment strategy of the target business, and deploy the target business on multiple business units according to the resource deployment strategy. The resource deployment strategy indicates that a business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group, Rf is the number of business copies, and Rf≥2.
[0114] That is to say, the business unit can provide services to at least one user group of the tenant, and each user group is carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding business from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method provided in the embodiment of the present application can effectively improve the disaster recovery capability of the target business.
[0115] Optionally, the resource deployment strategy indicates that Rf service copies of the user group are each deployed on an independent service unit, and each Rf service unit carries at most one service copy of the same user group.
[0116] The fact that each of the Rf service units carries at most one service copy of the same user group can also be understood as that only one service copy corresponding to the same user group is deployed on any of the Rf service units.
[0117] Since each Rf business unit carries at most one service copy of the same user group, for any user group of a tenant, if any business unit carrying that user group fails, that user group can still obtain corresponding services from other business units. Only if all business units carrying that user group fail will that user group be unable to obtain services, thus affecting the normal operation of the target business. Since other user groups carried by the business unit carrying that user group are also carried by other business units, even if all business units carrying that user group fail, these other user groups can still obtain services from other business units.
[0118] In other words, in the embodiment of the present application, the operation of the target business will be affected only when any user group of the tenant is unable to obtain the service. Therefore, the explosion radius in the implementation of the present application is based on the granularity of the user group, and the explosion radius is one-T, where T is the number of user groups of the tenant. That is, the inability of one user group to obtain the service will affect one-T of the target business.
[0119] For example, if the number of business units of the target business is 4, namely business unit 0, business unit 1, business unit 2 and business unit 3. The number of user groups of the tenant is 6, namely user group A, user group B, user group C, user group D, user group E and user group F, and the number of business copies is 2. In this case, each user group has two business copies. For any user group, the resource deployment strategy indicates that the two business copies of the user group are each deployed on an independent business unit. Every two business units in the business units of the target business carry at most one business copy of the same user group. Please refer to Figure 6, which is a deployment method of a target business provided in an embodiment of the present application, wherein business unit 0 carries user group A, user group B and user group C, business unit 1 carries user group A, user group D and user group E, business unit 2 carries user group B, user group D and user group F, and business unit 3 carries user group C, user group E and user group F. Taking user group A as an example, the two business copies of user group A are each deployed on an independent business unit (i.e., business unit 0 and business unit 1). Taking any two business units (business unit 1 and business unit 2) in the business unit of the target business as an example, business unit 1 carries user group A, user group D and user group E, and business unit 2 carries user group B, user group D and user group F. Business unit 1 and business unit 2 are only deployed with one business copy corresponding to the same user group (business unit D).
[0120] For user group A, if both service unit 0 and service unit 1, which carry user group A, fail, user group A will be unable to obtain services, thus affecting the normal operation of the target service. Service units 0 and 1 carry other user groups: user groups B, C, D, and E. For example, user group B is also carried by service unit 2. Therefore, even if service units 0 and 1 fail, user group B can still obtain services from service unit 2.
[0121] In some embodiments, the resource deployment strategy includes the number of business units used to provide the target service and the deployment specifications of the business units, where the specifications and performance of the business units used to provide the target service are identical. In this case, the process of determining the resource deployment strategy for the target service based on the service configuration information and the number of service replicas includes: determining the number of business units used to provide the target service and the deployment specifications of the business units based on the service configuration information and the number of service replicas, in accordance with resource deployment constraints.
[0122] Among them, the resource deployment constraints include one or more of the minimum number of startup nodes of the microservice, the minimum startup specifications of the microservice, the maximum resource amount, the business performance parameters, the maximum explosion radius, the number of business copies, and the performance baseline of the microservice. The maximum resource amount indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the correspondence between the startup specifications of the microservice, the number of startup nodes and the performance parameters.
[0123] Since the maximum amount of resources indicates the upper limit of the resources that can be occupied by the target business, the business performance parameter indicates the lower limit of the performance of the target business, and the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, the resource deployment constraint can ensure that the resources occupied by the target business do not exceed the maximum amount of resources while ensuring that the performance of the target business is not lower than the business performance parameter, and that the disaster recovery capability of the target business is better than or equal to the disaster recovery capability indicated by the maximum explosion radius. In other words, under the constraints of the resource deployment constraint, the resource deployment strategy of the target business determined in the embodiment of the present application can take into account the business performance, disaster recovery capability and resource cost of the target business, so that the target business can have a smaller explosion radius and better performance than the related technology when the maximum amount of resources remains unchanged.
[0124] In some embodiments, based on the business configuration information and the number of business copies of the target business, multiple candidate resource deployment strategies are determined in accordance with resource deployment constraints, and the candidate resource deployment strategies include a candidate number of business units and candidate deployment specifications of the business units; one candidate resource deployment strategy is selected from the multiple candidate resource deployment strategies, and the candidate number of business units and candidate deployment specifications included in the selected candidate resource deployment strategy are used as the number and deployment specifications of business units included in the resource deployment strategy of the target business.
[0125] Optionally, the candidate deployment specification includes the number of startup nodes and startup specifications corresponding to at least one microservice for providing the target business in the business unit, and the resource deployment constraint satisfies the following inequality:
[0126] In the above inequality, i refers to the i-th microservice, and the min num i Refers to the minimum number of startup nodes for the i-th microservice, num i Refers to the number of startup nodes of the i-th microservice in the candidate deployment specification, min s i refers to the minimum startup specification of the i-th microservice, s irefers to the startup specification of the i-th microservice in the candidate deployment specification, S refers to the maximum resource amount, n refers to the number of at least one microservice in the business unit, N refers to the number of candidates for the business unit, min t(j) refers to the minimum performance parameter corresponding to the startup specification and the number of startup nodes of the j-th microservice in the candidate deployment specification, T refers to the business performance parameter, B refers to the maximum explosion radius, Rf refers to the number of business replicas, X i It refers to the performance baseline of the i-th microservice.
[0127] When the startup specifications of a microservice include computing resource specifications, memory resource specifications, and maximum hard disk resource specifications, the minimum startup specifications include minimum computing resource specifications, minimum memory resource specifications, and minimum hard disk resource specifications, and the maximum resource quantity includes maximum computing resource quantity, maximum memory resource quantity, and maximum hard disk resource quantity, min s in the above inequality is i ≤s i It means that the minimum computing resource specification of the i-th microservice is less than or equal to the computing resource specification of the i-th microservice in the candidate deployment specification, the minimum memory resource specification of the i-th microservice is less than or equal to the memory resource specification of the i-th microservice in the candidate deployment specification, and the minimum disk resource specification of the i-th microservice is less than or equal to the disk resource specification of the i-th microservice in the candidate deployment specification.
[0128] Similarly, in the above inequality, s i num i ≤S means that the product of the computing resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum computing resource amount, the product of the memory resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum memory resource amount, and the product of the disk resource specification of the i-th microservice in the candidate deployment specification and the number of startup nodes of the i-th microservice is less than or equal to the maximum disk resource amount.
[0129] For any candidate deployment specification, the candidate deployment specification includes the number of startup nodes and startup specifications corresponding to each microservice in the business unit. Since the startup specifications and number of startup nodes of a microservice correspond to performance parameters, each microservice also corresponds to corresponding performance parameters. For a business unit, the performance of the business unit is actually determined by the microservice with the smallest performance parameters in the business unit. Therefore, if the performance parameters of the microservice with the smallest performance parameters in the business unit are greater than or equal to T / N, it can be guaranteed that the sum of the performance of the N business units (i.e., the performance of the target business) is not lower than the business performance parameter (T).
[0130] It should be noted that the number of the above business copies is not greater than the number of business units.
[0131] In some embodiments, the service configuration information includes a blast radius weight and a resource weight. In this case, a candidate resource deployment strategy may be selected from a plurality of candidate resource deployment strategies based on the blast radius weight and the resource weight.
[0132] Optionally, based on the explosion radius weight and resource weight, the qth candidate resource deployment strategy can be selected from multiple candidate resource deployment strategies as the resource deployment strategy for the target business, and the qth candidate resource deployment strategy satisfies the following formulas (1)-(3). min(α1A q +α2R q ) q∈1,…,z (1)
[0133] In the above formulas (1)-(3), min() refers to the minimum value in the brackets, α1 refers to the resource weight, α2 refers to the explosion radius weight, z refers to the number of candidate resource deployment strategies, q refers to the qth candidate resource deployment strategy among multiple candidate resource deployment strategies. f() refers to normalizing the numbers in the brackets, qN refers to the number of candidates for the business unit in the qth candidate resource deployment strategy, s qi Refers to the startup specification of the i-th microservice in the q-th candidate resource deployment strategy, num qi It refers to the number of startup nodes of the i-th microservice in the q-th candidate resource deployment strategy, n refers to the number of the at least one microservice in the business unit, and Rf refers to the number of business replicas.
[0134] It should be noted that the above The amount of resources occupied by the qth candidate resource deployment strategy can be represented, and the implementation process of normalizing the amount of resources occupied by the qth candidate resource deployment strategy can be: the value after dividing the amount of resources occupied by the qth candidate resource deployment strategy by the maximum amount of resources is used as the normalized value of the amount of resources occupied by the qth candidate resource deployment strategy.
[0135] Optionally, the amount of resources occupied by the qth candidate resource deployment strategy includes computing resources, memory resources and hard disk resources, and the maximum amount of resources includes the maximum computing resources, the maximum memory resources and the maximum hard disk resources. In this case, the computing resources, memory resources and hard disk resources occupied by the qth candidate resource deployment strategy can be normalized respectively to obtain the normalized computing resources, the normalized memory resources and the normalized hard disk resources. The sum of the normalized computing resources, the normalized memory resources and the normalized hard disk resources is used as the normalized value of the resources occupied by the qth candidate resource deployment strategy.
[0136] The value obtained by dividing the amount of computing resources occupied by the qth candidate resource deployment strategy by the maximum amount of computing resources is used as the normalized amount of computing resources. The value obtained by dividing the amount of memory resources occupied by the qth candidate resource deployment strategy by the maximum amount of memory resources is used as the normalized amount of memory resources. The value obtained by dividing the amount of hard disk resources occupied by the qth candidate resource deployment strategy by the maximum amount of hard disk resources is used as the normalized amount of hard disk resources.
[0137] Of course, the above is only one way to normalize the amount of resources occupied by the qth candidate resource deployment strategy. In actual applications, the amount of resources occupied by the qth candidate resource deployment strategy can also be normalized in other ways, and the embodiments of the present application do not limit this.
[0138] In practical applications, in order to speed up the solution, the qth candidate resource deployment strategy can be selected as the resource deployment strategy for the target business from multiple candidate resource deployment strategies based on the inequality satisfied by the resource deployment constraint and the above formulas (1)-(3). This embodiment of the present application does not limit this.
[0139] In some embodiments, in addition to selecting a candidate resource deployment strategy from the multiple candidate resource deployment strategies based on the explosion radius weight and the resource weight, any one of the multiple candidate resource deployment strategies can also be selected. This embodiment of the present application does not limit this.
[0140] It should be noted that in the embodiments of the present application, the business units of the target business are all located in the same region. If the region includes multiple availability zones (AZs), then for microservices with multiple startup nodes in the resource deployment strategy of the target business, the nodes distributed by the microservices can be located in the same AZ or in different AZs, and this embodiment of the present application does not limit this. Since failures within an AZ will not affect other AZs and regions, if the nodes distributed by the microservices are located in different AZs, the disaster recovery performance of the target business can be further improved.
[0141] In actual applications, after determining the resource deployment strategy of the target business based on the business configuration information and the number of business copies of the target business, the cloud management platform can also display a business deployment suggestion interface, which is used to display the resource deployment strategy of the target business.
[0142] Optionally, the business deployment recommendation interface is also used to display at least one of resource consumption and actual explosion radius, wherein the resource consumption indicates the amount of resources occupied by the resource deployment strategy of the target business, and the actual explosion radius indicates the disaster recovery capability of the target business deployed based on the resource deployment strategy of the target business.
[0143] For example, if the microservices of the target business include API microservices and DB microservices, please refer to Figure 7. In the business deployment suggestion interface shown in Figure 7, the number of business units used to provide the target business in the resource deployment strategy of the target business is 5. For any business unit, the number of startup nodes of the API microservice in the business unit is 2, and the startup specification is 8U16G100G. The number of startup nodes of the DB microservice is 4, and the startup specification is 32U128G1000. Among them, the two nodes of the API microservice are located in two AZs, namely AZ1 and AZ2, and the four nodes of the DB microservice are also located in two AZs, namely AZ1 and AZ2, and two of the four nodes of the DB microservice are located in the same AZ. The resource consumption corresponding to the resource deployment strategy of the target business is 720U2720G21T, and the actual explosion radius is 0.1.
[0144] In one possible implementation, the business deployment suggestion interface is also used to instruct the tenant to trigger a business deployment request. Before deploying the target business on multiple business units according to the resource deployment strategy, the cloud management platform can also receive the business deployment request. The business deployment request is used to instruct the cloud management platform to deploy the target business according to the resource deployment strategy displayed on the business deployment suggestion interface.
[0145] That is to say, after displaying the resource deployment strategy of the target business, the tenant can also trigger a business deployment request in the business deployment suggestion interface, and the cloud management platform can also receive the business deployment request triggered by the tenant, thereby deploying the target business on multiple business units according to the resource deployment strategy.
[0146] In actual applications, the business configuration information also includes user feature information. In this case, the cloud management platform can also obtain user feature information. The user feature information is feature information of multiple users in the tenant's user group. The feature information includes risk feature information. The risk feature information refers to features that are likely to cause business failures. Based on the risk feature information of the multiple users, at least one risk user is determined from the multiple users, and the at least one risk user is grouped to obtain the risk user group to which the at least one risk user belongs. Based on the feature information of regular users among the multiple users, the regular users are grouped to obtain the regular user groups to which the regular users belong. The regular users are users other than the risk users among the multiple users.
[0147] Since the risk characteristic information refers to characteristics that are likely to cause business failures, the risk characteristic information of multiple users can accurately determine the users who are likely to cause business problems, that is, risk users, from multiple users, and then determine the user groups to which the risk users and regular users belong respectively. In this way, risk users and regular users can be divided into different user groups, thereby avoiding the impact of risk users on regular users to the greatest extent and effectively improving the service quality of the target business for regular users.
[0148] In some embodiments, the characteristic information includes a user risk characteristic tag. The user risk characteristic tag includes at least one of a historical failure subtag and an abnormal traffic subtag. The historical failure subtag indicates the number of times a user's traffic caused a target service failure, or the number of times a user was unable to access the target service. The abnormal traffic subtag indicates the number of times the user's abnormal traffic occurred.
[0149] Optionally, the risk signature information includes at least one risk subtag and a risk subtag weight corresponding to each risk subtag. If the signature information includes a user risk signature tag, the at least one risk subtag is at least one of a historical fault subtag and an abnormal traffic subtag in the user risk signature tag.
[0150] The implementation process of determining at least one risky user from the multiple users based on the risk characteristic information of the multiple users includes: determining the risk characteristic scores corresponding to the multiple users respectively based on the risk characteristic information of the multiple users, sorting the risk characteristic scores of the multiple users in order from high to low, and selecting the users corresponding to the risk characteristic scores in the top p percent of the sorting results as the at least one risky user.
[0151] In some embodiments, for any one of the multiple users, at least one risk sub-label in the user's risk profile information is normalized to obtain at least one normalized risk sub-label. A risk profile score corresponding to the user is determined based on the at least one normalized risk sub-label and the risk sub-label weight corresponding to each risk sub-label. Each of the multiple users is processed in the same manner to determine the risk profile scores corresponding to each of the multiple users.
[0152] In some embodiments, for any risk sub-tag, the risk sub-tag of the user is divided by the maximum value of the risk sub-tag among the multiple users to obtain a normalized risk sub-tag. Each risk sub-tag in the at least one risk sub-tag is processed in the same manner to obtain at least one normalized risk sub-tag.
[0153] Optionally, each normalized risk sub-label is multiplied by the risk sub-label weight corresponding to the risk sub-label to obtain at least one first sub-label, and the sum of the at least one first sub-label is used as the risk feature score corresponding to the user.
[0154] For example, the at least one risky user may be assigned to the same user group to obtain a risky user group to which the at least one risky user belongs. Of course, in actual applications, if there are a large number of risky users, the multiple risky users may also be randomly assigned to at least two user groups to obtain the risky user groups to which the multiple risky users respectively belong. This embodiment of the present application is not limited to this.
[0155] In some embodiments, the resource deployment strategy includes the number of business units, and the cloud management platform can determine the number of user groups based on the number of business units and the number of business replicas. In this case, the implementation method of grouping regular users based on the characteristic information of regular users among the multiple users includes: grouping the regular users based on the number of risky user groups, the number of user groups, and the characteristic information of the regular users.
[0156] Optionally, based on the number of service units and the number of service copies of the target service, the number of user groups is determined according to the following formula (4).
[0157] In the above formula (4), T refers to the number of user groups, N refers to the number of service units, and Rf refers to the number of service copies.
[0158] For example, when N is equal to 4 and Rf is equal to 2, the That is, the number of user groups is 6.
[0159] In actual applications, after the number of user groups is determined, the service deployment suggestion interface may further display the number of user groups.
[0160] In some embodiments, based on the characteristic information of regular users, the characteristic vectors of regular users are determined, and based on the characteristic vectors of regular users, regular users are clustered to obtain multiple regular user clusters, and based on the multiple regular user clusters and the number of regular groups, the regular user groups to which the regular users belong are determined, and the number of regular groups is the difference between the number of user groups and the number of risk user groups.
[0161] In some embodiments, the feature information also includes at least one feature tag among a user value feature tag, a user demand feature tag, and a user traffic feature tag, and a feature tag weight corresponding to each feature tag. The feature vector of the regular user includes at least one element, and the at least one element corresponds one-to-one to the feature tag included in the feature information. For any regular user, based on the target feature tag of the regular user, the value of the element corresponding to the target feature tag in the feature vector of the regular user is determined, and the target feature tag is any one of the at least one feature tag. Each regular user is processed in the same manner to obtain the feature vector of each regular user.
[0162] Optionally, the user risk feature label also includes a sub-label weight corresponding to each sub-label.
[0163] Optionally, the user value feature tag includes at least one of a user level subtag, a user category subtag, and a user type subtag, and a subtag weight corresponding to each subtag. The user level subtag represents the user's level in the tenant's target business. The user category subtag represents whether the user is an internal user or an external user, or represents the user's age level, or represents the user's occupational attributes, or represents the user's gender. The user type subtag represents whether the user is a VIP user.
[0164] Optionally, the user demand feature tag includes at least one of an availability requirement subtag and a service type subtag, and a subtag weight corresponding to each subtag. The availability requirement subtag represents the user's quality requirement for the service provided by the target service, and the service type subtag represents the service type that the user requires from the target service.
[0165] In some embodiments, the user's quality requirements for the services provided by the target business can be determined through a service level agreement (SLA) or other methods, which is not limited in the embodiments of the present application.
[0166] For example, if the target service can provide service types including service A, service B, and service C, then for any user of the tenant, the service type that has been accessed the most frequently among the historically accessed service types of the target service, or the service type that has been accessed the most recently, can be used as the service type subtag for the user. Of course, in actual applications, other methods can be used to determine the user's service type subtag, and this embodiment of the application does not limit this.
[0167] Optionally, the user traffic feature tag includes at least one of a traffic subtag and an overload subtag, and a subtag weight corresponding to each subtag. The traffic subtag indicates the amount of traffic generated by the user in a historical time period, and the overload subtag indicates the number of times the user caused a target service to overload in the historical time period.
[0168] The historical time period is pre-set. For example, the historical time period can be set to the past three months. In this case, if the current time is January 1, 2000, the historical time period is from October 1, 1999 to December 31, 1999. In different situations, it can also be modified according to different needs.
[0169] For example, as shown in Table 2 below, the feature information includes a user value feature tag, a user risk feature tag, and a user traffic feature tag. The feature tag weight of the user value feature tag is 0.5, the feature tag weight of the user risk feature tag is 0.2, and the feature tag weight of the user traffic feature tag is 0.3. Among them, the user value feature tag includes a user level subtag, a user category subtag, and a user type subtag. The value range of the user level subtag is a positive integer greater than 0 and not greater than 9. The subtag weight corresponding to the user level subtag is 0.8. The value range of the user category subtag is 0 or 1. The subtag weight corresponding to the user category subtag is 0.1. The value range of the user type subtag is 0 or 1. The subtag weight corresponding to the user type subtag is 0.1. The user risk feature tag includes a historical fault subtag and an abnormal traffic subtag. The historical fault subtag has a value range of positive integers greater than 0 and less than 100, and its corresponding subtag weight is 0.8. The abnormal traffic subtag has a value range of positive integers greater than 0 and less than 100, and its corresponding subtag weight is 0.2. The user traffic feature tag includes a traffic subtag, which has a value range of real numbers and its corresponding subtag weight is 1.
[0170] Table 2
[0171] In some embodiments, based on the target feature tag of the regular user, the implementation process of determining the value of the element corresponding to the target feature tag in the feature vector of the regular user includes: normalizing at least one sub-tag in the target feature tag of the regular user to obtain at least one normalized sub-tag, and determining the value of the element corresponding to the target feature tag based on the at least one normalized sub-tag, the weight corresponding to each sub-tag, and the feature tag weight corresponding to the target feature tag.
[0172] For any one of the at least one subtag, the subtag of the regular user is divided by the maximum value of the corresponding subtags among the plurality of regular users to obtain a normalized subtag. Each subtag of the at least one subtag is processed in the same manner to obtain at least one normalized subtag.
[0173] Each normalized sub-tag is multiplied by the sub-tag weight corresponding to the sub-tag to obtain at least one second sub-tag, and the sum of the at least one second sub-tag is multiplied by the feature tag weight corresponding to the target feature tag to obtain the value of the element corresponding to the target feature tag.
[0174] In some embodiments, based on the feature vectors of regular users, the regular users are clustered according to a relevant clustering algorithm to obtain a plurality of regular user clusters.
[0175] Optionally, the clustering algorithm may be a K-means algorithm, a k-means++ algorithm, etc., which is not limited in the embodiment of the present application.
[0176] The implementation process of determining the regular user groups to which the regular users respectively belong based on multiple regular user clusters and the number of regular groups includes: randomly dividing the regular users of each regular user cluster into K groups to obtain K subclusters respectively included in each regular user cluster, where K is equal to the number of regular groups; and determining the regular user groups to which the regular users respectively belong based on the K subclusters respectively included in each regular user cluster.
[0177] The implementation process of determining the regular user groups to which regular users respectively belong based on the K subclusters included in each regular user cluster includes: setting g = 1, randomly selecting a subcluster from the subclusters included in multiple regular user clusters to obtain multiple subclusters, treating the regular users in the multiple subclusters as users in the g-th regular user group, deleting the multiple subclusters from the multiple regular user clusters; if g is less than the number of regular user groups, setting g = g + 1, and returning to the above step of randomly selecting a subcluster from the subclusters included in the multiple regular user clusters to obtain multiple subclusters.
[0178] For any regular user group, the above method ensures that the users in the regular user group include a portion of users from each regular user cluster. Because users in a regular user cluster have similar characteristics, while users in different regular user clusters have different characteristics, this ensures that the final regular user group includes users with different characteristics, thereby achieving uniform grouping of regular users.
[0179] The following example illustrates how to group tenant users.
[0180] For example, referring to Table 3, the cloud management platform can obtain the user feature information shown in Table 3. The tenant's user group includes 8 users, namely User A to User H. The feature information of User A to User H includes a user value feature tag, a user risk feature tag, a user demand feature tag, and a user traffic feature tag, as well as the feature tag weight corresponding to each feature tag (not shown in Table 3). The user risk feature tag includes a historical fault subtag and an abnormal traffic subtag, as well as the subtag weight corresponding to each subtag (not shown in Table 3). The user value feature tag includes a user level subtag, a user category subtag, and a user type subtag, as well as the subtag weight corresponding to each subtag (not shown in Table 3). The user traffic feature tag includes a traffic subtag and the subtag weight corresponding to the traffic subtag (not shown in Table 3). In the feature information of User A, the user level subtag is 9, the user category subtag is 1, the user type subtag is 1, the historical fault subtag is 2, the abnormal traffic subtag is 2, and the traffic subtag is 5 gigabytes (G). The characteristic information of users B to H is similar to that of user A and will not be further described here.
[0181] Table 3
[0182] The risk feature information of the user includes at least one risk sub-label, which is the historical fault sub-label and the abnormal traffic sub-label in the user risk feature label. The risk sub-label weight corresponding to each risk sub-label is 0.5. Based on the risk feature information of 8 users, the risk feature scores corresponding to the 8 users are determined, and the risk feature scores of multiple users are sorted in order from high to low. The users corresponding to the top 10% of the risk feature scores of the sorting result are user C and user D. Then, user C and user D are regarded as the risk users, and user C and user D are divided into the same risk user group (risk user group 1). Then, based on the feature information of regular users (user A, user B, user E-user H), the feature vector of the regular user is determined. Based on the feature vector of the regular user, the regular users are clustered to obtain multiple regular user clusters. The feature vector of the regular user and the corresponding regular user cluster are shown in Table 4 below.
[0183] Table 4
[0184] Please refer to Table 5. Based on the number of regular user clusters and regular groups, the regular user groups to which the regular users belong and the risky user groups to which the risky users belong are determined as shown in Table 5 below.
[0185] Table 5
[0186] Based on the above description, the embodiments of the present application can first group risky users and then group regular users, thereby isolating risky users from regular users, thereby minimizing the impact of risky users on regular users and effectively improving the service quality of the target business for regular users. However, in actual applications, it is also possible to directly group multiple users based on the number of user groups and the characteristic information of multiple users of the tenant without determining risky users to obtain the user groups to which the multiple users belong.
[0187] In some embodiments, based on the feature information of the multiple users, the feature vectors of the multiple users can be determined respectively, and then based on the feature vectors of the multiple users, the multiple users can be clustered to obtain multiple user clusters, and based on the number of user groups and the multiple user clusters, the user groups to which the multiple users respectively belong can be determined.
[0188] Among them, the implementation method of determining the feature vectors of multiple users based on the feature information of multiple users is similar to the implementation method of determining the feature vectors of regular users based on the feature information of regular users in the above text; the implementation method of clustering multiple users based on the feature vectors of multiple users to obtain multiple user clusters is similar to the implementation method of clustering regular users based on the feature vectors of regular users to obtain multiple regular user clusters in the above text; the implementation method of determining the user groups to which the multiple users respectively belong based on the number of user groups and multiple user clusters is similar to the implementation method of determining the regular user groups to which the regular users respectively belong based on the multiple regular user clusters and the number of regular groups in the above text. For details, please refer to the relevant content above and will not be repeated here.
[0189] Next, the service deployment method provided in the embodiment of the present application will be introduced again in conjunction with Figure 8.
[0190] For example, referring to Figure 8 , if the number of business replicas is 2, and the microservices providing the target business include microservice 1 and microservice 2, then a resource deployment strategy for the target business is determined based on the target business's business configuration information and the number of business replicas. According to this resource deployment strategy, the target business is deployed on multiple business units. In this resource deployment strategy, the number of business units for the target business is 4: business unit 0, business unit 1, business unit 2, and business unit 3. The tenant's users are users 1 through 12, and the number of user groups for the tenant is 6: user group A, user group B, user group C, user group D, user group E, and user group F. User group A includes users 1 and 5, user group B includes users 2 and 4, user group C includes users 3 and 6, user group D includes users 7 and 12, user group E includes users 8 and 9, and user group F includes users 10 and 11. This resource deployment strategy indicates that the two business replicas for each user group are each deployed on a separate business unit, with every two business units hosting at most one business replica for the same user group. Among them, business unit 0 carries user group A, user group B, and user group C, business unit 1 carries user group A, user group D, and user group E, business unit 2 carries user group B, user group D, and user group F, and business unit 3 carries user group C, user group E, and user group F. Taking user group A as an example, the two business copies of user group A are each deployed on an independent business unit (i.e., business unit 0 and business unit 1). Taking any two business units (business unit 1 and business unit 2) in the business units of the target business as an example, business unit 1 carries user group A, user group D, and user group E, and business unit 2 carries user group B, user group D, and user group F. Business unit 1 and business unit 2 only have one business copy corresponding to the same user group (business unit D) deployed.
[0191] The embodiment of the present application can determine the resource deployment strategy of the target business based on the business configuration information and the number of business copies of the target business input by the tenant, and then deploy the target business on multiple business units according to the resource deployment strategy. Since the number of business copies is greater than or equal to 2, the resource deployment strategy indicates that one business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group, Rf is the number of business copies. In other words, the business unit can provide services for at least one user group of the tenant, and each user group can be carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding business from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method provided by the embodiment of the present application can effectively improve the disaster recovery capability of the target business.
[0192] When the resource deployment policy instructs that Rf business copies of a user group be deployed on separate business units, and each Rf business unit carries at most one business copy of the same user group, since each Rf business unit carries at most one business copy of the same user group, for any user group of the tenant, if any business unit carrying the user group fails, the user group can still obtain the corresponding service from other business units. Only when all business units carrying the user group fail will the user group be unable to obtain services, thereby affecting the normal operation of the target business. Since the other user groups carried by the business unit carrying the user group are also carried by other business units, even if all business units carrying the user group fail, these other user groups can still obtain services from other business units. Since the maximum resource amount indicates the upper limit of the resources that the target business can occupy, the business performance parameter indicates the lower limit of the performance of the target business, and the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, therefore, according to the resource deployment constraint, it is possible to ensure that the resources occupied by the target business do not exceed the maximum resource amount while ensuring that the performance of the target business is not lower than the business performance parameter, and the disaster recovery capability of the target business is better than or equal to the disaster recovery capability indicated by the maximum explosion radius. In other words, under the constraints of the resource deployment constraint, the resource deployment strategy of the target business determined in the embodiment of the present application can take into account the business performance, disaster recovery capability and resource cost of the target business, so that the target business can have a smaller explosion radius and better performance than the related art when the maximum resource amount remains unchanged. Since risk feature information refers to features that are likely to cause business failures, users that are likely to cause business problems, i.e., risk users, can be accurately determined from multiple users based on the risk feature information of the multiple users, and then the user groups to which the risk users and regular users belong can be determined respectively. In this way, risk users and regular users can be divided into different user groups, thereby avoiding the impact of risk users on regular users to the greatest extent and effectively improving the service quality of the target business for regular users.
[0193] Figure 9 is a schematic diagram of the structure of a service deployment device provided in an embodiment of the present application. The service deployment device is included in a cloud management platform. That is, the service deployment device can be implemented by software, hardware, or a combination of both to form part or all of the aforementioned cloud management platform. Referring to Figure 9, the device includes: a providing module 901, a first obtaining module 902, and a first determining module 903.
[0194] The provision module 901 is used to provide a configuration interface for instructing the tenant to input the service configuration information of the target service to be deployed, and the service configuration information is used to configure the target service. The detailed implementation process is referred to the corresponding content in the above embodiments and will not be repeated here.
[0195] The first acquisition module 902 is used to acquire service configuration information from the configuration interface. The detailed implementation process is referred to the corresponding content of each embodiment above and will not be repeated here.
[0196] The first determination module 903 is configured to determine a resource deployment strategy for the target service based on the service configuration information and the number of service replicas, and deploy the target service across multiple service units in accordance with the resource deployment strategy. The resource deployment strategy indicates that each service unit carries at least one user group of a tenant, and each Rf service unit carries a service replica for the same user group, where Rf is the number of service replicas and Rf ≥ 2. The detailed implementation process is described in the corresponding sections of the aforementioned embodiments and will not be further elaborated here.
[0197] Optionally, the resource deployment strategy indicates that Rf service copies of the user group are each deployed on an independent service unit, and each Rf service unit carries at most one service copy of the same user group.
[0198] Optionally, the resource deployment strategy includes the number and deployment specifications of the business units, and the first determining module 903 is specifically configured to:
[0199] Based on the business configuration information and the number of business copies, the number and deployment specifications of the business units are determined in accordance with the resource deployment constraints, wherein the resource deployment constraints include one or more of the minimum number of startup nodes of the microservice, the minimum startup specifications of the microservice, the maximum amount of resources, the business performance parameters, the maximum explosion radius, the number of business copies, and the performance baseline of the microservice. The maximum amount of resources indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the corresponding relationship between the startup specifications of the microservice, the number of startup nodes and the performance parameters.
[0200] Optionally, the first determining module 903 is specifically configured to:
[0201] Based on the business configuration information and the number of business replicas, and in accordance with resource deployment constraints, multiple candidate resource deployment strategies are determined, wherein the candidate resource deployment strategies include a candidate number of business units and candidate deployment specifications;
[0202] A candidate resource deployment strategy is selected from a plurality of candidate resource deployment strategies, and the candidate number of business units and candidate deployment specifications included in the selected candidate resource deployment strategy are used as the number and deployment specifications of business units included in the resource deployment strategy of the target business.
[0203] Optionally, the candidate deployment specifications include the number of startup nodes and startup specifications corresponding to at least one microservice for providing the target business; the resource deployment constraint satisfies the following inequality:
[0204] Among them, i refers to the i-th microservice, min num i Refers to the minimum number of startup nodes for the i-th microservice, num i Refers to the number of startup nodes of the i-th microservice in the candidate deployment specification, min s i refers to the minimum startup specification of the i-th microservice, s i refers to the startup specification of the i-th microservice in the candidate deployment specification, S refers to the maximum resource amount, n refers to the number of at least one microservice, N refers to the number of candidates, min t(j) refers to the minimum performance parameter corresponding to the startup specification and the number of startup nodes of the j-th microservice in the candidate deployment specification, T refers to the business performance parameter, B refers to the maximum explosion radius, Rf refers to the number of business replicas, X i It refers to the performance baseline of the i-th microservice.
[0205] Optionally, the service configuration information includes a blast radius weight and a resource weight;
[0206] The first determining module 903 is specifically configured to:
[0207] Based on the blast radius weight and the resource weight, a candidate resource deployment strategy is selected from multiple candidate resource deployment strategies.
[0208] Optionally, the device further comprises:
[0209] A second acquisition module is configured to acquire user characteristic information, wherein the user characteristic information is characteristic information of multiple users in a user group of a tenant, and the characteristic information includes risk characteristic information, wherein the risk characteristic information refers to characteristics that are likely to cause service failures;
[0210] A second determining module is configured to determine at least one risky user from a plurality of users based on risk characteristic information of the plurality of users;
[0211] A first grouping module is configured to group at least one risky user to obtain risky user groups to which the at least one risky user belongs;
[0212] The second grouping module is configured to group regular users among the multiple users based on their feature information to obtain regular user groups to which the regular users belong. The regular users are users among the multiple users excluding the risky users.
[0213] Optionally, it is characterized in that the resource deployment strategy includes the number of business units;
[0214] The device also includes:
[0215] A third determining module is used to determine the number of user groups based on the number of business units and the number of business copies;
[0216] The second grouping module is specifically used for:
[0217] Regular users are grouped based on the number of risky user groups, the number of user groups, and characteristic information of regular users.
[0218] Optionally, the second grouping module is specifically configured to:
[0219] Determining a feature vector of the regular user based on feature information of the regular user;
[0220] Based on the feature vectors of regular users, regular users are clustered to obtain multiple regular user clusters;
[0221] Based on multiple regular user clusters and the number of regular groups, regular user groups to which regular users respectively belong are determined. The number of regular groups is the difference between the number of user groupings and the number of risky user groups.
[0222] Optionally, the number of business copies is entered by the tenant in the configuration interface.
[0223] Optionally, the device further comprises:
[0224] The display module is used to display a service deployment suggestion interface, which is used to display the resource deployment strategy of the target service.
[0225] Optionally, the service deployment suggestion interface is also used to display at least one of resource consumption and actual explosion radius, wherein the resource consumption indicates the amount of resources occupied by the resource deployment strategy, and the actual explosion radius indicates the disaster recovery capability of the target service deployed based on the resource deployment strategy.
[0226] Optionally, the service deployment suggestion interface is further used to instruct the tenant to trigger a service deployment request, and the apparatus further includes:
[0227] The receiving module is used to receive a service deployment request, which is used to instruct the cloud management platform to deploy the target service according to the resource deployment strategy displayed on the service deployment suggestion interface.
[0228] The embodiment of the present application can determine the resource deployment strategy of the target business based on the business configuration information and the number of business copies of the target business input by the tenant, and then deploy the target business on multiple business units according to the resource deployment strategy. Since the number of business copies is greater than or equal to 2, the resource deployment strategy indicates that one business unit carries at least one user group of the tenant, and each Rf business unit carries a business copy of the same user group, Rf is the number of business copies. In other words, the business unit can provide services for at least one user group of the tenant, and each user group can be carried by at least two business units. In this case, for any user in any user group, even if a business unit carrying the user fails, the user can still obtain the corresponding business from other business units. Compared with the method in which a business unit fails and the users served by the business unit cannot obtain services normally, the method provided by the embodiment of the present application can effectively improve the disaster recovery capability of the target business.
[0229] When the resource deployment policy instructs that Rf business copies of a user group be deployed on separate business units, and each Rf business unit carries at most one business copy of the same user group, since each Rf business unit carries at most one business copy of the same user group, for any user group of the tenant, if any business unit carrying the user group fails, the user group can still obtain the corresponding service from other business units. Only when all business units carrying the user group fail will the user group be unable to obtain services, thereby affecting the normal operation of the target business. Since the other user groups carried by the business unit carrying the user group are also carried by other business units, even if all business units carrying the user group fail, these other user groups can still obtain services from other business units. Since the maximum resource amount indicates the upper limit of the resources that the target business can occupy, the business performance parameter indicates the lower limit of the performance of the target business, and the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, therefore, according to the resource deployment constraint, it is possible to ensure that the resources occupied by the target business do not exceed the maximum resource amount while ensuring that the performance of the target business is not lower than the business performance parameter, and the disaster recovery capability of the target business is better than or equal to the disaster recovery capability indicated by the maximum explosion radius. In other words, under the constraints of the resource deployment constraint, the resource deployment strategy of the target business determined in the embodiment of the present application can take into account the business performance, disaster recovery capability and resource cost of the target business, so that the target business can have a smaller explosion radius and better performance than the related art when the maximum resource amount remains unchanged. Since risk feature information refers to features that are likely to cause business failures, users that are likely to cause business problems, i.e., risk users, can be accurately determined from multiple users based on the risk feature information of the multiple users, and then the user groups to which the risk users and regular users belong can be determined respectively. In this way, risk users and regular users can be divided into different user groups, thereby avoiding the impact of risk users on regular users to the greatest extent and effectively improving the service quality of the target business for regular users.
[0230] It should be noted that the service deployment device provided in the above embodiment only uses the division of the above functional modules as an example to illustrate service deployment. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the service deployment device provided in the above embodiment and the service deployment method embodiment are based on the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0231] The provisioning module, first acquisition module, and first determination module in the service deployment device shown in FIG9 can all be implemented via software, hardware, or a combination of software and hardware. The implementation of the provisioning module in the service deployment device will now be described using the example of the provisioning module. Similarly, the implementation of the other modules described above can refer to the implementation of the provisioning module.
[0232] As an example of a software functional unit, a module may include code running on a computing instance. The computing instance may include at least one of a physical host, a virtual machine, and a container. Furthermore, the computing instance may be one or more. For example, the module may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple geographically close data centers. Typically, a region may include multiple AZs.
[0233] Similarly, multiple hosts / virtual machines / containers running the code can be distributed within the same VPC or across multiple virtual private clouds (VPCs). Typically, a VPC is set up within a region. Cross-region communication between two VPCs within the same region, or between VPCs in different regions, requires a communication gateway within each VPC to interconnect the VPCs.
[0234] As an example of a hardware functional unit, a module may include at least one computing device, such as a server. Alternatively, the module may be implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL), or any combination thereof.
[0235] The multiple computing devices included in the provisioning module can be distributed in the same region or in different regions. The multiple computing devices included in the provisioning module can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the provisioning module can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of servers, ASICs, PLDs, CPLDs, FPGAs, GALs, and other computing devices.
[0236] In other embodiments, the providing module in the service deployment device can be used to execute any step in the above-mentioned service deployment method, the first acquisition module in the service deployment device can be used to execute any step in the above-mentioned service deployment method, and the first determination module in the service deployment device can be used to execute any step in the above-mentioned service deployment method. The steps that the providing module, the first acquisition module and the first determination module in the service deployment device are responsible for implementing can be specified as needed. The different steps in the above-mentioned service deployment method are respectively implemented by the providing module, the first acquisition module and the first determination module in the service deployment device, thereby realizing all the functions of the service deployment device.
[0237] The present application also provides a computing device 100. As shown in FIG10 , computing device 100 includes a bus 102, a processor 104, a memory 106, and a communication interface 108. Processor 104, memory 106, and communication interface 108 communicate with each other via bus 102. Computing device 100 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in computing device 100.
[0238] Bus 102 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, among others. Buses may be classified as address buses, data buses, control buses, and the like. For ease of illustration, FIG10 illustrates a single bus line, but this does not imply a single bus or type of bus. Bus 102 may include a path for transmitting information between various components of computing device 100 (e.g., memory 106, processor 104, and communication interface 108).
[0239] Processor 104 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), a digital signal processor (DSP), an integrated circuit, and the like. The integrated circuit may include an ASIC, a programmable logic device (PLD), or a combination thereof. Optionally, the PLD may be a CPLD, an FPGA, a GAL, or any combination thereof.
[0240] The memory 106 may include volatile memory, such as random access memory (RAM). The memory 106 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD), or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 106 exists independently and is connected to the processor 104 via the bus 102, or the memory 106 is integrated with the processor 104.
[0241] The memory 106 stores executable program codes, and the processor 104 executes the executable program codes to implement the aforementioned service deployment method. That is, the memory 106 stores instructions for executing the service deployment method.
[0242] For example, the memory 106 stores executable code, and the processor 104 executes the executable code to implement the functions of the providing module, the first obtaining module, and the first determining module as shown in Figure 9. That is, the memory 106 stores instructions for executing the service deployment method provided in the embodiment of the present application.
[0243] The communication interface 108 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to enable communication between the computing device 100 and other devices or communication networks. Network interfaces include wired communication interfaces or wireless communication interfaces. Examples of wired communication interfaces include Ethernet interfaces. Ethernet interfaces can be optical interfaces, electrical interfaces, or a combination thereof. Wireless communication interfaces can include wireless local area network (WLAN) interfaces, cellular network communication interfaces, or a combination thereof.
[0244] Embodiments of the present application also provide a computing device cluster. The computing device cluster includes multiple computing devices. The computing devices can be servers, such as central servers, edge servers, or local servers in a local data center. In some embodiments, the computing devices can also be terminal devices such as desktop computers, laptop computers, or smartphones.
[0245] As shown in Figure 11, the computing device cluster includes multiple computing devices 100. The same instructions for executing the above service deployment method may be stored in the memory 106 of the multiple computing devices 100 in the computing device cluster.
[0246] In some possible implementations, the memories 106 of the multiple computing devices 100 in the computing device cluster may each store a portion of the instructions for executing the aforementioned service deployment method. In other words, the combination of the multiple computing devices 100 may collectively execute all the instructions for executing the aforementioned service deployment method.
[0247] It should be noted that the memory 106 in different computing devices 100 in the computing device cluster can store different instructions for executing part of the functions of the above-mentioned service deployment method. In other words, the instructions stored in the memory 106 in different computing devices 100 can implement the functions of some or all of the modules included in the above-mentioned service deployment apparatus.
[0248] In some possible implementations, one or more computing devices in a computing device cluster may be connected via a network. The network may be a wide area network or a local area network, etc. FIG12 shows a possible implementation. As shown in FIG12 , two computing devices 100A and 100B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this type of possible implementation, the memory 106 in the computing device 100A stores instructions for executing the functions of a portion of the modules included in the business deployment device described above. At the same time, the memory 106 in the computing device 100B stores instructions for executing the functions of another portion of the modules included in the business deployment device described above.
[0249] It should be understood that the functions of the computing device 100A shown in FIG12 may also be completed by multiple computing devices 100. Similarly, the functions of the computing device 100B may also be completed by multiple computing devices 100.
[0250] The present application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similar to the connection method of the computing device cluster described in Figures 11 and 12. However, the memory 106 in one or more computing devices 100 in this computing device cluster can store the same instructions for executing the service deployment method.
[0251] In some possible implementations, the memory 106 of one or more computing devices 100 in the computing device cluster may also store partial instructions for executing the service deployment method. In other words, the combination of one or more computing devices 100 can jointly execute the instructions for executing the service deployment method.
[0252] An embodiment of the present application further provides a computer-readable storage medium, wherein the storage medium stores instructions. When the instructions are executed on a computer device cluster, the computer executes the steps of the service deployment method described in the above embodiment.
[0253] The present application also provides a computer program product comprising instructions that, when executed on a computer device cluster, cause the computer device cluster to execute the steps of the service deployment method described in the above embodiment. Alternatively, the present application also provides a computer program that, when executed on a computer device cluster, causes the computer device cluster to execute the steps of the service deployment method described in the above embodiment.
[0254] In the above embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented using software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that includes one or more available media integrated therein. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, or a magnetic tape), an optical medium (e.g., a digital versatile disc (DVD)), or a semiconductor medium (e.g., a solid state disk (SSD)). It is worth noting that the computer-readable storage medium mentioned in the embodiments of the present application may be a non-volatile storage medium, in other words, a non-transient storage medium.
[0255] It should be understood that the "plurality" mentioned herein refers to two or more. In the description of the embodiments of the present application, unless otherwise specified, " / " means or, for example, A / B can mean A or B; "and / or" in this article is merely a description of the association relationship of associated objects, indicating that there can be three relationships, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in order to facilitate a clear description of the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. Those skilled in the art will understand that words such as "first" and "second" do not limit the quantity and execution order, and words such as "first" and "second" do not necessarily limit them to be different.
[0256] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in the embodiments of this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the service configuration information of the target service involved in the embodiments of this application is obtained with full authorization.
[0257] The above description is an embodiment provided for this application and is not intended to limit this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application should be included in the scope of protection of this application.
Claims
1. A service deployment method, characterized in that: Applied to a cloud management platform, the cloud management platform is used to manage cloud infrastructure, the cloud infrastructure includes at least one cloud data center, and the at least one cloud data center is deployed with multiple business units, the method includes: Providing a configuration interface, wherein the configuration interface is used to instruct the tenant to input service configuration information of the target service to be deployed, wherein the service configuration information is used to configure the target service; Acquire the service configuration information from the configuration interface; Based on the business configuration information and the number of business copies, determine the resource deployment strategy of the target business, and deploy the target business on the multiple business units according to the resource deployment strategy, wherein the resource deployment strategy indicates that one of the business units carries at least one user group of the tenant, and each Rf of the business units carries a business copy of the same user group, Rf is the number of business copies, and Rf≥2.
2. The method according to claim 1, characterized in that The resource deployment strategy indicates that the Rf service copies of the user group are respectively deployed on independent service units, and each of the Rf service units carries at most one service copy of the same user group.
3. The method according to claim 1 or 2, characterized in that The resource deployment strategy includes the number and deployment specifications of the business units, and determining the resource deployment strategy of the target business based on the business configuration information and the number of business copies includes: Based on the business configuration information and the number of business copies, the number and deployment specifications of the business units are determined in accordance with resource deployment constraints, wherein the resource deployment constraints include one or more of the minimum number of startup nodes of the microservice, the minimum startup specification of the microservice, the maximum amount of resources, the business performance parameters, the maximum explosion radius, the number of business copies, and the performance baseline of the microservice, the maximum amount of resources indicates the upper limit of resources that can be occupied by the target business, the business performance parameters indicate the lower limit of the performance of the target business, the maximum explosion radius indicates the lower limit of the disaster recovery capability of the target business, and the performance baseline indicates the corresponding relationship between the startup specifications of the microservice, the number of startup nodes and the performance parameters.
4. The method according to claim 3, characterized in that The determining the number and deployment specifications of the business units based on the business configuration information and the number of business copies according to resource deployment constraints includes: Based on the service configuration information and the number of service replicas, and in accordance with the resource deployment constraint, determining a plurality of candidate resource deployment strategies, wherein the candidate resource deployment strategies include a candidate number of the service units and a candidate deployment specification; A candidate resource deployment strategy is selected from the multiple candidate resource deployment strategies, and the candidate number and candidate deployment specifications of the business units included in the selected candidate resource deployment strategy are used as the number and deployment specifications of the business units included in the resource deployment strategy of the target business.
5. The method according to claim 4, characterized in that The candidate deployment specifications include the number of startup nodes and startup specifications corresponding to at least one of the microservices for providing the target business; the resource deployment constraint condition satisfies the following inequality: Among them, i refers to the i-th microservice, minnum i Refers to the minimum number of startup nodes for the i-th microservice, num i Refers to the number of startup nodes of the i-th microservice in the candidate deployment specification, mins i refers to the minimum startup specification of the i-th microservice, s i refers to the startup specification of the i-th microservice in the candidate deployment specification, S refers to the maximum resource amount, and n refers to the number of resources of at least one microservice. number, N refers to the number of candidates, min t(j) refers to the minimum performance parameter corresponding to the startup specification and the number of startup nodes of the jth microservice in the candidate deployment specification, T refers to the business performance parameter, B refers to the maximum explosion radius, Rf refers to the number of business copies, X i It refers to the performance baseline of the i-th microservice.
6. The method according to claim 4, characterized in that The business configuration information includes explosion radius weight and resource weight; The selecting a candidate resource deployment strategy from the plurality of candidate resource deployment strategies comprises: A candidate resource deployment strategy is selected from the plurality of candidate resource deployment strategies based on the blast radius weight and the resource weight.
7. The method according to any one of claims 1 to 6, characterized in that: The method further comprises: Acquire user characteristic information, where the user characteristic information is characteristic information of multiple users in the user group of the tenant, and the characteristic information includes risk characteristic information, where the risk characteristic information refers to characteristics that are likely to cause service failures; Based on the risk characteristic information of the multiple users, determining at least one risky user from the multiple users; Grouping the at least one risky user to obtain risky user groups to which the at least one risky user belongs; Based on feature information of regular users among the multiple users, the regular users are grouped to obtain regular user groups to which the regular users belong respectively. The regular users are users among the multiple users except the risky users.
8. The method according to claim 7, characterized in that The resource deployment strategy includes the number of the business units; The method further comprises: Determining the number of user groups based on the number of the service units and the number of the service copies; The grouping of the regular users based on feature information of the regular users among the multiple users includes: The regular users are grouped based on the number of the risky user groups, the number of the user groups, and the characteristic information of the regular users.
9. The method according to claim 8, characterized in that The grouping of the regular users based on the number of the risky user groups, the number of the user groups, and the characteristic information of the regular users includes: Determining a feature vector of the regular user based on the feature information of the regular user; Clustering the regular users based on the feature vectors of the regular users to obtain a plurality of regular user clusters; Based on the multiple regular user clusters and the number of regular groups, regular user groups to which the regular users respectively belong are determined, where the number of regular groups is the difference between the number of user groupings and the number of risky user groups.
10. The method according to any one of claims 1 to 9, characterized in that: The number of business copies is input by the tenant in the configuration interface.
11. The method according to any one of claims 1 to 10, characterized in that After determining the resource deployment strategy of the target service based on the service configuration information and the number of service replicas, the method further includes: A service deployment suggestion interface is displayed, where the service deployment suggestion interface is used to display the resource deployment strategy of the target service.
12. The method according to claim 11, characterized in that The service deployment suggestion interface is also used to display at least one of resource consumption and actual explosion radius, wherein the resource consumption indicates the amount of resources occupied by the resource deployment strategy, and the actual explosion radius indicates the disaster recovery capability of the target service deployed based on the resource deployment strategy.
13. The method according to claim 11 or 12, characterized in that: The service deployment suggestion interface is further used to instruct the tenant to trigger a service deployment request. Before deploying the target service on the multiple service units according to the resource deployment strategy, the method further includes: The service deployment request is received, where the service deployment request is used to instruct the cloud management platform to deploy the target service according to the resource deployment strategy displayed on the service deployment suggestion interface.
14. A service deployment device, characterized in that: The service deployment device is included in a cloud management platform, the cloud management platform is used to manage cloud infrastructure, the cloud infrastructure includes at least one cloud data center, and the at least one cloud data center is deployed with multiple service units, and the device includes: A providing module, configured to provide a configuration interface, wherein the configuration interface is used to instruct the tenant to input service configuration information of the target service to be deployed, wherein the service configuration information is used to configure the target service; A first acquisition module, used to acquire the service configuration information from the configuration interface; The first determination module is used to determine the resource deployment strategy of the target business based on the business configuration information and the number of business copies, and deploy the target business on the multiple business units according to the resource deployment strategy, wherein the resource deployment strategy indicates that one of the business units carries at least one user group of the tenant, and each Rf of the business units carries a business copy of the same user group, Rf is the number of business copies, and Rf≥2.
15. The device according to claim 14, characterized in that The resource deployment strategy indicates that the Rf service copies of the user group are respectively deployed on independent service units, and each of the Rf service units carries at most one service copy of the same user group.
16. The device according to claim 14 or 15, characterized in that The device also includes: A second acquisition module is used to acquire user characteristic information, where the user characteristic information is characteristic information of multiple users in the user group of the tenant, and the characteristic information includes risk characteristic information, where the risk characteristic information refers to characteristics that are likely to cause service failures; A second determination module, configured to determine at least one risky user from the multiple users based on the risk characteristic information of the multiple users; A first grouping module, used to group the at least one risky user to obtain risky user groups to which the at least one risky user belongs; The second grouping module is used to group the regular users among the multiple users based on their feature information to obtain regular user groups to which the regular users belong respectively. The regular users are users among the multiple users except the risky users.
17. The device according to claim 16, characterized in that The resource deployment strategy includes the number of the business units; The device also includes: A third determining module, configured to determine the number of user groups based on the number of the service units and the number of service copies; The second grouping module is specifically used for: The regular users are grouped based on the number of the risky user groups, the number of the user groups, and the characteristic information of the regular users.
18. The device according to any one of claims 14 to 17, characterized in that The number of business copies is input by the tenant in the configuration interface.
19. The device according to any one of claims 14 to 18, characterized in that The device also includes: The display module is used to display a service deployment suggestion interface, wherein the service deployment suggestion interface is used to display the resource deployment strategy of the target service.
20. A computing device cluster, characterized in that: The computing device cluster includes at least one computing device, each computing device including a processor and a memory; The processor of the at least one computing device is used 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-13.
21. A computer-readable storage medium, characterized in that: The storage medium includes computer program instructions. When the computer program instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1 to 13.
22. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device cluster, the computing device cluster executes the method according to any one of claims 1-13.
Citation Information
Patent Citations
Service deployment method, cloud management platform and related device
CN119363810A
Method, device, computer storage medium and terminal for constructing cloud platform
CN109040276A
Tenant isolation method and apparatus of multiple tenants
CN109327422A
Service deployment method, service deployment system, electronic device, and storage medium
WO2023045552A1
CN202310911636A
Cited By
Method for realizing two-place three-center active-active of ESB (Enterprise Service Bus)
CN120123146A