Cloud service providing method and apparatus based on public cloud technology
By offering a variety of specifications and pricing options through a cloud management platform, the difficulty of selection caused by the virtual machine sales model is solved, and the flexibility of virtual instance performance adjustment and cost optimization are realized.
Patent Information
- Application Number
- PCT/CN2025/080154
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-31
- Filing Date
- 2025-03-03
- Publication Date
- 2025-10-30
AI Technical Summary
The current virtual machine sales model is divided into core-bound instances, non-core-bound instances, and performance burst-based points instances, which makes it difficult for tenants to choose and makes it impossible to dynamically adjust performance to adapt to business changes, resulting in poor usage flexibility.
The cloud management platform displays performance ranges and selling price ranges for various specifications, allowing tenants to select specifications, performance levels, and prices, create virtual instances that meet the specifications, and be billed through floating or fixed pricing models. It also supports online adjustment of performance levels and prices.
This reduces the difficulty for tenants when creating virtual instances, enabling dynamic adjustment of performance and price based on demand without changing specifications, thus improving the flexibility and cost-effectiveness of virtual instance usage.
Smart Images

Figure CN2025080154_30102025_PF_FP_ABST
Abstract
Description
Method and apparatus for providing cloud services based on public cloud technology
[0001] This application claims priority to Chinese Patent Application No. 202410509810.3, filed on April 23, 2024, entitled "Method and Apparatus for Setting Up Virtual Instances", and Chinese Patent Application No. 202410707150.X, filed on May 31, 2024, entitled "Method and Apparatus for Providing Cloud Services Based on Public Cloud Technology", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of cloud service technology, and in particular to a method and apparatus for providing cloud services based on public cloud technology. Background Technology
[0003] Cloud vendors typically offer multiple CPU families to meet different CPU performance requirements, such as general-purpose enhanced, general-purpose, and general-purpose entry-level families. Different types of families offer decreasing CPU computing performance, stability, and price, providing users with varying CPU QoS performance experiences. Users choose an appropriate family based on the performance and stability requirements of their deployed services. Different family types can also be categorized according to resource usage, such as shared instances (also known as super-division instances or unbound core instances), dedicated instances (also known as CPU-bound instances), and bonus instances.
[0004] Currently, virtual machines are sold in three modes: core-bound instances, non-core-bound instances, and performance burst-based point instances. Users can choose different price instances according to their business needs to obtain different performance guarantees.
[0005] However, the sales models of core-bound instances, non-core-bound instances, and performance-bursting point instances make it difficult for tenants to make choices. Summary of the Invention
[0006] This application provides a cloud service provision method and apparatus based on public cloud technology. This application reduces the difficulty for tenants in selecting virtual instances. The technical solution provided by this application is as follows:
[0007] Firstly, this application provides a method for providing cloud services based on public cloud technology. This method is executed by a cloud management platform. The cloud management platform is used to manage the infrastructure for providing cloud services. The infrastructure includes multiple servers. The multiple servers are used to deploy virtual instances that implement tenant services. The virtual instances that the multiple servers can provide are of various specifications. The method includes: a cloud management platform displaying the performance range and corresponding selling price range for each of multiple specifications, wherein the performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to the at least two performance levels; the cloud management platform obtaining a virtual instance creation request from a tenant from a cloud resource configuration interface, wherein the virtual instance creation request carries a first specification selected by the tenant, its first performance level, and the corresponding first selling price, wherein the first specification is one of multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level; the cloud management platform selecting a first server from multiple servers that can provide the first performance level of the first specification, creating a first virtual instance that conforms to the first performance level of the first specification on the first server, and billing the first virtual instance based on the first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
[0008] Since tenants only need to select the specifications, performance level, and corresponding selling price of the virtual instance to be created when triggering a virtual instance creation request, instead of choosing between non-super-division, super-division, and points-based instances, this application essentially unifies the current virtual instance selling into three modes: non-super-division, super-division, and points-based instances, into a single selection of specifications, performance, and price. This allows tenants to directly choose the appropriate specifications, performance, and price based on their own needs, eliminating the need for tenants to distinguish between super-division, non-super-division, and points-based instances, thus reducing the difficulty of selection when creating virtual instances.
[0009] In one possible implementation, different performance levels of the same specification can be distinguished by the usage and amount of the server's processor, physical cores, and super-threads provided to the virtual instance. Usage can include exclusive or shared use. The performance achievable by a virtual instance sharing a specified resource is lower than the performance achievable by exclusively using that resource. When virtual instances use a specified resource in the same way, the virtual instance with higher usage will achieve higher performance than the virtual instance with lower usage. Exclusive use of a specified resource by a virtual instance means that the resource is used only by that virtual instance, and other virtual instances cannot use it.
[0010] In one possible implementation, after creating the first virtual instance, the tenant can modify its specifications, performance level, and pricing model according to their needs. The method further includes: the cloud management platform obtaining from the cloud resource configuration interface the second performance level reselected by the tenant within the performance range of the first specification and its corresponding second selling price; scheduling resources for the first virtual instance based on the first specification and the second performance level, ensuring that the specifications of the resources scheduled for the first virtual instance match the specifications indicated by the second performance level of the first specification; and billing the first virtual instance based on the second selling price.
[0011] Since each specification supported by the server in this application can provide at least two performance levels, when a tenant needs to adjust the performance of the first virtual instance, they can choose to adjust the performance level and its corresponding second selling price of the first virtual instance without changing its specifications. This way, the cloud management platform does not need to restart the first virtual instance due to specification adjustments, and can adjust its performance online without affecting the business operations of the first virtual instance, allowing the first virtual instance to obtain different performance experiences without loss. In related technologies, each specification can only provide one performance level, meaning that when a tenant needs to adjust the performance of a virtual instance, they can only do so by adjusting the virtual instance's specifications, and cannot obtain different performance experiences without loss through online dynamic adjustments.
[0012] As one possible implementation, tenants can also set a pricing model. The method further includes: the cloud management platform obtaining the target pricing model set by the tenant from the cloud resource configuration interface; when the target pricing model is a floating pricing model, the cloud management platform, during the operation of the first virtual instance, uses the first selling price as the upper limit of the billing unit price, schedules resources for the first virtual instance based on the load of the first virtual instance, and after each adjustment of the resources of the first virtual instance, adjusts the billing unit price of the first virtual instance according to the actual amount of resources used by the first virtual instance, and bills the first virtual instance at the adjusted billing unit price; when the target pricing model is a fixed pricing model, the cloud management platform, during the operation of the first virtual instance, schedules resources that meet the first selling price for the first virtual instance, and bills the first virtual instance at the first selling price as the billing unit price.
[0013] After a tenant selects a floating pricing model for the first virtual instance, the initial selling price chosen by the tenant becomes the highest possible billing price for that virtual instance. When the first virtual instance is billed using the floating pricing model, if the load on the first virtual instance is low, the cloud management platform will allocate resources matching the lower load. In this case, the allocated resources are less, and the charge is lower, reducing the business cost of the first virtual instance. When the load on the first virtual instance is high, the cloud management platform will allocate resources matching the higher load. In this case, the allocated resources are more, and the charge is higher, ensuring the performance of the first virtual instance. Therefore, the floating pricing model ensures dynamic performance guarantees for the first virtual instance, balancing business cost and performance.
[0014] In one possible implementation, the method further includes: the cloud management platform obtaining the tenant's adjusted target price pattern from the cloud resource configuration interface, scheduling resources and billing for the first virtual instance based on the adjusted target price pattern; and / or, the cloud management platform obtaining the tenant's adjusted selling price from the cloud resource configuration interface, scheduling resources and billing for the first virtual instance based on the adjusted selling price.
[0015] In one possible implementation, the method further includes: after the cloud management platform adjusts the billing unit price of the first virtual instance, it notifies the tenant of the adjusted billing unit price.
[0016] In one possible implementation, when the target price mode is a floating price mode, the cloud management platform uses the first selling price as the upper limit of the billing unit price during the operation of the first virtual instance, and schedules resources for the first virtual instance based on the load of the first virtual instance. This includes: the cloud management platform detects the actual performance data of the first virtual instance during operation, and if the actual performance data does not match the target performance data, the resources of the first virtual instance are adjusted if the infrastructure resources and the first selling price can meet the needs of adjusting the resources of the first virtual instance. Both the actual performance data and the target performance data reflect the performance indicators of the first virtual instance.
[0017] The performance metrics can be either general metrics set by the cloud management platform or user performance metrics set by the tenant for its business. When the performance metrics are user performance metrics set by the tenant, in one possible implementation, the method further includes: the cloud management platform obtaining the user performance metrics set by the tenant from the cloud resource configuration interface, and obtaining the performance metrics of the first virtual instance based on the user performance metrics.
[0018] In one possible implementation, the method further includes: if the cloud management platform cannot adjust the resources of the first virtual instance if the actual performance data does not match the target performance data, the cloud management platform sends an alarm instruction to the tenant.
[0019] Secondly, this application provides a cloud service provision device based on public cloud technology. The device is deployed on a cloud management platform. The cloud management platform manages the infrastructure providing cloud services. The infrastructure includes multiple servers. The multiple servers are used to deploy virtual instances to implement tenant services. The virtual instances that the multiple servers can provide are divided into multiple specifications. The device includes: an interaction module for displaying the performance range and corresponding selling price range of each specification among the multiple specifications, wherein the performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to the at least two performance levels. The interaction module is also used to obtain a tenant's virtual instance creation request from a cloud resource configuration interface. The virtual instance creation request carries a first specification selected by the tenant, its first performance level, and the corresponding first selling price. The first specification is one of multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level. The processing module is configured to select a first server from multiple servers that can provide a first performance level of a first specification, create a first virtual instance that conforms to the first performance level of the first specification in the first server, and bill the first virtual instance based on a first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
[0020] In one possible implementation, different performance levels of the same specification are distinguished by the usage and amount of the server's processor, physical cores, and super-threads provided to the virtual instance, including exclusive or shared usage.
[0021] In one possible implementation, the interaction module is further configured to obtain from the cloud resource configuration interface the second performance level reselected by the tenant within the performance range of the first specification and its corresponding second selling price. Correspondingly, the processing module is further configured to schedule resources for the first virtual instance based on the first specification and the second performance level, such that the specifications of the resources scheduled for the first virtual instance match the specifications indicated by the second performance level of the first specification, and to bill the first virtual instance based on the second selling price.
[0022] In one possible implementation, the interaction module is further configured to obtain the target price mode set by the tenant from the cloud resource configuration interface. The processing module is further configured to, when the target price mode is a floating price mode, schedule resources for the first virtual instance based on its load during operation, using the first selling price as the upper limit of the billing unit price, and after each adjustment of the resources of the first virtual instance, adjust the billing unit price of the first virtual instance according to the actual amount of resources used, and bill the first virtual instance using the adjusted billing unit price. The processing module is further configured to, when the target price mode is a fixed price mode, schedule resources that meet the first selling price for the first virtual instance during operation, and bill the first virtual instance using the first selling price as the billing unit price.
[0023] In one possible implementation, the interaction module is further configured to obtain the tenant's adjusted target price pattern from the cloud resource configuration interface, and the processing module is further configured to schedule resources and charge for the first virtual instance based on the adjusted target price pattern. And / or, the interaction module is further configured to obtain the tenant's adjusted selling price from the cloud resource configuration interface, and the processing module is further configured to schedule resources and charge for the first virtual instance based on the adjusted selling price.
[0024] In one possible implementation, the interaction module is also used to notify the tenant of the adjusted billing unit price after adjusting the billing unit price of the first virtual instance.
[0025] In one possible implementation, the processing module is specifically used to detect the actual performance data of the first virtual instance during runtime. If the actual performance data does not match the target performance data, and the resources of the infrastructure and the first selling price can meet the requirements for adjusting the resources of the first virtual instance, the resources of the first virtual instance are adjusted. Both the actual performance data and the target performance data reflect the performance indicators of the first virtual instance.
[0026] In one possible implementation, the interaction module is further configured to obtain user performance metrics set by the tenant from the cloud resource configuration interface. Correspondingly, the processing module is further configured to obtain the performance metrics of the first virtual instance based on the user performance metrics.
[0027] In one possible implementation, the interaction module is also used to send an alarm instruction to the tenant if the first selling price cannot meet the requirements for adjusting the resources of the first virtual instance when the actual performance data does not match the target performance data.
[0028] Thirdly, this application provides a computing device including a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to perform the methods provided in the first aspect of this application and any possible implementation thereof.
[0029] Fourthly, this application provides a computing device cluster, including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, causing the computing device cluster to perform the methods provided in the first aspect of this application and any possible implementation thereof.
[0030] Fifthly, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, which includes program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the first aspect of this application and any of its possible implementations.
[0031] Sixthly, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the first aspect of this application and any possible implementation thereof. Attached Figure Description
[0032] Figure 1 is a structural schematic diagram of an implementation scenario involving a cloud service provision method based on public cloud technology provided in an embodiment of this application;
[0033] Figure 2 is a schematic diagram of the deployment of basic resources of a data center provided in an embodiment of this application;
[0034] Figure 3 is a flowchart of a cloud service provision method based on public cloud technology provided in an embodiment of this application;
[0035] Figure 4 is a schematic diagram of the configuration interface of a virtual instance provided in an embodiment of this application;
[0036] Figure 5 is a schematic diagram of a virtual instance management page provided in an embodiment of this application;
[0037] Figure 6 is a flowchart of another cloud service provision method based on public cloud technology provided in an embodiment of this application;
[0038] Figure 7 is a schematic diagram of a usage scenario provided by an embodiment of this application;
[0039] Figure 8 is a flowchart of another cloud service provision method based on public cloud technology provided in an embodiment of this application;
[0040] Figure 9 is a schematic diagram of a resource management interface provided in an embodiment of this application;
[0041] Figure 10 is a schematic diagram of a cloud service provision method based on public cloud technology provided in an embodiment of this application;
[0042] Figure 11 is a schematic diagram of a cloud service provision device based on public cloud technology provided in an embodiment of this application;
[0043] Figure 12 is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0044] Figure 13 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;
[0045] Figure 14 is a schematic diagram of another computing device cluster provided in an embodiment of this application. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0047] To facilitate understanding, the technologies and background involved in the embodiments of this application will be explained below.
[0048] Cloud computing is a type of distributed computing that refers to a network that centrally manages and schedules a large number of computing and storage resources to provide on-demand services to users. These computing and storage resources are provided through clusters of computing devices located in data centers. Furthermore, cloud computing can provide users with various types of services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). Infrastructure as a Service provides virtual machines or other resources as a service to tenants. Platform as a Service provides a development platform as a service to tenants. Software as a Service provides applications (Apps) as a service to customers.
[0049] An Internet Data Center (IDC) is a facility and related service system that provides operation and maintenance for equipment that centrally collects, stores, processes, and transmits data, based on the Internet. Conceptually, it can be understood as a public, commercial Internet "server room," and it is also a professional IT service and a crucial infrastructure for the IT industry. IDC is not only a service concept but also a network concept; it constitutes part of the network infrastructure resources, like backbone networks and access networks, providing high-end data delivery and high-speed access services. Generally, a tenant's on-premises IDC can be understood as their physical server room, where the tenant utilizes existing Internet communication lines and bandwidth resources to establish a standardized, telecommunications-grade server room environment to provide comprehensive services such as server hosting, leasing, and related value-added services. A cloud data center is an Internet data center deployed using the infrastructure resources owned by cloud vendors.
[0050] A resource pool is a collection of various hardware and software resources involved in a cloud data center. Typically, resources in a resource pool can be categorized by type, such as computing resources, storage resources, and network resources.
[0051] A physical machine (PM) is the physical resource used to host virtualization technology. It is also called a physical server. Typically, a physical machine is used to deploy virtual instances. A physical machine has multiple physical devices. For example, a physical server has physical devices such as processors and memory. Multiple virtual instances can be deployed on a single physical machine, sharing the machine's physical resources. Depending on the use case, multiple virtual instances deployed on a single physical machine can belong to the same tenant or to different tenants.
[0052] Virtualization is a resource management technology. Virtualization abstracts and transforms various physical resources of a host, such as computing, network, and storage resources, breaking down the indivisible barriers between the host's physical structures. This allows tenants to utilize these resources in a better way than the original configuration. Resources obtained through virtualization are called virtualized resources, and virtualized resources are not limited by the existing physical resource deployment methods, geographical location, or physical configuration.
[0053] Virtualized resources are typically provided to tenants in the form of virtual instances. Virtual instances utilize the host's hardware resources and run on the host's operating system. Applications run within virtual instances to implement the tenant's business logic. The host's hardware resources can be allocated to one or more tenants at the virtual instance level. Different virtual instances are isolated from each other, allowing tenants to use physical resources conveniently and flexibly while maintaining security and isolation, significantly improving the utilization of physical resources. Typically, virtual instances can be virtual machines, containers, or independent processes (such as functions). Virtual instances can also be called Elastic Compute Service (ECS) or Elastic Instances (different cloud service providers may use different names).
[0054] A virtual machine (VM) is a complete computer system with full hardware system functionality, simulated using virtualization technology and running in a completely isolated environment. A subset of the instructions in a VM can be processed on the host machine, while other instructions can be executed in a simulated manner. A VM is also called a virtual server. A VM can be viewed as a collection of virtual devices, which possess full hardware system functionality and run in a completely isolated environment. Virtual devices are created by virtualizing physical devices that can share resources. For example, a virtual processor, created by virtualizing a processor, is a virtual device. Similarly, a training card, created by virtualizing a field-programmable gate array (FPGA), is also a virtual device. For instance, the VM in this application can be a kernel-based virtual machine (KVM). Any task that can be performed on a server can also be performed in a VM. When creating a virtual machine on a server, a portion of the physical machine's hard drive and memory capacity is used as the virtual machine's hard drive and memory capacity. Each virtual machine has its own independent hard drive and operating system, and virtual machine tenants can operate the virtual machine as if it were a server. The runtime environments (such as virtual machine applications, operating systems, and virtual hardware) in different virtual machines are completely isolated, and communication between different virtual machines requires the virtual machine manager to forward network packets.
[0055] Containers utilize the namespace and cgroup technologies supported by the Linux kernel to isolate application processes and their dependencies (the runtime environment's bins / libs, specifically all files required to run the application) within an independent runtime environment. Containers provide a lightweight virtual runtime environment. Containers are created by packaging all the code, libraries, and dependencies of a tenant's application into an image. When the image is executed, it runs in a virtual runtime environment. At this point, the container is a runtime instance of the image, similar to a lightweight sandbox, which can be started, stopped, and deleted. The infrastructure for containers can be server hardware or virtual machines in the cloud (i.e., containers can also be deployed within virtual machines). The operating system uses the Linux kernel and supports namespaces and cgroups. Namespaces are used to isolate processes, while cgroups are used to allocate process resources, specifically virtual processors and memory allocated to the process. The container engine, similar to a virtual machine manager, runs within the operating system and is used to manage containers. Compared to virtual machines, which come with their own operating system, containers do not have an operating system. Instead, containers run as processes within the host machine's operating system. As a result, containers start up faster than virtual machines, making them particularly suitable for lightweight applications. Furthermore, a single host machine can run thousands of containers (processes) simultaneously.
[0056] Network interface card (NIC): also known as network interface controller, network adapter, or local area network receiver, is a type of computer hardware designed to allow hosts or computing devices to communicate over a network.
[0057] Memory (RAM): Also known as internal memory or main memory, its function is to temporarily store the data processed by the CPU, as well as the data exchanged with external storage devices such as hard drives.
[0058] Quality of Service (QoS) is a technology for effectively managing network resources. QoS provides end-to-end quality of service guarantees to meet the diverse needs of various services. With limited bandwidth resources, QoS allows different traffic flows to compete for network resources unequally, enabling better service capabilities for specific network communications. For example, voice, video, and critical data applications can receive priority service in network devices.
[0059] Resource pooling refers to integrating various computing and storage resources into a unified resource pool for dynamic allocation and management. Resource pooling enables high resource sharing, improves resource utilization, simplifies resource management, and provides users with flexible on-demand allocation services.
[0060] Cloud vendors typically offer multiple CPU families to meet different CPU performance requirements, such as General-Purpose Enhanced, General-Purpose Compute, and General-Purpose Entry-Level families. Different family types offer decreasing CPU computing performance, stability, and price, providing users with varying CPU QoS performance experiences. Users choose an appropriate family based on the performance and stability requirements of their deployed services. Different family types can be further categorized according to resource usage, including shared instances (also known as super-division instances or unbound core instances), dedicated instances (also known as CPU-bound instances), and bonus instances. For example, typical examples of shared instances are General-Purpose Compute instances and General-Purpose Entry-Level instances. Dedicated instances are all instances other than General-Purpose Compute instances and General-Purpose Entry-Level instances.
[0061] General-purpose compute elastic cloud servers primarily provide basic vCPU performance and balanced compute, memory, and network resources. Technically, they employ a non-bound CPU shared scheduling model, where vCPUs are randomly allocated to idle CPU hyperthreads based on system load. While offering high computing power under light host load, performance fluctuations can occur under heavy load due to contention for physical CPU resources among different instance vCPUs. Compared to general-purpose compute enhanced instances, general-purpose compute elastic cloud servers prioritize resource sharing and cannot guarantee stable instance performance, but offer better value for money. They are suitable for cost-sensitive scenarios with high tolerance for performance fluctuations, and are particularly well-suited for general workloads such as web servers, developer environments, and small databases, making them an excellent choice for many applications.
[0062] The Incentive Instance is designed with an incentive mechanism to meet sudden CPU performance demands from customers. Incentives are accumulated when CPU performance falls below the baseline, and consumed when performance exceeds the baseline to meet business needs, until all incentives are depleted and performance returns to the baseline. The basic performance and burst capabilities of an Incentive Instance are constrained by CPU incentives. Each Incentive Instance continuously receives CPU incentives, the frequency of which depends on the instance size. One CPU incentive can provide full CPU core performance within one minute.
[0063] Currently, virtual machine sales are divided into three models: core-bound instances, unbound instances, and performance burst-based premium instances. Users can choose different priced instances based on their business needs to obtain different performance guarantees. However, the sales models of core-bound instances, unbound instances, and performance burst-based premium instances make it difficult for users to choose. Furthermore, for a given type of hardware, users can only choose a fixed specification and cannot dynamically adjust core binding and over-division strategies. This results in instance performance not adapting to changes in business needs and poor instance usage flexibility.
[0064] In view of this, this application provides a cloud service provision method. This method is executed by a cloud management platform. The cloud management platform manages the infrastructure providing cloud services. The infrastructure includes multiple servers. The multiple servers are used to deploy virtual instances that implement tenant services. The virtual instances that the multiple servers can provide are divided into multiple specifications. In this cloud service provision method, the cloud management platform displays the performance range and corresponding selling price range for each specification among the multiple specifications. The performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to the at least two performance levels. After obtaining the first specification selected by the tenant, its first performance level, and the corresponding first selling price from the cloud resource configuration interface, the cloud management platform can select a first server that can provide the first performance level of the first specification from among the multiple servers, create a first virtual instance that conforms to the first performance level of the first specification on the first server, and bill the first virtual instance based on the first selling price. Here, the first specification is one of multiple specifications. The first performance level is within the performance range corresponding to the first specification. The first selling price is the selling price corresponding to the first performance level. The specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
[0065] Since tenants only need to select the specifications, performance level, and corresponding selling price of the virtual instance to be created when triggering a virtual instance creation request, instead of choosing between non-super-division, super-division, and points-based instances, this application essentially unifies the current virtual instance selling into three modes: non-super-division, super-division, and points-based instances, into a single selection of specifications, performance, and price. This allows tenants to directly choose the appropriate specifications, performance, and price based on their own needs, eliminating the need for tenants to distinguish between super-division, non-super-division, and points-based instances, thus reducing the difficulty of selection when creating virtual instances.
[0066] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, methods and processes, hardware devices, and software devices.
[0067] The following are examples illustrating the implementation scenarios of the embodiments of this application.
[0068] Figure 1 is a structural diagram of an implementation scenario involving a cloud service provision method provided in this application. As shown in Figure 1, the implementation scenario includes: a data center 1 and a client 2. The data center 1 and client 2 can establish a communication connection through a network. Optionally, the network can be the Internet, or other networks; this application embodiment does not limit the specific network. Tenants can interact with the data center 1 through client 2. For example, a tenant can send cloud service requests and other information to the data center 1 through client 2. The data center 1 responds based on the information sent by client 2.
[0069] Data center 1 houses a large amount of infrastructure owned by a cloud service provider, such as computing resources, storage resources, and network resources. For example, computing resources can be computing devices (such as servers) capable of providing computing power. As shown in Figure 1, data center 1 includes a cloud management platform and infrastructure (not shown in Figure 1). The cloud management platform and infrastructure are connected via an internal data center network. The cloud management platform manages the infrastructure. The infrastructure provides public cloud services. The infrastructure includes multiple servers. Cloud services are optionally deployed on the servers. Cloud services are implemented by running virtual instances, and are therefore also referred to as virtual instances deployed on servers to implement tenant services. Tenants can send cloud service requests and related information to the server through their client 2. The server can process the cloud service requests and related information and provide cloud services to the tenant based on the processed cloud service requests and related information. For example, the cloud management platform can provide cloud services to tenants using the cloud service provision method provided in this embodiment.
[0070] The cloud management platform can be logically divided into: tenant console, compute management service, network management service, storage management service, authentication service, and image management service. The tenant console provides a user interface or application programming interface (API) for interaction with tenants. The compute management service manages servers running virtual instances and bare metal servers. The network management service manages network services (such as gateways and firewalls). The storage management service manages storage services (such as data bucket services). The authentication service manages tenant accounts and passwords. The image management service manages virtual instance images.
[0071] In the implementation scenario shown in Figure 1, a data center contains multiple servers. The servers consist of a hardware layer and a software layer. The hardware layer comprises the standard server configuration, including hardware devices such as processors, memory, network interface cards (NICs), disks, and buses. The software layer includes the operating system installed and running on the server. The operating system relative to the virtual machine can be called the host operating system. The host operating system runs a virtual machine manager (also known as a hypervisor). The virtual machine manager's role is to implement compute virtualization, network virtualization, and storage virtualization for the virtual machines, and to manage the virtual machines.
[0072] The virtual machine manager runs a cloud management platform client. This client receives control plane commands from the cloud management platform, creates virtual instances on the server based on these commands, and manages the virtual instances throughout their lifecycle. For example, the client can monitor the hardware resource usage of the server in real time and report it to the cloud management platform. When the cloud management platform confirms that a virtual instance needs to be created on a specific server, it sends a virtual instance creation command to the client on that server. Upon receiving the command, the client creates the virtual instance on that server. In this way, tenants can create, manage, log in to, and operate virtual instances within the data center through the cloud management platform.
[0073] Servers can run virtual machines of different specifications. Virtual machine specifications are categorized as: general-purpose computing, memory-optimized, ultra-large memory, etc., with specific specifications under each type. After a tenant selects a virtual machine specification, the cloud management platform selects a server in the data center that supports that specification and ensures sufficient idle hardware resources on that server. Then, it creates and configures the virtual machine with that specification on that server. Configuring servers through the cloud management platform allows for the analysis and planning of server hardware resources. Based on the server's hardware performance, it plans the corresponding computing products for the physical hardware, such as planning virtual machines of different specifications, to meet the diverse needs of different tenants. Furthermore, differentiated pricing strategies can be implemented based on the performance differences of virtual machines of different specifications. For example, high-performance virtual instances can be sold at a higher price, while ordinary performance virtual instances can be sold at a lower price, allowing tenants to purchase virtual instances as needed.
[0074] In one implementation, as shown in Figure 2, the location of basic resources in a data center can be described by cloud resource deployment regions (regions) and availability zones (AZs). Tenants can choose to deploy cloud services based on resources in specific regions and AZs. Regions are defined based on geographical location and network latency. Using the same resource pool within the same region can be understood as sharing public services such as elastic computing, block storage, object storage, virtual private cloud (VPC) networks, elastic internet protocol (EIP) addresses, and images. Regions are divided into general regions and dedicated regions. General regions refer to regions that provide general cloud services to public tenants. Dedicated regions refer to dedicated regions that host the same type of business or provide business services to specific tenants. A region typically includes multiple AZs. Multiple AZs within a region are connected via high-speed fiber optic cables to meet the needs of tenants building high-availability systems across AZs. An AZ is a collection of one or more data centers as shown in Figure 2. Computing, network, and storage resources within an AZ are logically divided into multiple clusters.
[0075] Tenants can send instructions to the cloud management platform through their client 2 to create, manage, log in to, and operate virtual instances on the server, and use the cloud services provided by these virtual instances. For example, the cloud management platform can provide an access interface. This interface can be provided either as a user interface or an API. Tenants can operate their client to remotely access the access interface to register a cloud account and password on the cloud management platform, and then log in using these accounts and passwords. The cloud management platform can also authenticate the cloud account and password. After successful authentication, the tenant can further select and purchase a virtual instance with specific specifications (processor, memory, disk) on the cloud management platform. After the tenant successfully purchases the virtual instance, the cloud management platform provides the tenant with a remote login account and password for the purchased virtual instance. The tenant can use the remote login account and password to remotely log in to the virtual instance on their client, install and run their application within the virtual instance, and use the application to implement their business operations.
[0076] Client 2 can be selected from computers, personal computers, laptops, mobile phones, smartphones, tablets, cloud servers, portable mobile terminals, multimedia players, e-book readers, wearable devices, smart home appliances, artificial intelligence devices, smart wearable devices, smart in-vehicle devices, or Internet of Things devices, etc.
[0077] In one implementation, the cloud service provision method provided in this application embodiment can be implemented by running an executable program on a computing device in data center 1. Optionally, the cloud service provision method provided in this application embodiment can be applied to a cloud service provision system. This cloud service provision system is deployed on a server managed by a cloud management platform. The cloud service provision system can implement the cloud service provision method provided in this application embodiment by running the executable program. Furthermore, the executable program implementing the cloud service provision method can optionally be presented in the form of an application installation package. After the server installs the application installation package, it can implement the cloud service provision method provided in this application embodiment by running the executable program therein.
[0078] It should be understood that the above content is an exemplary description of the implementation scenarios of the cloud service provision method provided in the embodiments of this application, and does not constitute a limitation on the implementation scenarios of the cloud service provision method. Those skilled in the art will know that as business needs change, the implementation scenarios can be adjusted according to application requirements, and the embodiments of this application do not specifically limit them. Furthermore, when the cloud service provision method provided in the embodiments of this application is applied to other scenarios, the executable program of the method can also be presented in the form of an application installation package or in other ways, and the embodiments of this application do not list them all.
[0079] The following describes the implementation process of a cloud service provision method provided in this application, applied to a cloud management platform, as an example. The cloud management platform manages the infrastructure for providing cloud services. The infrastructure includes multiple servers. These servers are used to deploy virtual instances that implement tenant services. The virtual instances that the multiple servers can provide are of various specifications. Figure 3 is a flowchart of a cloud service provision method provided in this application. As shown in Figure 3, the cloud service provision method includes the following steps:
[0080] Step 301: The virtual instances that the multiple servers managed by the cloud management platform can provide are divided into various specifications. The cloud management platform displays the performance range and corresponding selling price range of each specification. The performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to at least two performance levels.
[0081] The cloud management platform manages servers that can provide virtual instances in various specifications. After obtaining these specifications, their performance ranges, and corresponding price ranges, the cloud management platform can display each specification, performance range, and price range to tenants, allowing them to select the virtual instance they need. In one implementation, the cloud management platform can display a resource interface on the tenant's client, showing the various specifications, performance ranges, and price ranges supported by the servers managed by the cloud management platform. Tenants include customers who directly use virtual instances and customers who purchase virtual instances through advanced cloud services.
[0082] In this application, the performance provided by a virtual instance of any of the multiple specifications can vary within a specified performance range. Each of the multiple specifications has a performance range and its corresponding selling price range. The selling price range corresponding to any performance range is the billing unit price for the virtual instance providing that performance range. In one possible implementation, the performance range can be represented by an upper performance limit and a lower performance limit, then the performance range achievable by a virtual instance of any specification is the range between its lower and upper performance limits. Similarly, the selling price range can also be represented by an upper and lower price limit, then the selling price range corresponding to the performance range is the range between its lower and upper price limits. The performance range includes at least two performance levels, and the selling price range corresponding to the performance range includes at least two selling prices, with at least two performance levels corresponding to at least two selling prices. When a tenant selects a performance level, the cloud management platform charges the tenant for the virtual instance using the selling price corresponding to the selected performance level. Optionally, there may be a one-to-one correspondence between at least two performance levels in the performance range and at least two selling prices in the corresponding selling price range.
[0083] In one possible implementation, different performance levels of the same specification can be distinguished by the usage and amount of the server's processor, physical cores, and super-threads provided to the virtual instance. Usage can include exclusive or shared use. The performance achievable by a virtual instance sharing a specified resource is lower than the performance achievable by exclusively using that resource. When virtual instances use a specified resource in the same way, the virtual instance with higher usage will achieve higher performance than the virtual instance with lower usage. Exclusive use of a specified resource by a virtual instance means that the resource is used only by that virtual instance, and other virtual instances cannot use it.
[0084] For example, Table 1 shows the various specifications, performance ranges, and corresponding price ranges that the servers managed by the cloud management platform can support. As shown in Table 1, the servers can support three specifications: 2U 4G, 4U 8G, and 8U 16G. The lowest price for each specification is obtained when sharing the server's physical cores and using a 6x overclocking factor, while the highest price is obtained when exclusively using the server's physical cores (also known as 1x overclocking factor). Specifically, the 2U 4G specification achieves a minimum performance of 200, a maximum performance of 1200, a minimum selling price of 2, and a maximum selling price of 12. The 4U 8G specification achieves a minimum performance of 400, a maximum performance of 2400, a minimum selling price of 4, and a maximum selling price of 24. The 8U 16G specification achieves a minimum performance of 800, a maximum performance of 4800, a minimum selling price of 8, and a maximum selling price of 48.
[0085] Table 1
[0086] Step 302: The cloud management platform obtains the tenant's virtual instance creation request from the cloud resource configuration interface. The virtual instance creation request carries the tenant's selected first specification, first performance level, and corresponding first selling price. The first specification is one of multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level.
[0087] When a tenant needs to create a virtual instance based on infrastructure managed by the cloud management platform, they can perform a specified operation on their client to trigger a virtual instance creation request. The cloud management platform then creates the virtual instance for the tenant under the guidance of this request. In one possible implementation, the cloud management platform can provide a cloud resource configuration interface to the tenant. When the tenant needs to create a virtual instance, they can access this interface and select the specifications, performance level, and selling price of the virtual instance to be created in the resource interface, triggering the virtual instance creation request. The virtual instance creation request carries the tenant's selected first specification, first performance level, and corresponding first selling price. The first specification is one of several specifications supported by the multiple servers managed by the cloud management platform; the first performance level is within the performance range corresponding to the first specification; and the first selling price is the selling price corresponding to the first performance level. After the tenant triggers the virtual instance creation request, the cloud management platform can obtain the virtual instance creation request through the cloud resource configuration interface and retrieve the first specification, first performance level, and corresponding first selling price from it. For example, the cloud resource configuration interface is implemented through an application programming interface (API).
[0088] In one implementation, when the tenant's client displays the performance range and corresponding price range for each of several specifications, the tenant can select a specification from the multiple options based on their business needs, potential performance fluctuations, and cost considerations. Within that specification's performance range, the tenant then selects a performance level. Since performance levels and prices are correlated, selecting a performance level automatically selects the corresponding price. Alternatively, the tenant can select a price within the price range of their chosen specification. After selecting a price, the corresponding performance level is selected. Simultaneously, the tenant can configure or select other virtual instance parameters on the client. Submitting this selection to the cloud management platform after configuration or selection triggers a virtual instance creation request. The process of selecting a performance level is equivalent to specifying the QoS computing power of the virtual instance, and obtaining the corresponding price based on the selected performance level is equivalent to determining different prices based on the specified QoS computing power. The process of selecting a selling price is equivalent to specifying a selling price, and the process of obtaining the corresponding performance level based on the selected selling price is equivalent to specifying a selling price to instruct the virtual instance to provide the corresponding QoS computing power guarantee.
[0089] For example, Figure 4 is a schematic diagram of a virtual instance configuration interface provided in an embodiment of this application. As shown in Figure 4, a drop-down arrow is displayed after the specification option. After the tenant clicks the drop-down arrow (the black triangle in Figure 4), the interface will display all specifications that the server can support. After the tenant selects a specification, the interface will display the performance range that the virtual instance of that specification can achieve and its corresponding selling price range (not shown in Figure 4). After the tenant selects a performance level in the performance range, the selling price corresponding to that performance level will be displayed. Alternatively, as shown in Figure 4, the virtual instance configuration interface also displays "Specify QoS" and "Specify Price" buttons. When the tenant clicks the "Specify QoS" button, they can specify the QoS for the virtual instance; when the tenant clicks the "Specify Price" button, they can specify the selling price for the virtual instance. After the tenant completes the configuration of all parameters in the interface, clicking the "Submit" button in the interface will trigger a virtual instance creation request, and the virtual instance creation request will carry all the parameters configured by the tenant.
[0090] As can be seen from the above, this application is equivalent to dividing the current sale of virtual instances into three modes: non-super-division, super-division, and points instances, and unifying them into the selection of specifications, performance, and price. This allows tenants to directly select the appropriate specifications, performance, and price based on their own needs, without having to distinguish between super-division instances, non-super-division instances, and points instances, thus reducing the difficulty for tenants in making choices when creating virtual instances.
[0091] Step 303: The cloud management platform selects a first server that can provide the first performance level of the first specification from multiple servers, creates a first virtual instance that conforms to the first performance level of the first specification in the first server, and bills the first virtual instance based on the first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
[0092] After obtaining the first specification, first performance level, and corresponding first selling price selected by the tenant, the cloud management platform can select a server from the infrastructure that can provide the first specification and first performance level, thus obtaining the first server. Then, a first virtual instance conforming to the first specification and first performance level is created on the first server. The first virtual instance conforming to the first specification and first performance level means that the parameters of the first virtual instance match the first specification and first performance level. For example, when the first specification and first performance level indicate multiple parameters (such as computing power, memory size, memory bus width, and memory bandwidth), the multiple parameters allocated by the cloud management platform to the first virtual instance correspond one-to-one with the multiple parameters indicated by the first specification and first performance level, and any one of the multiple parameters allocated by the cloud management platform to the first virtual instance is equal to or slightly greater than the corresponding parameter indicated by the first specification and first performance level. After the first virtual instance is created, the cloud management platform can bill the first virtual instance based on the first selling price. For example, Figure 5 is a schematic diagram of a virtual instance management page provided in an embodiment of this application. As shown in Figure 5, the tenant can see the real-time QoS indicators and billing price (i.e., instance pricing) of their virtual instance on the management page. The billing price displayed here may be the unit price of the virtual instance or the total price of the virtual instance, or even both the unit price and the total price may be displayed on the management page. This application embodiment does not specifically limit it.
[0093] As one possible implementation, tenants can also set a pricing model. The cloud management platform's implementation of billing the first virtual instance based on the first selling price, and the implementation of scheduling resources for the first virtual instance, differ slightly under different pricing models. Examples are given below. As shown in Figure 6, the method further includes steps 304 to 305.
[0094] Step 304: The cloud management platform obtains the target price model set by the tenant from the cloud resource configuration interface.
[0095] The cloud management platform can display a pricing model settings interface to tenants. This interface offers tenants multiple alternative pricing models to choose from. In one possible implementation, the cloud management platform provides a cloud resource configuration interface to tenants. When a tenant needs to set the pricing model for their first virtual instance, they can use this interface to select a target pricing model based on their business requirements. After the tenant selects a target pricing model, the cloud management platform can retrieve it from the cloud resource configuration interface. The pricing model settings interface and the resource interface can be independent interfaces, or they can be displayed on the same interface. As shown in Figure 4, the virtual instance configuration interface includes options for selecting resources and selecting a pricing model; in this case, the pricing model configuration interface and the resource interface can be considered to be displayed on the same screen.
[0096] Alternative pricing models can be determined based on the cloud management platform's resource management methods. For example, alternative pricing models include fixed-price and floating-price models. After a tenant selects a fixed-price model for the first virtual instance, the initial selling price chosen by the tenant becomes the fixed price for that virtual instance. The cloud management platform uses this fixed price for resource allocation and billing for the first virtual instance. Typically, the load on the first virtual instance may fluctuate, ranging from low to high loads. When the load on the first virtual instance is high, it requires more resources. When the load on the first virtual instance is low, it requires fewer resources. When a tenant selects a fixed-price model for the first virtual instance, regardless of the load, the cloud management platform uses a fixed price for billing, and the amount of resources allocated to the first virtual instance by the cloud management platform is the amount corresponding to that fixed price, even if this maximum resource amount cannot meet the performance requirements of the first virtual instance. In other words, when a tenant selects the fixed price mode for the first virtual instance, regardless of the load size of the first virtual instance, the cloud management platform will provide the first virtual instance with the corresponding fixed computing power QoS based on the fixed price selected by the tenant.
[0097] After a tenant selects a floating pricing model for the first virtual instance, the initial selling price chosen becomes the highest possible billing price for that virtual instance. When allocating resources and billing for the first virtual instance, the cloud management platform prioritizes meeting the performance requirements of the virtual instance's load, allocating resources on demand and charging based on the allocated resource quantity. Therefore, when the first virtual instance uses a floating pricing model, if its load is low, the cloud management platform will allocate resources matching the lower load, resulting in lower charges and reduced business costs. Conversely, when the load is high, the cloud management platform will allocate more resources matching the higher load, ensuring performance. Thus, the floating pricing model guarantees dynamic performance for the first virtual instance while balancing business costs and performance.
[0098] Step 305: When the target price mode is a floating price mode, the cloud management platform uses the first selling price as the upper limit of the billing unit price during the operation of the first virtual instance, schedules resources for the first virtual instance based on the load of the first virtual instance, and adjusts the billing unit price of the first virtual instance according to the actual amount of resources used by the first virtual instance after each adjustment of the resources of the first virtual instance, and bills the first virtual instance with the adjusted billing unit price. When the target price mode is a fixed price mode, the platform schedules resources that meet the first selling price for the first virtual instance during the operation of the first virtual instance, and bills the first virtual instance with the first selling price as the billing unit price.
[0099] When the target price mode is a fixed price mode, the first selling price selected by the tenant for the first virtual instance is the billing unit price for the first virtual instance, which will not change with the amount of resources used by the first virtual instance. Therefore, when the first virtual instance's price mode is a fixed price mode, the cloud management platform schedules resources with a billing unit price of the first selling price for the first virtual instance based on the first virtual instance's load, and bills the first virtual instance at the first selling price. Specifically, when the target price mode is a fixed price mode, the cloud management platform can optionally set the CPU binding policy, CPU quota value, and memory value for the first virtual instance based on its first selling price when setting performance guarantee policies for the first virtual instance. In this case, when the cloud management platform schedules resources with a billing unit price of the first selling price for the first virtual instance based on its load, it needs to maintain the CPU binding policy, CPU quota value, and memory value unchanged during resource scheduling.
[0100] When the target pricing model is a floating pricing model, the first selling price selected by the tenant for the first virtual instance is the upper limit of the billing unit price for the first virtual instance. This first selling price can be considered the maximum billing unit price that the tenant can accept. Therefore, when the pricing model for the first virtual instance is a floating pricing model, when the cloud management platform schedules resources for the first virtual instance based on its load, it needs to ensure that the billing unit price of the scheduled resources is within the price range capped by the first selling price. That is, when the cloud management platform expects the billing unit price of the resources scheduled for the first virtual instance to be less than or equal to the first selling price, it will schedule resources for the first virtual instance according to the expected schedule; when the cloud management platform expects the billing unit price of the resources scheduled for the first virtual instance to be greater than the first selling price, it will schedule resources for the first virtual instance with a billing unit price less than or equal to the first selling price. Furthermore, the billing price for the first virtual instance may change after the cloud management platform allocates resources. Therefore, after each adjustment to the resources of the first virtual instance, the cloud management platform needs to adjust the billing price of the first virtual instance according to the actual amount of resources used, and bill the first virtual instance based on the adjusted billing price. It should be noted that when a tenant selects a floating price mode, they can also choose a lower limit for the billing price of the first virtual instance. In this case, when allocating resources for the first virtual instance, the cloud management platform will allocate resources within the price range defined by the upper and lower limits of the billing price.
[0101] As one possible implementation, when the target price mode is a floating price mode, the process of the cloud management platform scheduling resources for the first virtual instance based on the load of the first virtual instance includes: steps 3051 to 3053.
[0102] Step 3051: The cloud management platform detects the actual performance data of the first virtual instance during runtime. If the actual performance data does not match the target performance data, the resources of the first virtual instance are adjusted if the infrastructure resources and the first selling price can meet the requirements for adjusting the resources of the first virtual instance.
[0103] The cloud management platform can detect the actual performance data of the first virtual instance during runtime and decide whether to adjust the resources provided to the first virtual instance based on the actual performance data. After detecting the actual performance data of the first virtual instance, the cloud management platform can compare the actual performance data with the target performance data of the first virtual instance. When the actual performance data does not match the target performance data, it means that the resources currently provided to the first virtual instance cannot enable the first virtual instance to achieve the target performance data, and the resources provided to the first virtual instance need to be adjusted. Then, the cloud management platform generates an adjustment strategy and compares the adjustment strategy with the idle resources of the infrastructure and the first selling price to determine whether the resources of the infrastructure and the first selling price can meet the needs of adjusting the resources of the first virtual instance. If the resources of the infrastructure and the first selling price can both meet the needs of adjusting the resources of the first virtual instance, the adjustment strategy is executed to adjust the resources for the first virtual instance. The cloud management platform can adjust the resources for the first virtual instance by adjusting the usage and amount of the processors, physical cores, and super-division threads of the server providing the virtual instance. When the local resources of the server where the first virtual instance resides cannot meet the resource adjustment, the first virtual instance can be migrated to another server to achieve the resource adjustment for the first virtual instance. In this context, "the resources of the infrastructure satisfy the adjustment of the resources of the first virtual instance" means that the specifications of the idle resources of the infrastructure are greater than or equal to the specifications of the additional resources added to the first virtual instance compared to the resources already allocated to it in the adjustment strategy. "The first selling price satisfies the adjustment of the resources of the first virtual instance" means that the selling price of the resources to be allocated to the first virtual instance as indicated by the adjustment strategy is not higher than the first selling price of the first virtual instance. The rules for generating the adjustment strategy by the cloud management platform can be adjusted according to application requirements, and this embodiment does not specifically limit them.
[0104] Optionally, there are multiple ways to determine whether the actual performance data matches the target performance data. For example, the cloud management platform can determine that the actual performance data does not match the target performance data as soon as it finds that the actual performance data of the first virtual instance has not reached the target performance data. Alternatively, the cloud management platform can obtain the actual performance data of the first virtual instance multiple times during runtime and compare the obtained actual performance data with the target performance data. When the total number of times the obtained actual performance data fails to reach the target performance data reaches a specified threshold, it is determined that the actual performance data does not match the target performance data. It should be understood that the cloud management platform can also use other methods to determine whether the actual performance data matches the target performance data; these will not be listed here.
[0105] Both actual performance data and target performance data reflect the performance metrics of the first virtual instance. The performance metrics in this application can be determined according to application requirements. For example, performance metrics can be indicators measuring resource quantity. For instance, performance metrics can be the computing power and memory size of the physical cores allocated to the first virtual instance. Alternatively, performance metrics can be indicators measuring business processing efficiency. For instance, performance metrics can be the number of tasks processed per second, response latency, and business processing latency of the first virtual instance. It should be understood that performance metrics can also be implemented in other ways, which will not be listed here. Furthermore, performance metrics can be general metrics set by the cloud management platform, or user performance metrics set by the tenant for its business. When the performance metrics are user performance metrics set by the tenant, the cloud service provision method provided in this application further includes: the cloud management platform obtaining the user performance metrics set by the tenant from the cloud resource configuration interface, and obtaining the performance metrics of the first virtual instance based on the user performance metrics. Moreover, during the operation of the first virtual instance, the tenant can also update the user performance metrics.
[0106] In one possible implementation, since the first virtual instance conforms to the first performance level of the first specification, this first performance level of the first specification essentially indicates the target performance data that the first virtual instance needs to meet. After receiving the first performance level of the first specification indicated by the tenant, the cloud management platform can obtain the target performance data indicated by the first performance level of the first specification. For example, the cloud management platform maintains a correspondence between specifications, performance levels, and target performance data. After obtaining the first performance level of the first specification that the first virtual instance needs to conform to, the cloud management platform can look up this correspondence based on the first specification and the first performance level to obtain the target performance data that the first virtual instance should meet.
[0107] It should be noted that, to ensure that infrastructure resources can meet the needs of adjusting the resources of the first virtual instance, the cloud management platform can reserve resources for the first virtual instance based on its initial selling price. This ensures that when resources at the same selling price need to be allocated to the first virtual instance, resources can still be scheduled for it. Furthermore, the cloud management platform can promptly expand the infrastructure based on the usage of basic resources. Additionally, when basic resources are about to be exhausted, the cloud management platform can instruct tenants to prohibit price adjustments. For example, it can display "resources sold out" on the resource interface.
[0108] Step 3052: If the actual performance data does not match the target performance data, and the first selling price cannot meet the requirements for adjusting the resources of the first virtual instance, the cloud management platform will send an alarm instruction to the tenant.
[0109] The first selling price being insufficient to meet the resource adjustment for the first virtual instance means that the selling price of the resources to be allocated to the first virtual instance, as indicated by the adjustment strategy, is higher than the selling price of the additional resources already allocated to the first virtual instance. In this case, the cloud management platform can send an alert to the tenant to inquire whether they need to adjust the resources to ensure that the actual performance data of the first virtual instance meets the target performance data.
[0110] In this application, tenants can choose the selling price and pricing model of the first virtual instance based on their own needs, which has multiple use cases. The following uses four use cases as shown in Figure 7 as examples to illustrate this.
[0111] In the first use case, as shown in Figure 7, tenant A does not require performance guarantees but needs to ensure low business costs. They choose the lowest price within the price range corresponding to a certain specification and select a fixed-price mode. The cloud management platform then sets a QoS guarantee cap for tenant A based on their chosen price, limiting the maximum resource usage and providing a fixed computing power QoS during the virtual instance's operation. For example, if tenant A purchases a 2U 4G virtual machine from Table 1 at price 2, the cloud management platform guarantees a maximum performance of the lowest performance level 200 corresponding to price 2, allowing the virtual machine to use a maximum of 1 / 3 of a CPU physical core's computing power. As shown in Figure 7, the server has multiple physical cores, with physical core 0 having two hyperthreads (HT). Tenant A's virtual machine uses virtual central processing units (vCPUs) 0 and vCPU1, both based on hyperthreaded HT0. The cloud management platform provides a fixed computing power QoS during the virtual machine's operation.
[0112] In the second use case, as shown in Figure 7, tenant B requires a fixed performance guarantee and price balance, specifying a fixed price that is between the price of resources being over-allocated and not over-allocated. The cloud management platform determines that tenant B has chosen the fixed-price mode based on their selection and sets a QoS guarantee cap for that price, limiting the maximum resource usage. During the virtual instance usage process, tenant B is provided with a fixed computing power QoS. For example, if tenant B purchases a 2U 4G virtual machine from Table 1 at a price of 6, the cloud management platform guarantees a maximum performance of performance level 600 corresponding to price 6, allowing the virtual machine to use a maximum of one CPU physical core. As shown in Figure 7, physical core 1 has two HT0 and HT1 cores. Tenant B's virtual machine uses vCPU0 based on hyper-threaded HT0 and vCPU1 based on hyper-threaded HT1. The cloud management platform provides a fixed computing power QoS during the virtual machine's operation.
[0113] In the third use case, as shown in Figure 7, tenant C requires the best performance guarantee. They specify a non-super-split price, ranging from dedicated hyper-threading to dedicated physical cores, and choose a fixed-price mode. The cloud management platform then sets a QoS guarantee cap for tenant C based on their chosen price, limiting the maximum resource usage and providing a fixed computing power QoS during the virtual instance's operation. For example, if tenant C purchases a 2U 4G virtual machine from Table 1 at a price of 12, the cloud management platform guarantees the highest performance level of 1200 corresponding to the price of 12, allowing the virtual machine to use a maximum of two CPU hyper-threads or physical cores. As shown in Figure 7, physical cores 2 and 3 each have two HT0 and HT1 cores. Tenant C's virtual machine uses vCPU0 based on the hyper-threaded HT0 core of physical core 2, and vCPU1 based on the hyper-threaded HT0 core of physical core 3. The cloud management platform provides a fixed computing power QoS during the virtual machine's operation.
[0114] In the fourth use case, as shown in Figure 7, tenant D is price-sensitive but needs to handle performance bursts, and specifies a floating price mode. The cloud management platform then schedules resources for virtual instances based on the load according to the selling price chosen by tenant D, and limits the maximum allowed CPU physical core computing power of the virtual machine based on the selling price. For example, tenant D purchases a 2U 4G virtual machine from Table 1, specifying a floating price of 6-12. The cloud management platform guarantees a maximum performance of 1200 and allows a maximum of 2 CPU physical cores. When the virtual machine uses only 1 CPU physical core during off-peak hours, its billing unit price is 6. As the business load increases, the more CPU physical cores used, the higher the charge, until using 2 CPU physical cores results in a billing unit price of 12. As shown in Figure 7, physical cores 4, 5, and 6 each have two HT0 and HT1 cores. During off-peak hours, tenant D's virtual machine uses vCPU0 and vCPU1 based on hyper-threading HT0. During peak hours, vCPU0 is based on hyper-threading HT0 of physical core 5, and vCPU1 is based on hyper-threading HT0 of physical core 6.
[0115] In one possible implementation, after creating the first virtual instance, the tenant can modify the specifications, performance level, and pricing model of the first virtual instance according to their needs. As shown in Figure 8, the cloud service provision method provided in this application further includes steps 306 and 307.
[0116] Step 306: The cloud management platform obtains the second performance level and its corresponding second selling price reselected by the tenant within the performance range of the first specification from the cloud resource configuration interface. Based on the first specification and the second performance level, the platform schedules resources for the first virtual instance, so that the specification of the resources scheduled for the first virtual instance matches the specification indicated by the second performance level of the first specification. The platform then bills the first virtual instance based on the second selling price.
[0117] During the use of the first virtual instance, tenants can adjust its specifications, performance level, and selling price according to their needs. In one possible implementation, the cloud management platform provides a cloud resource configuration interface to the tenant. When the tenant needs to adjust the specifications, performance level, and selling price of the first virtual instance, they can do so through this interface. After the tenant completes the adjustment, the cloud management platform can obtain the adjusted specifications, performance level, and selling price from the cloud resource configuration interface and allocate resources to the first virtual instance based on the adjusted information, ensuring that the allocated resources meet the adjusted requirements. The implementation method of billing the first virtual instance based on the second selling price is detailed below; please refer to the implementation method of billing the first virtual instance based on the first selling price for further details.
[0118] Since each specification supported by the server in this application can provide at least two performance levels, when a tenant needs to adjust the performance of the first virtual instance, they can choose to adjust the performance level and its corresponding second selling price of the first virtual instance without changing its specifications. This way, the cloud management platform does not need to restart the first virtual instance due to specification adjustments, and can adjust its performance online without affecting the business operations of the first virtual instance, allowing the first virtual instance to obtain different performance experiences without loss. In related technologies, each specification can only provide one performance level, meaning that when a tenant needs to adjust the performance of a virtual instance, they can only do so by adjusting the virtual instance's specifications, and cannot obtain different performance experiences without loss through online dynamic adjustments.
[0119] Step 307: The cloud management platform obtains the tenant's adjusted target price model from the cloud resource configuration interface, schedules resources and bills for the first virtual instance based on the adjusted target price model, and / or, the cloud management platform obtains the tenant's adjusted selling price from the cloud resource configuration interface, schedules resources and bills for the first virtual instance based on the adjusted selling price, and notifies the tenant of the adjusted billing unit price after adjusting the billing unit price of the first virtual instance.
[0120] During the use of the first virtual instance, tenants can adjust its pricing model and / or selling price as needed. In one possible implementation, the cloud management platform provides a cloud resource configuration interface to the tenant. When the tenant needs to adjust the pricing model and / or selling price of the first virtual instance, they can do so through this interface. After the tenant completes the adjustment, the cloud management platform can obtain the adjusted pricing model and / or selling price from the cloud resource configuration interface and update the scheduling strategy for the first virtual instance's resources based on this information. This allows the platform to schedule resources for the first virtual instance according to the updated strategy, ensuring that the resources scheduled for the first virtual instance meet the adjusted pricing model and / or selling price. Simultaneously, the cloud management platform can also adjust the billing unit price of the first virtual instance based on the adjusted pricing model and / or selling price and notify the tenant of the adjusted billing unit price. In this way, tenants can adjust the computing power of the first virtual instance online by adjusting the pricing model and / or selling price to meet the resource requirements of the services implemented by the first virtual instance.
[0121] For example, as shown in Figure 9, the resource management interface of the first virtual machine abc123 has buttons for modifying QoS and modifying bid. After clicking the button to modify QoS, the tenant can adjust the performance level of the first virtual machine. After clicking the button to modify bid, the tenant can adjust the selling price and target price mode of the first virtual machine.
[0122] In one possible implementation, the functionality of the cloud management platform can be achieved through multiple components. For example, as shown in Figure 10, the cloud management platform can be implemented through a computing platform, a resource pool, a cloud monitoring platform, a billing system, a load balancing platform, and an operations system. The computing platform is used to publish the various specifications of virtual machines that the servers can provide, as well as the upper and lower limits of performance and selling price for each specification, and the supported pricing models (step 1 in Figure 10). When a tenant needs to purchase a virtual machine, they select the required first specification, first performance level, first selling price, and target price model from among the various specifications according to their business needs, and trigger a virtual machine creation request carrying this information. Upon receiving the virtual machine creation request (step 2 in Figure 10), the computing platform selects a first server from the resource pool based on the information carried in the virtual machine creation request, and creates a first virtual machine that meets the first specification and first performance level based on the resources of the first server. Simultaneously, based on the first specification, first performance level, first selling price, and target price model, the computing platform obtains the target performance data for the first virtual machine, sets the QoS guarantee policy for the first virtual machine (step 3 in Figure 10), and provides the target performance data to the cloud monitoring platform through the first server (step 4 in Figure 10). The cloud monitoring platform acquires real-time performance data corresponding to the target performance data and provides this data to the load balancing platform (step 5 in Figure 10). The load balancing platform obtains the first virtual machine's initial selling price, target price mode, and QoS guarantee policy from the computing platform (step 6 in Figure 10). Based on the first virtual machine's real-time performance data, initial selling price, target price mode, and QoS guarantee policy, it decides whether to schedule resources for the first virtual machine and, when necessary, schedules resources for it from the resource pool (step 7 in Figure 10). When the target price mode is a floating price mode, and the billing unit price of the first virtual machine changes after resource scheduling compared to before scheduling, the load balancing platform also sends the updated billing unit price to the billing system (step 8 in Figure 10). The load balancing platform also sends an alarm notification to the tenant when resources need to be scheduled for the first virtual machine, and it is expected that the resources scheduled for the first virtual machine will exceed the tenant's set price or specified capacity (step 9 in Figure 10). Meanwhile, the load balancing platform is also used to report the load balancing status of the resource pool, such as the risk, to the operations system when the resources in the resource pool are expected to be insufficient to adjust the resources of the first virtual machine (step 10 in Figure 10). The operations system uses this information to expand the resource pool or display that resources are sold out to tenants based on the load balancing status of the resource pool (step 11 in Figure 10).
[0123] It should be noted that the above description uses the example of a cloud management platform providing computing resources to tenants, and the cloud services used by tenants being presented in the form of virtual instances, to illustrate the cloud service provision method provided in this application. This does not preclude the possibility that the resources provided to tenants by the cloud service provision method of this application may also be other types of resources such as network resources and storage resources. Furthermore, it does not preclude the possibility that the virtual instances used by tenants through the cloud service method of this application may be presented in the form of basic resources such as virtual machines and containers, or in the form of high-level services such as databases. Moreover, the computing resources provided in this application may also be computing resources used for general computing or computing resources used for AI computing; this application does not specifically limit their specific application. Similarly, this application does not specifically limit the specific classification of other types of resources used in this application. For example, storage resources may be local disks or storage disks deployed on remote nodes. For example, as shown in Figure 4, the configuration interface of the virtual instance also displays buttons such as "General Computing," "AI Computing," "Local Disk," and "Flavor List" for tenants to select resources. The "Flavor List" button is used for tenants to select the special configurations that the cloud management platform can provide.
[0124] It should also be noted that the order of steps in the cloud service provision method provided in this application embodiment can be appropriately adjusted, and steps can be added or removed as appropriate. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.
[0125] The following describes an example of a virtual device in an embodiment of this application.
[0126] The above describes a cloud service provision method based on public cloud technology according to embodiments of this application. Corresponding to the above method, embodiments of this application also provide a cloud service provision device based on public cloud technology. Figure 11 is a schematic diagram of the structure of a cloud service provision device based on public cloud technology provided in an embodiment of this application. Based on the following components shown in Figure 11, the cloud service provision device based on public cloud technology shown in Figure 11 can perform all or part of the operations shown in Figure 3 above. It should be understood that the device may include more additional components than the components shown or omit some of the components shown, and embodiments of this application do not limit this. Optionally, the cloud service provision device based on public cloud technology can be deployed on a cloud management platform. The cloud management platform is used to manage the infrastructure for providing cloud services. The infrastructure includes multiple servers. The multiple servers are used to deploy virtual instances to implement tenant services. The virtual instances that the multiple servers can provide are divided into various specifications. As shown in Figure 11, the cloud service provision device 110 based on public cloud technology may include:
[0127] The interactive module 1101 is used to display the performance range and corresponding selling price range of each specification in a variety of specifications. The performance range of any specification includes at least two performance levels, and the selling price range of any specification includes at least two selling prices corresponding to at least two performance levels.
[0128] The interaction module 1101 is also used to obtain the tenant's virtual instance creation request from the cloud resource configuration interface. The virtual instance creation request carries the first specification selected by the tenant, its first performance level, and the corresponding first selling price. The first specification is one of multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level.
[0129] Processing module 1102 is configured to select a first server from a plurality of servers that can provide a first performance level of a first specification, create a first virtual instance in the first server that conforms to the first performance level of the first specification, and bill the first virtual instance based on a first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
[0130] In one possible implementation, different performance levels of the same specification are distinguished by the usage and amount of the server's processor, physical cores, and super-threads provided to the virtual instance, including exclusive or shared usage.
[0131] In one possible implementation, the interaction module 1101 is further configured to obtain from the cloud resource configuration interface the second performance level reselected by the tenant within the performance range of the first specification and its corresponding second selling price. Correspondingly, the processing module 1102 is further configured to schedule resources for the first virtual instance based on the first specification and the second performance level, such that the specifications of the resources scheduled for the first virtual instance match the specifications indicated by the second performance level of the first specification, and to bill the first virtual instance based on the second selling price.
[0132] In one possible implementation, the interaction module 1101 is further configured to obtain the target price mode set by the tenant from the cloud resource configuration interface. Correspondingly, the processing module 1102 is further configured to, when the target price mode is a floating price mode, schedule resources for the first virtual instance based on its load during operation, using the first selling price as the upper limit of the billing unit price, and after each adjustment of the resources of the first virtual instance, adjust the billing unit price of the first virtual instance according to the actual amount of resources used by the first virtual instance, and bill the first virtual instance using the adjusted billing unit price. The processing module 1102 is also configured to, when the target price mode is a fixed price mode, schedule resources that meet the first selling price for the first virtual instance during operation, and bill the first virtual instance using the first selling price as the billing unit price.
[0133] In one possible implementation, the interaction module 1101 is further configured to obtain the tenant's adjusted target price pattern from the cloud resource configuration interface, and the processing module 1102 is further configured to schedule resources for the first virtual instance and charge based on the adjusted target price pattern. And / or, the interaction module 1101 is further configured to obtain the tenant's adjusted selling price from the cloud resource configuration interface, and the processing module 1102 is further configured to schedule resources for the first virtual instance and charge based on the adjusted selling price.
[0134] In one possible implementation, the interaction module 1101 is also used to notify the tenant of the adjusted billing unit price after adjusting the billing unit price of the first virtual instance.
[0135] In one possible implementation, the processing module 1102 is specifically used to detect the actual performance data of the first virtual instance during runtime. If the actual performance data does not match the target performance data, and the resources of the infrastructure and the first selling price can meet the requirements for adjusting the resources of the first virtual instance, the resources of the first virtual instance are adjusted. Both the actual performance data and the target performance data reflect the performance indicators of the first virtual instance.
[0136] In one possible implementation, the interaction module 1101 is further configured to obtain user performance metrics set by the tenant from the cloud resource configuration interface. Correspondingly, the processing module 1102 is further configured to obtain the performance metrics of the first virtual instance based on the user performance metrics.
[0137] In one possible implementation, the interaction module 1101 is also used to send an alarm instruction to the tenant if the first selling price cannot meet the requirements for adjusting the resources of the first virtual instance when the actual performance data does not match the target performance data.
[0138] Here, the detailed working process of the interaction module 1101 and the processing module 1102 is described in the preceding method embodiments. For example, the interaction module 1101 uses the aforementioned step 301 to display the performance range and corresponding selling price range of each specification among multiple specifications, and uses the aforementioned step 302 to obtain the tenant's virtual instance creation request from the cloud resource configuration interface. The processing module 1102 uses the aforementioned step 303 to select a first server that can provide a first performance level of the first specification from multiple servers, creates a first virtual instance that meets the first performance level of the first specification in the first server, and bills the first virtual instance based on the first selling price. The embodiments of this application will not be described again here.
[0139] Both the interaction module 1101 and the processing module 1102 can be implemented in software or in hardware. For example, the implementation of the interaction module 1101 will be described below. Similarly, the implementation of the processing module 1102 can refer to the implementation of the interaction module 1101.
[0140] As an example of a software functional unit, the interaction module 1101 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the interaction module 1101 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. Further, 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 cloud data center or multiple geographically proximate cloud data centers. Typically, a region may include multiple AZs.
[0141] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.
[0142] As an example of a hardware functional unit, the interaction module 1101 may include at least one computing device, such as a server. Alternatively, the interaction module 1101 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.
[0143] The multiple computing devices included in the interaction module 1101 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the interaction module 1101 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the interaction module 1101 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
[0144] It should be noted that, in other embodiments, either the interaction module 1101 or the processing module 1102 can be used to execute any step in the cloud service provision method. The steps implemented by the interaction module 1101 and the processing module 1102 can be specified as needed. By implementing different steps in the cloud service provision method through the interaction module 1101 and the processing module 1102, all functions of the cloud service provision device based on public cloud technology can be realized.
[0145] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of each component described above can be referred to the corresponding content in the foregoing method embodiments, and will not be repeated here.
[0146] The following provides examples illustrating the basic hardware structures involved in the embodiments of this application.
[0147] This application also provides a computing device 1200. As shown in FIG12, the computing device 1200 includes: a bus 1202, a processor 1204, a memory 1206, and a communication interface 1208. The processor 1204, the memory 1206, and the communication interface 1208 communicate with each other via the bus 1202. The computing device 1200 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 1200.
[0148] Bus 1202 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 12, but this does not imply that there is only one bus or one type of bus. Bus 1202 can include pathways for transmitting information between various components of computing device 1200 (e.g., memory 1206, processor 1204, communication interface 1208).
[0149] The processor 1204 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0150] The memory 1206 may include volatile memory, such as random access memory (RAM). The processor 1204 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0151] The memory 1206 stores executable program code, and the processor 1204 executes the executable program code to implement the functions of the aforementioned interaction module 1101 and processing module 1102, thereby implementing the method provided in this application. That is, the memory 1206 stores instructions for executing the method provided in this application.
[0152] The communication interface 1208 uses transceiver modules such as, but not limited to, network interface cards and transceivers to enable communication between the computing device 1200 and other devices or communication networks.
[0153] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0154] As shown in Figure 13, the computing device cluster includes at least one computing device 1200. The memory 1206 of one or more computing devices 1200 in the computing device cluster may store the same instructions for executing the methods provided in this application.
[0155] In some possible implementations, the memory 1206 of one or more computing devices 1200 in the computing device cluster may also store partial instructions for executing the methods provided in this application. In other words, a combination of one or more computing devices 1200 can jointly execute the instructions for executing the methods provided in this application.
[0156] It should be noted that the memory 1206 in different computing devices 1200 within the computing device cluster can store different instructions, which are used to execute some of the functions of the device provided in this application. That is, the instructions stored in the memory 1206 in different computing devices 1200 can implement the functions of one or more modules in the interaction module 1101 and the processing module 1102.
[0157] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 14 illustrates one possible implementation. As shown in Figure 14, two computing devices 1200A and 1200B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this type of possible implementation, the memory 1206 in computing device 1200A stores instructions for executing the functions of the interaction module 1101. Simultaneously, the memory 1206 in computing device 1200B stores instructions for executing the functions of the processing module 1102.
[0158] The connection method between the computing device clusters shown in Figure 14 can be considered as follows: taking into account that the method provided in this application requires a large amount of data storage, the function implemented by the processing module 1102 is to be executed by the computing device 1200B.
[0159] It should be understood that the functions of computing device 1200A shown in Figure 14 can also be performed by multiple computing devices 1200. Similarly, the functions of computing device 1200B can also be performed by multiple computing devices 1200.
[0160] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection method of the computing device clusters in Figures 13 and 14. The difference is that the memory 1206 of one or more computing devices 1200 in this computing device cluster can store the same instructions for executing the method provided in this application.
[0161] In some possible implementations, the memory 1206 of one or more computing devices 1200 in the computing device cluster may also store partial instructions for executing the methods provided in this application. In other words, a combination of one or more computing devices 1200 can jointly execute the instructions for executing the methods provided in this application.
[0162] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to perform the method provided in this application.
[0163] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium capable of being stored by a computing device, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct a computing device to perform the method provided in this application, or instruct a computing device to perform the method provided in this application.
[0164] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0165] It should be noted that all 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 this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.
[0166] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise expressly defined.
[0167] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0168] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this application.
Claims
1. A method for providing cloud services based on public cloud technology, characterized in that, The method is executed by a cloud management platform, which manages the infrastructure providing cloud services. This infrastructure includes multiple servers, which are used to deploy virtual instances that implement tenant services. The virtual instances provided by these servers are of various specifications. The method includes: The cloud management platform displays the performance range and corresponding selling price range for each of the various specifications. The performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to the at least two performance levels. The cloud management platform obtains the tenant's virtual instance creation request from the cloud resource configuration interface. The virtual instance creation request carries the first specification selected by the tenant, its first performance level, and the corresponding first selling price. The first specification is one of the multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level. The cloud management platform selects a first server from among the plurality of servers that can provide the first performance level of the first specification, creates a first virtual instance in the first server that conforms to the first performance level of the first specification, and bills the first virtual instance based on the first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
2. The method as described in claim 1, characterized in that, Different performance levels of the same specification are distinguished by the usage and amount of the processor, physical cores and super-threads of the server provided to the virtual instance, including exclusive use or shared use.
3. The method as described in claim 1 or 2, characterized in that, The method further includes: The cloud management platform obtains from the cloud resource configuration interface the second performance level and its corresponding second selling price that the tenant reselects within the performance range of the first specification. Based on the first specification and the second performance level, the platform schedules resources for the first virtual instance, such that the specification of the resources scheduled for the first virtual instance matches the specification indicated by the second performance level of the first specification. The platform then bills the first virtual instance based on the second selling price.
4. The method according to any one of claims 1 to 3, characterized in that, The method further includes: The cloud management platform obtains the target price model set by the tenant from the cloud resource configuration interface; When the target price mode is a floating price mode, the cloud management platform uses the first selling price as the upper limit of the billing unit price during the operation of the first virtual instance, schedules resources for the first virtual instance based on the load of the first virtual instance, and adjusts the billing unit price of the first virtual instance according to the actual amount of resources used by the first virtual instance after each adjustment of the resources of the first virtual instance, and bills the first virtual instance with the adjusted billing unit price. When the target price mode is a fixed price mode, the cloud management platform schedules resources that meet the first selling price for the first virtual instance during the operation of the first virtual instance, and charges the first virtual instance with the first selling price as the billing unit price.
5. The method as described in claim 4, characterized in that, The method further includes: The cloud management platform obtains the tenant's adjusted target price pattern from the cloud resource configuration interface, and schedules resources and bills the first virtual instance based on the adjusted target price pattern. And / or, the cloud management platform obtains the tenant's adjusted selling price from the cloud resource configuration interface, and schedules resources and bills the first virtual instance based on the adjusted selling price.
6. The method as described in claim 4 or 5, characterized in that, The method further includes: after the cloud management platform adjusts the billing unit price of the first virtual instance, it notifies the tenant of the adjusted billing unit price.
7. The method as described in any one of claims 4 to 6, characterized in that, When the target price mode is a floating price mode, the cloud management platform, during the operation of the first virtual instance, uses the first selling price as the upper limit of the billing unit price, and schedules resources for the first virtual instance based on the load of the first virtual instance, including: The cloud management platform detects the actual performance data of the first virtual instance during runtime. If the actual performance data does not match the target performance data, and the resources of the infrastructure and the first selling price can meet the requirements for adjusting the resources of the first virtual instance, the platform adjusts the resources of the first virtual instance. Both the actual performance data and the target performance data reflect the performance indicators of the first virtual instance.
8. The method as described in claim 7, characterized in that, The method further includes: The cloud management platform obtains the user performance metrics set by the tenant from the cloud resource configuration interface, and obtains the performance metrics of the first virtual instance based on the user performance metrics.
9. The method as described in claim 7 or 8, characterized in that, The method further includes: If the actual performance data does not match the target performance data, and the first selling price cannot meet the requirements for adjusting the resources of the first virtual instance, the cloud management platform will send an alarm instruction to the tenant.
10. A cloud service provisioning device based on public cloud technology, characterized in that, The device is deployed on a cloud management platform, which manages the infrastructure providing cloud services. The infrastructure includes multiple servers, which deploy virtual instances to implement tenant services. These virtual instances can be provided in various specifications. The device includes: An interactive module is used to display the performance range and corresponding selling price range of each of the multiple specifications. The performance range of any specification includes at least two performance levels, and the selling price range corresponding to any specification includes at least two selling prices corresponding to the at least two performance levels. The interaction module is also used to obtain a virtual instance creation request from a tenant from a cloud resource configuration interface. The virtual instance creation request carries the first specification selected by the tenant, its first performance level, and the corresponding first selling price. The first specification is one of the multiple specifications, the first performance level is within the performance range corresponding to the first specification, and the first selling price is the selling price corresponding to the first performance level. The processing module is configured to select a first server that can provide the first performance level of the first specification from the plurality of servers, create a first virtual instance that conforms to the first performance level of the first specification in the first server, and bill the first virtual instance based on the first selling price, wherein the specification allocated to the first virtual instance by the first server matches the specification indicated by the first performance level of the first specification.
11. The apparatus as claimed in claim 10, characterized in that, Different performance levels of the same specification are distinguished by the usage and amount of the processor, physical cores and super-threads of the server provided to the virtual instance, including exclusive use or shared use.
12. The apparatus as claimed in claim 10 or 11, characterized in that, The interaction module is also used to obtain from the cloud resource configuration interface the second performance level that the tenant reselects within the performance range of the first specification and its corresponding second selling price; The processing module is further configured to schedule resources for the first virtual instance based on the first specification and the second performance level, such that the specification of the resources scheduled for the first virtual instance matches the specification indicated by the second performance level of the first specification, and to bill the first virtual instance based on the second selling price.
13. The apparatus according to any one of claims 10 to 12, characterized in that, The interaction module is also used to obtain the target price mode set by the tenant from the cloud resource configuration interface; The processing module is further configured to, when the target price mode is a floating price mode, during the operation of the first virtual instance, use the first selling price as the upper limit of the billing unit price, schedule resources for the first virtual instance based on the load of the first virtual instance, and after each adjustment of the resources of the first virtual instance, adjust the billing unit price of the first virtual instance according to the actual amount of resources used by the first virtual instance, and bill the first virtual instance with the adjusted billing unit price. The processing module is further configured to, when the target price mode is a fixed price mode, schedule resources that meet the first selling price for the first virtual instance during the operation of the first virtual instance, and charge the first virtual instance using the first selling price as the billing unit price.
14. The apparatus as claimed in claim 13, characterized in that, The interaction module is further configured to obtain the tenant's adjusted target price pattern from the cloud resource configuration interface, and the processing module is further configured to schedule resources and charge for the first virtual instance based on the adjusted target price pattern. And / or, the interaction module is further configured to obtain the tenant's adjusted selling price from the cloud resource configuration interface, and the processing module is further configured to schedule resources and charge for the first virtual instance based on the adjusted selling price.
15. The apparatus as claimed in claim 13 or 14, characterized in that, The interaction module is also used to notify the tenant of the adjusted billing unit price after adjusting the billing unit price of the first virtual instance.
16. The apparatus as claimed in any one of claims 13 to 15, characterized in that, The processing module is specifically used to detect the actual performance data of the first virtual instance during runtime. If the actual performance data does not match the target performance data, and the resources of the first virtual instance are adjusted if the resources of the infrastructure and the first selling price can meet the requirements for adjusting the resources of the first virtual instance, the resources of the first virtual instance are adjusted. Both the actual performance data and the target performance data reflect the performance indicators of the first virtual instance.
17. The apparatus as claimed in claim 16, characterized in that, The interaction module is also used to obtain the user performance metrics set by the tenant from the cloud resource configuration interface; The processing module is further configured to obtain the performance metrics of the first virtual instance based on the user performance metrics.
18. The apparatus as claimed in claim 16 or 17, characterized in that, The interaction module is also used to send an alarm instruction to the tenant if the first selling price cannot meet the requirements for adjusting the resources of the first virtual instance when the actual performance data does not match the target performance data.
19. A computing device cluster, characterized in that, The system includes multiple computing devices, each comprising multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions to cause the cluster of computing devices to perform the method as described in any one of claims 1 to 9.
20. A computer-readable storage medium, characterized in that, Includes program instructions that, when executed on a computing device, cause the computing device to perform the method as described in any one of claims 1 to 9.
21. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster causes the computing device cluster to perform the method as described in any one of claims 1 to 9.
Citation Information
Patent Citations
Instance allocation method, system and device
CN114461374A
Virtual instance setting method and device
CN114489922A
Metering and charging method, device and equipment for cloud service and readable storage medium
CN115358737A
Cloud resource charging method, cloud management platform, computing device and storage medium
CN117857228A
Resource management device, resource management method and resource management program
JP2015184991A