WO2024027160A1 - Procédé et système de déploiement d'application, et dispositif - Google Patents

Procédé et système de déploiement d'application, et dispositif Download PDF

Info

Publication number
WO2024027160A1
WO2024027160A1 PCT/CN2023/081267 CN2023081267W WO2024027160A1 WO 2024027160 A1 WO2024027160 A1 WO 2024027160A1 CN 2023081267 W CN2023081267 W CN 2023081267W WO 2024027160 A1 WO2024027160 A1 WO 2024027160A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
deployment
policy
region
session
Prior art date
Application number
PCT/CN2023/081267
Other languages
English (en)
Chinese (zh)
Inventor
王楠楠
卞盛伟
王烽
齐飞
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024027160A1 publication Critical patent/WO2024027160A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5018Thread allocation

Definitions

  • This application relates to the field of cloud technology, and in particular, to an application deployment method, system and device.
  • tenants can deploy applications in cloud data centers by renting resources in cloud data centers.
  • the application can be deployed in one cloud data center or distributed in multiple cloud data centers.
  • the multiple cloud data centers can be located in different regions, that is, the application adopts multi-region How to deploy. This deployment method is suitable for some large-scale applications or applications where the users of the application are distributed in different areas.
  • tenants When renting resources in a cloud data center to deploy applications, tenants need to clearly specify the resources in the cloud data center to be rented and apply for resources from the cloud data center themselves. In fact, tenants may not be able to accurately estimate the resources they need to rent, which also increases the difficulty of application deployment.
  • This application provides an application deployment method, system and equipment to realize automatic deployment of applications in the cloud.
  • embodiments of the present application provide an application deployment method, which can be executed by an application deployment device and a regional application deployment device located in a region.
  • the application deployment device first obtains the installation package and application deployment policy of the application provided by the tenant.
  • the installation package of the application includes the executable file of the application, and the application deployment policy indicates the constraints for deploying the application; the application deployment device obtains the installation package of the application from the tenant.
  • the installation package and application deployment policy of the application it can be determined that the tenant needs to deploy the application.
  • the application deployment device selects a deployment area for the application according to the application deployment policy and installs the application's installation package. Send to zone.
  • the embodiment of the present application does not limit the number of areas selected by the application deployment device for the application. It may be one or multiple areas.
  • the application deployment device instructs the regional application deployment device to create at least one computing instance in the region through the regional application deployment device in the region, and run multiple application processes on the at least one computing instance.
  • the application deployment device may send an application deployment request to a regional application deployment device in a region.
  • the application deployment request is used to request to create a computing instance in the region and run the installation package to create an application process.
  • the application deployment request can carry information about the computing instance to be created, such as the specifications and quantity of the computing instance. Optionally, it can also include the number of application processes to be created on each computing instance.
  • the regional application deployment device can create a computing instance according to the application deployment request, and run the installation package on the computing instance to create multiple application processes.
  • the tenant when the tenant needs to deploy an application, he only needs to simply provide the installation package of the application and some constraints required for deploying the application.
  • the application deployment device can help the application complete the deployment of the application.
  • the tenant does not need to configure each area. resources, simplifying the application deployment process and improving the automation of application deployment.
  • the application deployment device can process the session of the application.
  • the application deployment device can obtain the session processing policy provided by the tenant.
  • the session processing policy includes a policy for allocating processing application processes to each session; when the tenant provides the application deployment policy, it can also provide the session processing policy at the same time.
  • the application deployment device receives a session sent by an access user of the application, it can select a target application process from multiple application processes according to the session processing policy.
  • the target application process is the application process selected for the session in the embodiment of this application.
  • the application deployment device sends the session to the target application process through the regional application deployment device in the area where the target application process is located to process the session. For example, the application deployment device may instruct a regional application deployment device in the region to process the session by the target application process, and the regional application deployment device may send the session to the target application process for processing the session under the instruction.
  • the tenant can be understood as the party that needs to rent resources to deploy applications, and the access user can be understood as the user of the application.
  • the application deployment device can also process the session of the application, ensuring that the application can provide better services to accessing users and ensuring the reliability and effectiveness of application deployment.
  • the application deployment policy indicates the constraints for deploying the application. It can be understood that the application deployment policy provides some scope constraints as a whole. These constraints may not specify specific resources, for example, The number or specifications of computing instances are not specified.
  • the application deployment policy can indicate the deployment cost range of the application or specify a specific deployment cost value.
  • the deployment cost of an application refers to the deployment cost of at least one computing instance that needs to be created to deploy the application. Therefore, the deployment cost range of the application is essentially the deployment cost range of the at least one computing instance.
  • the application deployment policy only needs to indicate the deployment cost range of the application, simplifying the configuration parameters on the tenant side, making the application deployment method simpler, simplifying the application deployment steps, and improving application deployment efficiency.
  • the application deployment policy may also indicate the selection range of the area set by the tenant.
  • Tenants can set the area according to actual needs, so that the application deployment device can better meet the needs of tenants when selecting areas.
  • the area selection range set by the tenant refers to the selection range of the area where the at least one computing instance is located.
  • the session processing policy indicates a delay range for the target application process to process the session.
  • the conversation processing process can meet a certain delay range, so as to meet the basic needs of processing sessions, prevent delays, and ensure the timeliness of session processing.
  • the application deployment device when the application deployment device selects a region to deploy an application according to the application deployment policy, it can obtain the region selection policy.
  • the region selection policy is generated based on the occupancy of physical resources in each region.
  • the region selection policy indicates In order to select the priority of each area to create a new computing instance, that is, the area selection strategy can include the priority of each area.
  • the priority of the area describes the priority of the area when selecting the area for deploying the application; when selecting the area for the application
  • the application deployment device may select a region for deploying the application according to the application deployment policy and the region selection policy.
  • an area that meets the deployment requirements is selected for application deployment based on the current physical resource occupancy of each area, ensuring that the application can be deployed in the selected area.
  • the application deployment device when the application deployment device selects a target application process for the session from multiple application processes according to the session processing policy, it can also obtain the session distribution policy.
  • the session distribution policy is based on the application processes in each area. Generated by the working state, the session distribution policy indicates the priority of selecting each application process to handle the session.
  • the session distribution policy may include the priority of each application process.
  • the priority of the application process describes the selection for the session.
  • the target application process is the priority of the application process; then, the target application process is selected for the session based on the session processing policy and the session distribution policy.
  • the target application process for processing the session is selected based on the current working status of each application process, ensuring that the session can be executed efficiently.
  • the application deployment device can also obtain the regional elasticity policy provided by the tenant.
  • the regional elasticity policy indicates whether to allow elastic scaling of the application process in the region; send the regional elasticity policy to the regional application deployment device; in this way, The regional application deployment device in the region adjusts the number of application processes applied in the region based on the regional elasticity policy.
  • the regional elasticity strategy can dynamically change the number of application processes and improve resource utilization.
  • the region elasticity policy indicates that when the idle ratio of application processes applied in the region is less than the idle threshold, the number of application processes applied in the region is increased. After the increase, the idle ratio of the application processes applied in the region is increased. Equal to the idle threshold, the idle ratio of application processes applied in the area is equal to the ratio of the number of application processes applied in the idle state to the number of application processes applied in the area.
  • the idle ratio of application processes in the area can be close to or equal to the threshold set by the tenant, ensuring that there are idle available application processes in the area, making it easier to cope with the surge in session tasks that need to be processed.
  • the region elasticity policy indicates that when the idle ratio of the application processes applied in the region is greater than the idle threshold, the number of application processes applied in the region is reduced. After the number is reduced, the idle ratio of the application processes applied in the region is Equal to the idle threshold, the idle ratio of application processes applied in the area is equal to the ratio of the number of application processes applied in the idle state to the number of application processes applied in the area.
  • the idle ratio of application processes in the area can be close to the threshold or equal to the threshold, ensuring that there are idle application processes in the area, which makes it easier to cope with the scenario where the number of sessions drops sharply.
  • embodiments of the present application also provide an application deployment system, which is used to execute the method in the above first aspect and each possible implementation of the first aspect.
  • the application deployment system includes an application deployment device and a regional application deployment device. The operations that the application deployment device and the regional application deployment device can perform can be referred to the foregoing description and will not be described again here.
  • embodiments of the present application also provide an application deployment device, which has the behavioral function of implementing the application deployment device in the method example of the first aspect.
  • the beneficial effects can be found in the description of the first aspect, which is not included here.
  • Functions can be implemented by hardware, or by hardware executing corresponding software.
  • Hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the application deployment device includes an installation package management module and a process management module.
  • the application deployment device also includes a session management module. These modules can perform the corresponding functions in the method example of the first aspect. For details, please refer to the detailed description in the method example, which will not be described again here.
  • embodiments of the present application also provide a regional application deployment device, which has the behavioral function of implementing the regional application deployment device in the method example of the first aspect.
  • Functions can be implemented by hardware, or by hardware executing corresponding software.
  • Hardware or software includes one or more modules corresponding to the above functions.
  • the structure of the regional application deployment device includes a deployment module.
  • the regional application deployment device also includes a regional session management module. These modules can perform corresponding functions in the above method examples of the first aspect. For details, please refer to the detailed description in the method examples, which will not be described again here.
  • embodiments of the present application further provide a computing device, which has the ability to implement the above first aspect In the method instance, the function of deploying the behavior of the device is applied.
  • the beneficial effects can be found in the description of the first aspect and will not be described again here.
  • the structure of the computing device includes a processor and a memory, and the processor is configured to support the application deployment device to perform corresponding functions in the method of the first aspect.
  • the memory is coupled to the processor and stores program instructions and data necessary for the communications device.
  • the structure of the communication device also includes a communication interface for communicating with other devices.
  • embodiments of the present application also provide a computing device cluster, which has the function of realizing the behavior of the application deployment device in the method example of the first aspect.
  • the computing device cluster includes at least one computing device.
  • the structure of any computing device includes a processor and a memory.
  • the processor in any computing device is configured to support the application deployment device to execute the above first aspect and each possible method of the first aspect. Some or all of the functions in the implementation.
  • the memory is coupled to the processor and stores program instructions and data necessary for the communications device.
  • the structure of the communication device also includes a communication interface for communicating with other devices.
  • the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium stores instructions, which when run on a computer, cause the computer to execute the above-mentioned first aspect and each possible implementation of the first aspect. method within the method.
  • the present application also provides a computer program product containing instructions that, when run on a computer, cause the computer to execute the method in the above-mentioned first aspect and each possible implementation of the first aspect.
  • this application also provides a computer chip, which is connected to a memory.
  • the chip is used to read and execute the software program stored in the memory, and execute the method in the above-mentioned first aspect and each possible implementation of the first aspect. .
  • Figure 1 is a schematic diagram of the architecture of a system provided by this application.
  • Figure 2 is a schematic structural diagram of an application deployment device provided by this application.
  • Figure 3 is a schematic structural diagram of a regional application deployment device provided by this application.
  • FIG. 4 is a schematic diagram of an application deployment method provided by this application.
  • Figure 5A is a schematic interface diagram of an application installation package provided by this application.
  • Figure 5B is a schematic diagram of an interface for providing deployment strategies provided by this application.
  • Figure 6 is a schematic diagram of a method for achieving intra-regional resource elasticity provided by this application.
  • Figure 7 is a schematic diagram of an application deployment change method provided by this application.
  • Figure 8 is a schematic interface diagram of a change deployment strategy provided by this application.
  • Figure 9 is a schematic structural diagram of a computing device provided by this application.
  • Figure 10 is a schematic structural diagram of a computing device cluster provided by this application.
  • the installation package of an application includes an executable file of the application, and the executable file of the application includes some data necessary for deploying the application.
  • the executable code of the application or the source code of the application.
  • the executable code is the code that can be directly run by the computing instance (that is, the processor)
  • the source code is the code that needs to be compiled. It cannot be directly recognized by the processor and needs to be processed by the compiler to generate executable code, which is then run by the computing instance (that is, the processor).
  • the tenant needs to deploy an application, for example, deploy the application to the cloud.
  • the user may transmit the installation package of the application to the application deployment device 100 to request the application deployment device 100 to deploy the application. Therefore, the installation package of the application can be understood as a code file including an executable file.
  • An application process may be run in a computing device (or a computing instance on a computing device), and the application process may be formed by running an executable file in the application's installation package. After running, the executable files in the application installation package can form one or more application processes. Multiple application processes can realize the same functions, that is, they can all realize the functions represented by the executable code of the installation package of the application.
  • the deployment parameters of the multiple application processes may be different.
  • the running parameters include but are not limited to: the port range of the application process, the network and bandwidth to which the application process is connected, the region where the application process is located, and the computing instance where the application process is located.
  • the status of the application process is divided into two types, one is the idle state, and there are no sessions that need to be processed on the idle application process.
  • the application process running in the area also has a monitoring function.
  • This monitoring function is manifested in two aspects. On the one hand, it monitors the working status of the application process itself.
  • the working status of the application process includes but is not limited to: the status of the application process (such as busy or idle), and the session status of the application process (such as the number of sessions processed by the application process and the number of unprocessed sessions).
  • the other aspect is the monitoring of physical resources on the computing device where the application process is located.
  • the application process can monitor the usage of physical resources such as processor, memory, bandwidth, etc. on the computing device.
  • the application process in the area can report the monitored status of itself and the status of the physical resources on the computing device to other devices.
  • the application process in the area can report its own status obtained by monitoring and the status of the physical resources on the computing device to the global resource device, or it can also report its own status obtained by monitoring and the status of the physical resources on the computing device.
  • the status of the physical resources is reported to the regional application deployment device 200 in the area.
  • the application installation package can be regarded as a non-running application and is static.
  • the application process is a running application and is dynamic.
  • the application deployment device 100 creates a process queue under the trigger of the tenant.
  • the process queue includes one or more application processes.
  • the application deployment device 100 selects a region to deploy the application according to the deployment policy provided by the tenant, and determines the computing instances required to deploy the application in each region.
  • the application deployment device 100 can distribute one or more application processes in the process queue on computing instances in a selected area, and run the application processes on the computing instances in the area.
  • the application process in the process queue maintained by the application deployment device 100 there are two kinds of application processes, one is the application process in the process queue maintained by the application deployment device 100, and the other is the application process running in the area.
  • the application processes in the process queue maintained by the application deployment device 100 can be understood as the image of the application processes running in the area on the application deployment device 100 .
  • the operating parameters of the application process in the process queue are consistent with the operating parameters of the application process running in its corresponding area. The difference is that the application process in the process queue is a logical application process and does not process sessions, while the application process running in the area does process sessions.
  • the application deployment device 100 can obtain some operating parameters of the application processes running in the area through the application processes in the process queue.
  • the application deployment device 100 can display the application processes in the process queue to the tenant, so that the tenant can view some operating parameters of the application processes running in the area and understand the running status of the application.
  • a session refers to the tasks that an application process needs to perform.
  • the application is a game application
  • the session can be a game play.
  • the application is a live broadcast application
  • the session can be a live broadcast task.
  • An application process can execute one or more sessions.
  • the access user delivers a session to the application deployment device 100 by operating the application (such as creating the application or creating a certain function in the application).
  • the concept of "area” is introduced, and the area is divided based on the deployment position of the computing device.
  • One or more computing devices with close deployment locations or one or more data centers (the data center includes multiple computing devices) with close deployment locations are divided into one area.
  • the embodiments of this application do not limit the division of areas.
  • the application deployment in a region indicates that the application is deployed in a data center in a certain region or on a computing device in the region.
  • the deployment strategy describes some strategies that need to be followed to deploy applications.
  • the deployment strategy can include some or all of the following information:
  • the application deployment policy describes some conditions that the application needs to meet when deployed.
  • the application deployment policy indicates the constraints of the deployment application area.
  • the constraint can be the deployment cost range of the application (that is, the deployment cost range of the created computing instance), or the selection range of the region for the application (that is, the selection range of the region where the created computing instance is located).
  • the deployment cost refers to the cost range limited by the tenant when deploying the application.
  • the tenant sets the deployment cost of the application to be 500 yuan/month when deploying the application.
  • Different regions require different fees.
  • the number or specifications of computing instances occupied are different, and the fees paid are also different.
  • tenants can control how much it costs to deploy the application by indicating a deployment cost range through a deployment policy.
  • Applications can be deployed in multi-region deployment or single-region deployment, that is, the application can be distributed in multiple regions or in one region.
  • the application deployment policy configured by the tenant can indicate that the application adopts multi-region deployment or single-region deployment.
  • the application deployment policy configured by the tenant can also indicate one or more preferred regions, that is, the region selection when selecting the region to deploy the application. scope.
  • the application deployment policy configured by the tenant can configure priorities for different areas so that the application can be deployed in areas with higher priority.
  • the session processing policy is used to describe the policy of assigning the application process to handle the session of the application.
  • the session processing policy may include a delay range for the application process to process the session (referred to as the session delay range in subsequent descriptions).
  • the session issued by the access user can be converted into a session that the application process needs to process.
  • the delay of this session determines the speed at which the access user obtains service response. The smaller the session delay, the faster the access user can get a response after the session is delivered.
  • the session processing policy can set the delay range that the session needs to meet.
  • the session processing policy indicating the delay range of the session is only for illustration.
  • the embodiments of the present application do not limit the content indicated by the session processing policy.
  • the processing priorities of different types of sessions may also be restricted.
  • the application process of the application created in the region can be used to process sessions, and the running of the application's application process will occupy the resources of the computing instance where it is located.
  • the application process of an application is idle for a long time, it will lead to a waste of resources. If you appropriately reduce the number of application processes or even reduce the number of computing instances, you can effectively avoid resource waste.
  • the application processes in this area are all busy, it means that there are a large number of sessions that need to be processed. In this case, the number of application processes is small, which will affect the session processing efficiency. If the application process is appropriately increased, The number of processes can effectively improve the execution efficiency of the session.
  • there are always some redundant application processes in the application process queue which is also suitable for some scenarios where the number of sessions increases. It can be seen that flexibly adjusting the number of application processes within a region can effectively take into account resource utilization and session processing efficiency.
  • the regional elasticity policy can indicate whether elastic scaling of resources within the region is allowed.
  • the so-called resource elastic scaling refers to the application process that allows the expansion or reduction of applications in a region.
  • the regional elasticity policy can also record the method of resource elasticity in the region.
  • the regional elasticity policy can describe the procedures that need to be followed when expanding or shrinking application processes in the region.
  • the regional elasticity policy can record the triggering conditions and expansion methods of application processes applied in the expansion region.
  • the regional elasticity policy can also record the triggering conditions and reduction methods of application processes applied in the reduction area. If the regional elasticity policy indicates that resource elastic scaling is not allowed in the region, that is, the resources occupied by the application cannot be changed in the region, that is, the number of application processes, the specifications or the number of computing instances of the application cannot be changed.
  • the area elasticity policy can record the trigger condition as the ratio of the number of application processes of the idle application in the area to the total number of application processes of the expanded application (the number of application processes of the idle application).
  • the ratio of the number to the total number of application processes of the expanded application (which may be referred to as the idle ratio) is greater than the first value.
  • the expansion method is to expand the application process of the application in the area with the first value, that is, the idle ratio of the application process of the expanded application is equal to the first value.
  • the area elasticity policy can record that the trigger condition is that the idle ratio is greater than the second value.
  • the reduction method is to reduce the application process of the application in the area by the second value, that is, the idle ratio of the application process after the reduction is equal to the second value.
  • the first value and the second value can be understood as idle ratio thresholds.
  • the application process of the expanded application and the application process of the reduced application can be configured with different idle ratio thresholds, or the same idle ratio threshold can be configured.
  • the resources required for deploying an application are used as a computing instance as an example for explanation.
  • the application process of the application runs in the computing instance.
  • a computing instance refers to an independent running environment built through virtualization of physical resources in the computing device. That is to say, the computing instance forms a relatively independent running environment by occupying physical resources in the computing device. Computing instances on the same computing device do not affect each other and are relatively independent.
  • the computing instance can be a virtual machine (VM) created on the computing device, or a container (container) created on the computing device.
  • the specifications of a computing instance describe the physical resources of the computing device required by the computing instance.
  • the physical resources of the computing device include but are not limited to: processor, memory, and bandwidth.
  • this computing instance also includes bare metal servers, and bare metal servers can be regarded as a "special" computing instance. Bare metal servers are independent servers.
  • the computing instance can monitor its own working status.
  • the working status of the computing instance includes but is not limited to: the physical resources used during the running of the computing instance (such as processor utilization, memory occupancy, bandwidth). occupancy rate, etc.), calculate the number of application processes of applications created on the instance. Compute instances enable the monitored computations to be Report the working status of the example to other devices.
  • the computing instance can report the monitored working status to the regional application deployment device 200 in the area where it is located, and can also report the monitored working status to the global resource device.
  • sessions require the participation of access users, who need to connect to the application through the client.
  • a session can allow one or more access users to connect to the session through the client.
  • a game in a game application is a session, and a game usually requires the participation of one or more access users.
  • the tenant refers to the party that needs to deploy the application, that is, the party that needs to provide the installation package and deployment policy of the application.
  • the access user refers to the party that initiates a session by accessing the application.
  • the tenant can interact with the application deployment device 100, send the application installation package required for deploying the application to the application deployment device 100, and configure a deployment policy for the application.
  • the deployment policy describes the rules to be followed when deploying the application.
  • the deployment policy includes some scope description information, such as constraints for deploying the application.
  • the application deployment device 100 selects a region to deploy the application for the application based on the deployment policy, and creates a computing instance for the application in the region through the regional application deployment device, Run the application process of the application created by the installation package in the computing instance.
  • the application deployment device 100 can also send the session initiated by the access user to the area to request the application process in the area to process the session.
  • tenants need to deploy applications, they only need to provide the application installation package and the corresponding deployment strategy. They do not need to choose the area where the application is deployed, nor do they need to apply for resources to support application deployment in the area.
  • the application deployment device 100 implements area selection and resource application based on the deployment policy. Tenants no longer need to be aware of the underlying resources, which can effectively simplify the application deployment process and improve the efficiency of application deployment.
  • the application deployment system 10 includes an application deployment device 100 and at least one regional application deployment device 200. Any regional application deployment device 200 is located in a region, and any regional application deployment device 200 performs application-related operations in the region, such as implementing application deployment in the region and processing sessions distributed to the region.
  • the application deployment device 100 can deploy applications at the request of tenants, complete region selection, and cooperate with the regional application deployment device 200 in the selected region to implement deployment of applications in the region.
  • the application deployment device 100 can obtain the installation package of the application provided by the tenant and the deployment policy for the application, select a region to deploy the application according to the application deployment policy, and determine the computing instances required to deploy the application in the region. After determining the computing instances required to deploy the application in the area, the application deployment device 100 can initiate an application deployment request to the regional application deployment device 200 in the area.
  • the application deployment request carries the installation package of the application, and the Required computing instance information (such as the number and specifications of computing instances).
  • the application deployment device 100 may respectively initiate application deployment requests to the regional application deployment devices 200 in the multiple areas. If the application deployment device 100 selects a region for the application, the application deployment device 100 may initiate an application deployment request to the regional application deployment device 200 in the region.
  • the regional application deployment device 200 is responsible for application deployment in the region and session processing in the region.
  • the regional application deployment device 200 When an application needs to be deployed in the area, the regional application deployment device 200 will receive an application deployment request. After receiving the application deployment request, it will create the computing required for deploying the application based on the information of the required computing instance. In other words, the regional application deployment device 200 can instruct the computing instance to run the installation package of the application and create an application process of the application in the region.
  • the application deployment device 100 interacts with the regional application deployment device 200 in the region to complete application deployment in the region. After the application is deployed in each area selected by the application deployment device 100, the application can provide services to users who access the application.
  • the application deployment device 100 can process the session of the access user from the application, select an application process for the session to be processed according to the session management policy, and the application deployment device 100 can send the session to the area where the selected application process is located.
  • the regional application deployment device 200 instructs the regional application deployment device 200 to process the session by the application process.
  • the regional application deployment device 200 in the area After receiving the session, the regional application deployment device 200 in the area transmits the session to the selected application process, and the application process processes the session.
  • the application deployment system 10 also includes a global deployment decision-making device 400 and a global resource monitoring device 300.
  • the global resource monitoring device 300 is used to monitor resource usage in each area.
  • the resource usage in the region monitored by the global resource monitoring device 300 includes but is not limited to: the occupancy of physical resources (such as processors, memory, etc.) in the region, the working status of computing instances in the region, The working status of application processes of applications running on computing instances in this area.
  • the global resource monitoring device 300 can report the resource usage in each monitored area to the global deployment decision-making device 400 .
  • the global deployment decision-making device 400 can generate a region selection policy or a session distribution policy after acquiring the resource usage in each region reported by the global resource monitoring device 300 .
  • the region selection strategy provides the priority of each region for deploying applications.
  • the global deployment decision-making device 400 determines whether each region can support application deployment based on the occupancy of physical resources (such as processors, memory, etc.) and/or the working status of computing instances in each region. For example, when the occupancy of physical resources in a certain area is lower than threshold A, that is, there are many physical resources in the idle state in this area, then when a new application needs to be deployed later, this area can be used as a priority for deploying the application. options. For another example, when the occupancy of physical resources in a certain area is higher than threshold A, that is, more physical resources in this area are occupied, then when new applications need to be deployed later, there are fewer idle resources in this area. Physical resources, try to avoid deploying the application in this area.
  • the global deployment decision-making device 400 may determine the priority of selecting each region to newly create a computing instance.
  • the priority of any area describes the priority given to that area when deploying the application.
  • the global deployment decision-making device 400 provides the priority of each region to the application deployment device 100 as a region selection policy.
  • the region selection strategy only forms the priority of each region from the perspective of the occupancy of physical resources in each region, that is, the region selection strategy does not consider the needs of tenants.
  • the application deployment strategy is configured by the tenant and meets the tenant's needs.
  • the application deployment device 100 selects a region to deploy an application, in addition to considering the application deployment policy provided by the tenant, it may also combine the region selection policy provided by the global deployment decision-making device 400.
  • the application deployment device 100 selects deployment according to the application deployment policy and the region selection policy. When applying to areas, the application deployment strategy is the main one to meet the needs of tenants.
  • the session distribution policy provides a priority for selecting the application process of each application to process the session.
  • the application process of each application can be part or all of all application processes of the application.
  • the global deployment decision-making device 400 integrates the working status of the computing instances in each region and the working status of the application processes running on the computing instances in each region, and determines which regions have idle application application processes or how many there are. There are idle application application processes, and in which areas there are no idle application application processes, it can be determined which application processes can handle subsequent received sessions. For example, when there is an idle application process in a certain area, and the usage of physical resources on the computing instance where the application process is located is lower than threshold B, that is, the application process can effectively handle subsequent created sessions. Then when a new session needs to be processed later, the application process of the application can be used as the priority option of the session and has a higher priority.
  • the application process of an application in a certain area is in a busy state, and the usage rate of physical resources on the computing instance where the application process is located is equal to the threshold B, that is, the application process has called the computing instance where the application process is located.
  • the physical resources that can be called cannot guarantee the processing effect of subsequent sessions. It is necessary to try to avoid distributing the session to the application process of the application.
  • the application process of the application has a lower priority.
  • the global deployment decision-making device 400 determines the priority of selecting each application process to handle the session.
  • the priority level of any application process describes the priority given to that application process when selecting an application process for a session.
  • the global deployment decision-making device 400 provides the priority level of each application process as a session distribution policy to the application deployment device 100 .
  • the region selection strategy is only the priority of each application process formed from the perspective of the working status of the computing instances in each region and the working status of the application processes running on the computing instances in each region. That is, the session distribution scheme does not consider the needs of tenants. .
  • the session management policy is configured by the tenant and meets the tenant's needs.
  • the application deployment device 100 selects an application process to process a session, in addition to considering the session management policy provided by the tenant, it can also combine the session distribution policy provided by the global deployment decision-making device 400.
  • the application deployment device 100 selects an application process based on the session management policy and the region selection policy.
  • the session management strategy is the main focus so that the selection of application processes meets the needs of tenants.
  • the application deployment system 10 may also include a client where the application is deployed on the access user side, and the client is used to interact with the application deployment device 100 .
  • the client can be understood as the client software deployed by the application on the access user side, or can also be understood as a dedicated client device.
  • the client can be client software installed on a mobile terminal or a personal computer, such as social software, live broadcast software, and game software.
  • the client can be a dedicated online payment device, and users accessing the application can make payments on the online payment device.
  • Users who access the application can establish a connection with the application deployment device 100 through the client, send a session to the application deployment device 100 through the client, and request services provided by the application.
  • the client can also have a detection function.
  • the client can detect the interaction delay between the client and the application deployment device 100, and can also detect the location of the client, the session between the client and the client. information such as the connection status (such as connected or disconnected).
  • the client can directly report the detected information to the application deployment device 100 (or the regional application deployment device 200 in the area), or it can report the detected information to the application deployment device 100 (or the application process of the session). Regional application deployment device 200) within the region. In this way, the application deployment device 100 determines the application process for the session initiated by the accessing user based on the information reported by the client.
  • the application deployment apparatus 100 can select an application process in an area close to the access user for a session initiated by the access user based on the location of the client, and can also change the processing in time based on the interaction delay between the client and the application deployment apparatus 100. Session application process.
  • the regional application deployment device 200 in the area adjusts the application process for processing the session initiated by the accessing user based on the information reported by the client.
  • the application deployment device 100 may select, based on the location of the client, an application process that is close to the application on a computing instance with stronger computing power or select an application process that is idle for the session initiated by the accessing user.
  • tenants are allowed to configure a regional elastic policy.
  • the application deployment device 100 can deliver the regional elastic policy or indicate the area to the regional application deployment device 200 in the area. Whether the application deployment device 200 allows elastic scaling of resources within the region.
  • an embodiment of the present application provides a schematic structural diagram of an application deployment device 100 .
  • the application deployment device 100 includes an installation package management module 110 , a process management module 120 , and a session management module 130 .
  • the installation package management module 110 can obtain the installation package of the application provided by the tenant, and the installation package management module 110 can also implement the delivery of the installation package of the application. After the process management module 120 selects a region for the application, the installation package management module 110 can deliver the installation package of the application to the region. For example, the installation package of the application can be carried by the process management module 120 to the region.
  • the internal management device is sending an application deployment request. For another example, the installation package management module 110 may separately deliver the installation package of the application to the regional application deployment device 200 in the region.
  • the process management module 120 creates a process queue based on the installation package of the application under the trigger of the tenant, and the process queue includes one or more application processes of the application.
  • the process management module 120 may also receive an application deployment policy configured by the tenant.
  • the process management module 120 needs to create and maintain a process queue before deploying the application in each area, and determine which areas the application process of the application in the process queue needs to be deployed based on the application deployment policy configured by the tenant, or needs to run in Which type of computing instance is used.
  • the process management module 120 can select a region to deploy the application based on the application deployment policy, and determine the computing instances required to deploy the application in the region.
  • the computing instances required to deploy the application determined by the process management module 120 refer to the number of computing instances required for deployment and the specifications of the computing instances.
  • the process management module 120 may send an application deployment request to the regional application deployment device 200 in the area.
  • the application deployment request is used to request to deploy the application in the area.
  • the application deployment request carries information about the computing instance required to deploy the application. , such as the number of computing instances, specifications and quantity of computing instances.
  • the regional application deployment device 200 in the area creates a computing instance according to the application deployment request, and creates one or more application processes of the application on the computing instance.
  • the application process is created by running the application's installation package.
  • the process management module 120 can select multiple regions for the application, and the multiple regions jointly deploy the application to realize multi-region deployment of the application.
  • the process management module 120 can also select a region for the application to implement single-region deployment of the application.
  • the process management module 120 when the process management module 120 selects a region to deploy the application, the process management module 120 can also issue the regional elastic policy or instruction to the regional application deployment device 200 in the region. Whether the regional application deployment device 200 allows elastic scaling of resources within the region.
  • the session management module 130 is responsible for session-level management operations.
  • the session management module 130 may create a session queue in the application deployment device 100.
  • the session queue is used to carry sessions, and the sessions may be sent by access users of the application.
  • the application can normally provide services to users accessing the application.
  • the interaction between the access user and the application here refers to the interaction between the access user and the application deployment device 100 through the client
  • the access user of the application can initiate a session through the client.
  • the session management module 130 in the application deployment device 100 can process the session and write it into the session queue maintained by the session management module 130.
  • the session management module 130 can process the sessions in sequence in the session queue. individual sessions.
  • the session management module 130 may select an application process for the session and send an instruction to the regional application deployment device 200 in the area where the application process is located to indicate the application process in the area.
  • the application process handles the session.
  • the installation package management module 110, the process management module 120, and the session management module 130 can all be implemented by software, or can be implemented by hardware.
  • the implementation of the installation package management module 110 will be introduced next, taking the installation package management module 110 as an example.
  • the implementation of the process management module 120 and the session management module 130 can refer to the implementation of the installation package management module 110 .
  • the installation package management module 110 may be an application program or code block running on the computing device.
  • the computing device may be at least one of a physical host, a virtual machine, a container, and other computing devices. Further, the above computer equipment may be one or more.
  • the installation package management module 110 may be an application running on multiple hosts/virtual machines/containers. It should be noted that multiple hosts/virtual machines/containers used to run the application can be distributed in the same availability zone (AZ) or in different AZs. Multiple hosts/VMs/containers used to run the application can be distributed in the same region or in different regions. Among them, usually a region can include multiple AZs.
  • multiple hosts/VMs/containers used to run the application can be distributed in the same virtual private cloud (VPC) or across multiple VPCs.
  • VPC virtual private cloud
  • the installation package management module 110 may include at least one computing device, such as a server.
  • the installation package management module 110 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
  • CPLD complex programmable logical device
  • FPGA field-programmable gate array
  • GAL general array logic
  • Multiple computing devices included in the installation package management module 110 may be distributed in the same AZ or in different AZs. Multiple computing devices included in the installation package management module 110 may be distributed in the same region or in different regions. Similarly, multiple computing devices included in the installation package management module 110 may be distributed in the same VPC or in multiple VPCs.
  • the plurality of computing devices may be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • any module among the installation package management module 110, the process management module 120, and the session management module 130 can be used to execute some or all steps in the application deployment method.
  • Figure 3 is a schematic structural diagram of a regional application deployment device 200 provided by an embodiment of the present application.
  • the regional application deployment device 200 is located in a region.
  • the regional application deployment device 200 includes a deployment module 210 and a regional session management module. 220.
  • the deployment module 210 is used to implement application deployment in this area.
  • the deployment module 210 can obtain the application deployment request sent by the application deployment device 100 (that is, the process management module 120), obtain the installation package of the application, and create the required computing instance for deploying the application in the area according to the application deployment request, and can also Run the installation package of the application on the computing instance and create the application process of the application.
  • the computing instances created by the deployment module 210 for deploying the application may be distributed on the one or more computing devices.
  • deployment module 210 may Create computing instances on part or all of the one or more computing devices for deployment of the application, and the total number and specifications of the created computing instances comply with the information about the computing instances carried in the application deployment request.
  • the deployment module 210 may also create one or more application processes of the application on the computing instance, and each application process is created based on the installation package of the application.
  • the deployment module 210 can also realize elastic expansion and contraction of resources within the region.
  • the application deployment device 100 can deliver the regional elasticity policy to the regional deployment device in the region, so that the deployment module 210 implements elastic scaling of resources in the region based on the regional elasticity policy. .
  • the deployment module 210 can perform resource elasticity on its own. For example, the deployment module 210 can determine whether elastic scaling of resources in the region needs to be implemented and how to achieve elastic scaling of resources in the region based on the usage of physical resources in the region, the working status of each computing instance, and the working status of each application process (such as determining the number of application processes for an expanded application or the number of application processes for a reduced application). For another example, the deployment module 210 may determine whether it is necessary to implement elastic scaling of resources in the region and how to implement elastic scaling of resources in the region based on the number of sessions processed in the region.
  • the deployment module 210 needs to expand the application process of the application or reduce the application process of the application.
  • the deployment module 210 can directly manage the computing instances in the area. In this way, the deployment module 210 can directly instruct the computing instances to expand the application process of the application or reduce the application process of the application.
  • the deployment module 210 can also indirectly manage computing instances in the region.
  • the computing instances in the region are equipped with independent management devices.
  • the management device is used to manage the computing instances in the region, such as creating computing instances, deleting computing instances, instructing computing instances to create or cancel application processes, etc.
  • the deployment module 210 may manage computing instances within a region through a management device.
  • the deployment device may send an instruction to the management device, instructing the management device to expand the application process of the application or reduce the application process of the application.
  • the management device may expand the application process of the application or shrink the application process of the application on the computing instance under the direction of the deployment device.
  • the regional session management module 220 is responsible for management operations at the session level within the region.
  • the regional session management module 220 can obtain the session to be processed from the application deployment device 100 (such as the session management module 130), select an application process to process the session in the area, and send the session to the computing instance where the selected application process is located. .
  • the deployment module 210 and the regional session management module 220 can be implemented by software, or can be implemented by hardware.
  • the implementation of the deployment module 210 and the regional session management module 220 is similar to the implementation of the session management module 130 in the above description. The difference is that the deployment module 210 and the regional session management module 220 need to be deployed in the same area.
  • application deployment includes two stages.
  • the first stage is the intra-region application deployment stage, that is, steps 401 to 401. 407.
  • the application deployment device 100 selects a region to deploy the application, determines the computing instances required to deploy the application in the region, and triggers the creation of computing instances and application processes in the selected region.
  • the second stage is the session processing stage, that is, steps 408 to 412.
  • the application deployment device 100 selects an application process for the session and sends it to the regional application deployment device 200 in the area where the application process is located.
  • the regional application deployment device 200 in the region sends the session to the computing instance where the application process is located, and instructs the application process on the computing instance to process the session.
  • Each step is explained below.
  • Step 401 When the tenant needs to deploy an application, the tenant provides the installation package of the application to the installation package management module 110.
  • the application installation package includes the executable code of the application that needs to be deployed.
  • the installation package management module 110 can create an application image for the application.
  • the application image refers to an operating system in which the installation package of the application is installed.
  • the installation package management module 110 may not create an application image. Instead, after selecting a region for deploying the application, it may directly deliver the installation package of the application to the selected region and create the application image itself in the region.
  • the installation package management module 110 can provide the tenant with an interface for transmitting the installation package of the application by deploying a computing device on the tenant side.
  • Figure 5A is a display interface of this interface facing tenants.
  • Figure 5A is only an exemplary interface. In this interface, the tenant is allowed to upload the installation package of the application. After selecting the installation package file of the application, the tenant can click Upload to provide the installation package of the application to the installation package management module 110 .
  • Step 402 The tenant instructs the process management module 120 to create a process queue and provides the process management module 120 with a deployment policy.
  • the tenant can instruct the process management module 120 to create a process queue.
  • the process management module 120 can create an application process of the application based on the installation package of the application, forming a process that includes one or more The process queue of an application process.
  • the tenant does not need to specify the number of application processes applied in the process queue.
  • the number of application processes created by the process management module 120 is equal to the initial value.
  • the process management module 120 can dynamically adjust it during the execution of subsequent steps. The number of application processes in the process queue.
  • the tenant may also provide a deployment policy to the process management module 120, which includes part or all of the application deployment policy, the session management policy, and the regional elasticity policy.
  • a tenant can configure only app deployment policies or session management policies.
  • tenants can configure session management policies and regional elasticity policies.
  • the embodiment of this application does not limit the order in which the tenant provides the installation package of the application, the tenant instructs the creation of a process queue, and provides the deployment policy.
  • the tenant can first provide the installation package of the application, instruct the creation of the process queue, and then configure the deployment strategy.
  • the tenant can also provide the installation package of the application and configure the deployment policy first, and then instruct the creation of the process queue.
  • the tenant can also provide the installation package of the application, instruct the creation of the process queue and provide the deployment strategy at the same time. This is related to the order in which the process management module 120 provides an interface to the installation package of the application provided by the tenant, an interface that instructs the creation of a process queue, and an interface that provides a deployment policy.
  • the process management module 120 can provide the tenant with an interface for configuring deployment policies and an interface for instructing the creation of a process queue by deploying the computing device on the tenant side.
  • Figure 5B is a tenant-oriented display interface of this interface.
  • Figure 5B is only an exemplary interface. In this interface, tenants can configure application deployment strategies, session management strategies, and regional elasticity strategies.
  • tenants can set the application deployment cost range and area selection. You can also set the session delay range. Tenants can also check the option to allow elastic scaling of resources within the region. If the option to allow elastic scaling of resources within the region is selected, the tenant can select or enter the idle ratio.
  • a "Create Process Queue” button is provided. After the tenant configures the deployment policy, the tenant can click the "Create Process Queue” button. In this way, the tenant simultaneously instructs the creation of a process queue and provides a deployment strategy by clicking this button.
  • Step 403 The process management module 120 selects a region to deploy the application according to the deployment policy, and determines the computing instances required to deploy the application in the selected region, such as determining the number of computing instances required to deploy the application in the selected region. and the specifications of the compute instance.
  • the process management module 120 may also determine the number of application processes of the application created on each computing instance. Application processes that create different numbers of applications run on different computing instances. In some scenarios, the process management module 120 may set a minimum number of application processes for applications created by the computing instance. When the process management module 120 determines the number of application processes of the application created on each computing instance, the number may be equal to the minimum number. In this embodiment of the present application, the allowed process management module 120 dynamically adjusts the number of application processes of an application allowed in each area or the number of application processes of an application running on each computing instance after the application is deployed in each area.
  • the process management module 120 may select a region to deploy the application and the computing instances required to deploy the application in the region according to the application deployment policy.
  • An application deployment policy sets constraints from some or all of the application's deployment cost range and the region's selection range.
  • the application can be deployed in some lower-cost areas.
  • the application deployment policy restricts the selection range of the area
  • the area that conforms to the application deployment policy constraints must be selected.
  • the application deployment strategy requires that the application be deployed in North China and Northeast China as much as possible, followed by Central China.
  • priority should be given to whether North China and Northeast China can support application deployment. Only when neither North China nor Northeast China can support application deployment, Central China should be considered.
  • the process management module 120 selects the region to deploy the application and determines the region to be deployed according to the application deployment policy.
  • the way to deploy the compute instances required for applications within a region is also more complex.
  • big data analysis can be performed on historical region selection data and related data of computing instances required for deploying applications in the region, and the analysis results can be integrated into a set of region selection and resource determination algorithms built into the process management module 120 middle.
  • the process management module 120 can input the application deployment policy into the algorithm to obtain the region and the computing instances required for deploying applications in the region.
  • the above-mentioned methods of selecting a region for deploying the application and determining the computing instances required for deploying the application in the region are only exemplary descriptions. Any method that can determine the region through an application deployment policy is applicable to the embodiments of this application.
  • the process management module 120 can also obtain the region selection policy from the global deployment decision-making device 400, and the process management module 120 selects the region to deploy the application according to the application deployment policy and the region selection policy. Since the region selection policy can provide the priority of one or more regions, it is convenient for the process management module 120 to quickly select a region for deploying applications. And because the region selection strategy provided by the global decision-making device is obtained from the occupancy of physical resources in each region, it is guaranteed that the final selected region can effectively implement application deployment.
  • the process management module 120 may select a region to deploy the application and the computing instances required to deploy the application in the region according to preset rules. For example, the process management module 120 selects an area to deploy the application at a default deployment cost. The process management module 120 can also analyze the type of executable code in the installation package of the application and estimate the size of the computing instances required to deploy the application.
  • Step 404 The process management module 120 sends an application deployment request to the regional application deployment device 200 (that is, the deployment module 210 in the regional application deployment device 200) in the selected area.
  • the application deployment request is used to request to deploy the application in the selected area. within the area.
  • the application deployment request carries information about the computing instances required to deploy the application in the region and the application image.
  • the application deployment request can also carry the application to be created on each computing instance. The number of processes.
  • the number of application processes to be created on the computing instance is the number pre-agreed between the process management module 120 and the deployment module 210 (for example, the number of application processes to be created on the computing instance is agreed to be The number is equal to the minimum number of application processes that need to be created on the computing instance).
  • the application deployment request does not need to carry the number of application processes that need to be created on each computing instance.
  • the application image carried by the process management module 120 in the application deployment request is used as an example for explanation.
  • the application image is an operating system for installing the application's installation package. It is essentially a code file for the operating system that contains the application's installation package. That is to say, the process management module 120 delivers the application installation package to the region by sending the application image.
  • the process management module 120 can directly carry the application installation package in the application deployment request. In this case, when the deployment module 210 in the area receives the application deployment request, it needs to prepare the application image by itself.
  • the application installation package (or application image) and the information about the computing instance required to deploy the application within the application are carried in an application deployment request, which can effectively reduce the interaction between the process management module 120 and the regional process management module 120 in the region. frequency.
  • the installation package (or application image) of the application may not be carried in the application deployment request.
  • the process management module 120 sends the installation package or application image of the application to the regional process management module in the region through other methods. 120.
  • the deployment module 210 of the area application deployment device 200 in the area can perform steps 405 to 406.
  • Step 405 The deployment module 210 creates a required computing instance for deploying the application according to the application deployment request.
  • the number of calculation instances is not limited here, it can be one or multiple.
  • the deployment module 210 may instruct the computing device in the area to create a computing instance for deploying the application, and the created computing instance meets the relevant information of the computing instance required for deploying the application within the application. That is, the deployment module 210 needs to create computing instances that comply with the quantity and specifications recorded in the relevant information.
  • the deployment module 210 can learn the usage of physical resources in each computing device in the area.
  • the deployment module 210 can select a computing instance based on the usage of physical resources in each computing device in the area.
  • Step 406 The deployment module 210 creates an application process of the application on the created computing instance.
  • the deployment module 210 sends the application image to the computing instance and instructs the computing instance to install the application image.
  • the computing instance installs the application image under the instruction of the deployment device.
  • the deployment module 210 may also indicate the number of application processes of the application that need to be created on the computing instance. After the computing instance installs the application image, an application process of the application is created under the instruction of the deployment module 210 .
  • the application has been deployed in the region. After completing the deployment in the area, the application can provide services to the users who access the application.
  • Step 407 The session management module 130 obtains the session sent by the access user of the application.
  • the access user of the application can establish a connection with the session management module 130 through the client.
  • the access user of the application initiates a session by operating on the client.
  • the application is a game application
  • the user who accesses the application can install the client software of the game application on a mobile terminal or personal computer.
  • Users accessing the application log in to the game by operating the client software and set up a game.
  • the component game essentially initiates a session, which is used to request the application to build the game.
  • the application is a live broadcast application
  • the user who accesses the application can install the client software of the live broadcast application on a mobile terminal or personal computer. Users accessing the application initiate a live broadcast by operating the client software.
  • Asking the user to initiate a live broadcast essentially initiates a session, which is used to request the application to set up a live broadcast.
  • the application is an online payment application, and users accessing the application can perform operations on a dedicated client device for payment. Users accessing the application make online payments by operating the client device.
  • a user accessing an application initiates an online payment, he or she essentially initiates a session, which is used to request the application to make an online payment.
  • Step 408 The session management module 130 places the session in the session queue.
  • the session management module 130 will maintain a session queue, which can carry multiple sessions.
  • the session management module 130 can process each session in sequence according to the order of the sessions in the session queue.
  • Step 409 The session management module 130 extracts the session to be processed from the session queue, and selects an application process for the session to process the session.
  • the session management module 130 In order to be able to process the session, the session management module 130 needs to deliver the session to the area where the application is deployed in a timely manner. When the application is deployed in a multi-region deployment manner, the session management module 130 needs to provide the session from multiple areas. Select an application within a zone. When an application is deployed in a single-region deployment manner, the application process of the application selected by the session management module 130 is the application process of the application in the region where the application is deployed.
  • the application deployment device 100 selects a region for the session according to the session processing policy.
  • the session management module 130 selects the application process of the application in the area with stronger computing device performance from multiple areas, or selects the distance application. Application processes that access applications within the user's immediate area. On the contrary, if the delay required by the session processing policy is high, the session management module 130 selects for the session the application process of the application in an area with moderate computing device performance, or an application process in an area far away from the access user of the application. application process.
  • the session processing policy usually imposes corresponding constraints on session delay range and other aspects, and the way in which the session management module 130 selects an application process for deploying the session according to the session processing policy is also more complicated.
  • big data analysis can be performed on historical session application process selection data, and the analysis results can be integrated into a set of session application process selection algorithms built into the session management module 130 .
  • the session management module 130 can input session processing policies and multiple areas of application deployment into the algorithm to obtain the application process selected for the session.
  • the above-mentioned method of selecting an application process for this session is only an exemplary description, and any method that can determine an application process through a session management policy is applicable to the embodiment of the present application.
  • the client deployed on the access user side of the application has a detection function.
  • the session management module 130 can also obtain the information reported by the client.
  • the session management module 130 can also refer to the client report when selecting an application process for the session. Information.
  • the session management module 130 may select an area close to the location for the session based on the location reported by the client.
  • the session management module 130 can also obtain the session distribution policy from the global decision-making device, and select an application process for the session according to the session processing policy and the session distribution policy. Since the session distribution policy can provide the priority of the application process of each application, it is convenient for the session management module 130 to more efficiently select the application process to process the session. And because the session distribution strategy provided by the global decision-making device is obtained from the working status of the application process in each area, it is guaranteed that the application process finally selected for the session can process the session in time, ensuring session processing efficiency.
  • the session management module 130 selects an application process for the session by itself.
  • the session management module 130 may select an application process for the session based on the session distribution policy, and the session management module 130 may also select an application process for the session based on the information reported by the client.
  • the session management module 130 may also select an application process for the session based on the latency constrained in the application deployment policy.
  • Step 410 The session management module 130 sends the session to the regional session management module 220 in the area where the selected application process is located, instructing the selected application process to process the session.
  • Step 411 After receiving the session, the regional session management module 220 sends the session to the computing instance where the selected application process is located, and instructs the application process to process the session.
  • Step 412 After receiving the session, the computing instance sends the session to the application process and instructs the application process to process the session.
  • the application deployment device 100 when deploying an application using the embodiment of the present application, if the deployment policy configured by the access user of the application includes a regional elastic policy, elastic scaling of resources in the region is allowed.
  • the application deployment device 100 that is, the process management module 120
  • the application deployment device 100 sends the regional elastic policy to the deployer during the application deployment process.
  • a regional application deployment device 200 within the application area.
  • the embodiment of the present application does not limit the manner and timing of the application deployment device 100 sending the regional elasticity policy.
  • the application deployment apparatus 100 may carry the regional elasticity policy in the application deployment request.
  • the application deployment device 100 may not send the regional elastic policy through an application deployment request, but may separately send the regional elastic policy to the regional application deployment device 200 in the region where the application is deployed. That is, the application deployment device 100 can use other messages to carry the regional elasticity policy. If the regional elasticity policy only indicates that elastic scaling of resources in the region is allowed (but does not indicate the method of elastic scaling of resources in the region), the application deployment device 100 may not send the regional elasticity policy, but instead notify the region by sending an indication message. The application deployment device 200 allows elastic expansion and contraction of resources within a region. If the regional elasticity policy only indicates that elastic scaling of resources within the region is not allowed, the application deployment device 100 sends an instruction message to inform the regional application deployment device 200 that elastic scaling of resources within the region is not allowed.
  • an embodiment of the present application provides a method for elastically scaling resources within a region.
  • the method includes:
  • Step 601 The application process of the application deployed in the area reports the monitored status information to the deployment module 210 in the area.
  • the status information includes the working status of the application process.
  • the status information also includes the status of the physical resources on the computing device where the application process is located.
  • Step 602 The deployment module 210 summarizes the status information reported by the application processes of each application, and determines whether to trigger resource elastic scaling in the region based on the summarized status information and the regional elasticity policy.
  • the deployment module 210 determines the current application in the region based on the summarized status information. Whether the status of the application process meets the triggering conditions for the application process applied in the expansion area described by the regional elasticity policy, or whether it meets the triggering conditions for the application process applied in the shrinking area described by the regional elasticity policy.
  • the deployment module 210 can determine whether expansion is needed based on the summarized status information. Application processes for applications in a zone, or to determine whether application processes for applications within a zone need to be scaled down. In this case, the deployment module 210 may preset the triggering conditions for the application process of the application in the expansion area, or the triggering conditions of the application process of the application in the reduction area. The deployment module 210 determines whether a preset triggering condition for an application process applied in an expansion area is met based on the aggregated status information, or whether a preset triggering condition for an application process applied in a reduction area is met.
  • steps 603 to 604 are executed.
  • steps 605 to 606 are executed.
  • the deployment module 210 does not need to perform steps 602 to 606.
  • Step 603 If the status of the application process currently applied in the area meets the triggering condition for expanding the application process applied in the area, the deployment module 210 determines the number of application processes of the application that needs to be expanded.
  • the regional elastic policy describes the idle ratio threshold of the application process applied in the region
  • the current idle ratio of the application process applied in the region is lower than the idle ratio threshold required by the regional elastic policy, it means that there are currently more idle ratios in the region.
  • the application process of the application is in a busy state, and the number of application processes of the application should be appropriately increased to cope with the possible surge in the number of sessions.
  • the deployment module 210 may determine the number of application processes of the application that needs to be expanded according to the idle ratio required by the regional elasticity policy, and ensure that the idle ratio of the application processes of the expanded application can meet the idle ratio threshold required by the regional elasticity policy.
  • the regional elasticity policy describes that the idle ratio threshold of application processes in the region is 4:10.
  • the region The idle ratio of application processes within the application is 3:28.
  • the deployment module 210 can increase the number of application application processes to ensure that the idle ratio of the application processes in the area can meet 4:10.
  • the deployment module 210 can determine to add 14 application application processes, so that the idle ratio of the application processes in the area can be satisfied. The idle ratio of the application process will be close to 4:10.
  • the idle ratio of the application processes in the area may not be strictly equal to what is required by the regional elasticity policy. Idle ratio. Therefore, in actual applications, there is a certain difference between the idle ratio of the application process of the application in the area and the idle ratio required by the area elasticity policy.
  • the deployment module 210 can preset the idle ratio threshold of the application process applied in the region, and the deployment module 210 can adjust the idle ratio according to the preset idle ratio. Ratio determines the number of application processes that scale the application within the region.
  • the above-mentioned method of determining the number of application processes that need to be expanded is only an example, and the embodiment of the present application does not limit the method in which the deployment module 210 in the area determines the number of application processes that need to be expanded.
  • Step 604 The deployment module 210 instructs the computing instance to create a specified number of application processes of the application.
  • the specified quantity is the quantity determined in step 603.
  • the number of application processes that can run on a computing instance is limited, that is, there is a certain limit on the usage of physical resources on the computing instance. If there are many application processes running on a computing instance, and the application processes of these applications are all busy, it is easy to preempt the virtual resources of the computing instance, which will reduce the execution efficiency of the application process itself. Therefore, application processes for applications that require scaling can be distributed across multiple computing instances.
  • the deployment module 210 needs to report the number of application processes of the application running on the computing instance to the application deployment device 100 (that is, the process management module 120), so that the application deployment device 100 can promptly learn the number of application processes. The distribution of application processes.
  • the deployment module 210 can also create a new computing instance to Expand the application's application process on this new compute instance. In this case, the deployment module 210 needs to report the number and specifications of the newly created computing instances to the application deployment device 100 (that is, the process management module 120), so that the application deployment device 100 can learn the deployment status of the application in a timely manner. , that is, clarify the regions that should be deployed and the computing instances required to deploy the application in each region.
  • Step 605 If the status of the application process currently applied in the area meets the triggering condition for reducing the application process applied in the area, the deployment module 210 determines the number of application processes of the application that needs to be reduced.
  • the regional elastic policy describes the idle ratio threshold of the application process applied in the region, if the idle ratio of the application process currently applied in the region is greater than the idle ratio threshold required by the regional elastic policy, it means that there are currently more applications in the region. If the application process is idle, the number of application processes should be appropriately reduced to avoid wasting resources.
  • the deployment module 210 may determine the number of application processes of the application that needs to be reduced according to the idle ratio required by the regional elasticity policy, and ensure that the idle ratio of the application processes of the reduced application can meet the idle ratio threshold required by the regional elasticity policy.
  • the regional elasticity policy describes that the idle ratio threshold of application processes in the region is 4:10.
  • the region The idle ratio of the application process within the application is 18:28.
  • the deployment module 210 can reduce the number of application processes of the application to ensure that the idle ratio of the application processes in the area can meet 4:10.
  • the deployment module 210 can determine to reduce the application processes of 11 applications, so that the idle ratio of the application processes in the area can be reduced. The idle ratio of the application process will be close to 4:10.
  • the idle ratio of the application processes in the area may not be strictly equal to what is required by the regional elasticity policy. Idle ratio. Therefore, in actual applications, there is a certain difference between the idle ratio of the application process of the application in the area and the idle ratio required by the area elasticity policy.
  • the deployment module 210 can preset the idle ratio threshold of the application process applied in the region, and the deployment module 210 can adjust the idle ratio according to the preset idle ratio. The number of application processes than the reduced application within the determined area.
  • the above-mentioned method of determining the number of application processes that need to be reduced is only an example, and the embodiment of the present application does not limit the method in which the deployment module 210 in the area determines the number of application processes that need to be reduced.
  • Step 606 The deployment module 210 instructs the computing instance to log off the application processes of the specified number of applications.
  • the specified quantity here is the quantity determined in step 605.
  • the deployment module 210 may prioritize logging off application processes of applications that are in an idle state. In this case, the deployment module 210 needs to report the number of application processes of the application running on the computing instance to the application deployment device 100 (that is, the process management module 120), so that the application deployment device 100 can promptly learn the number of application processes. The distribution of application processes.
  • the deployment module 210 may first log off the application processes of all applications on the computing instance and delete the computing instance. In this case, the deployment module 210 needs to report the number and specifications of the deleted computing instances to the application deployment device 100 (that is, the process management module 120), so that the application deployment device 100 can learn the deployment status of the application in a timely manner. That is, clarify the regions where it should be deployed and the computing instances required to deploy the application in each region.
  • the application deployment device 100 can adjust the deployment status of the application.
  • Adjusting the deployment status of an application includes but is not limited to: adding new regions, deleting existing regions, and changing the computing instances required to deploy applications in existing regions.
  • the following is an explanation of how tenants change application configuration policies and adjust application deployment with reference to the attached figure. See Figure 7.
  • the method includes:
  • Step 701 The process management module 120 obtains the changed application deployment policy of the tenant.
  • the process management module 120 provides an interface for changing the deployment policy to the tenant through the client, and the tenant can change part or all of the content in the deployment policy through the interface.
  • the process management module 120 can provide the tenant with an interface for changing the deployment policy by deploying the computing device on the tenant side.
  • Figure 8 is a display interface of this interface facing tenants.
  • Figure 8 is only an exemplary interface. In this interface, tenants can change some or all of the application deployment policy, session management policy, and regional elasticity policy.
  • tenants can reset the deployment cost range and region selection range. You can also reset the session delay range. Tenants can also re-select whether to allow elastic scaling of resources within a region. If the option to allow elastic scaling of resources within a region is selected, tenants can select or enter the idle ratio.
  • the tenant can click the “Submit” button, and the tenant can provide the changed deployment policy to the process management module 120 .
  • Step 702 The process management module 120 determines the deployment status of the current application.
  • the deployment status includes but is not limited to the region where it should be deployed, the computing instances occupied by the deployment of the application in each region, and the number of applications running on each computing instance. application process.
  • Step 703 The process management module 120 determines how to adjust the application deployment according to the changed application deployment policy and the current application deployment status, that is, determines whether a new area needs to be added for the application, or whether it is necessary to delete existing areas for the application. region, or determine whether it is necessary to change the computing instances required for deploying applications in existing regions.
  • the process management module 120 can delete some more expensive areas for the application, or appropriately change the deployment in the existing area. Compute instances required by the application, such as reducing the number of compute instances. If the deployment cost constrained by the changed application deployment policy is higher than the deployment cost constrained by the pre-changed application deployment policy, the process management module 120 can add a new area for the application, or appropriately change the requirements for deploying the application in the existing area. Compute instances, such as increasing the number of compute instances.
  • the process management module 120 may delete the first target area. If the changed application deployment policy indicates that the area allows deployment in a second target area, the process management module 120 may add the second target area for the application if time delay and deployment cost permit.
  • the changed application deployment strategy will usually add new constraints in multiple aspects in the application deployment cost range and the region selection range.
  • the process management module 120 will perform the modified application deployment strategy according to the changed application deployment strategy. Determining how to adjust application deployment is also more complex.
  • the above-mentioned methods of selecting the area to deploy the application and the computing instances required to deploy the application in a certain area are only exemplary descriptions. Any method that can determine the area through the changed application deployment policy is applicable to the embodiments of this application.
  • the process management module 120 can also obtain the region selection policy from the global deployment decision-making device 400.
  • the process management module 120 determines how to adjust the application deployment according to the changed application deployment policy, the deployment status of the current application, and the region selection policy. Since the area selection policy can provide the priority of each area, it is convenient for the process management module 120 to quickly determine how to adjust application deployment and determine which areas to add or delete.
  • Step 704 If the process management module 120 determines that a new area needs to be added for the application, the process management module 120 can determine the computing instances required to deploy the application in the new area based on the changed application deployment policy and the deployment status of the current application. Optionally, the process management module 120 can also determine the application process of the application that needs to be created on the computing instance. quantity.
  • the process management module 120 can also obtain the region selection policy from the global deployment decision-making device 400.
  • the process management module 120 can select a new application for deployment based on the changed application deployment policy, the deployment status of the current application, and the region selection policy. area.
  • Step 705 The process management module 120 sends an application deployment request to the deployment module 210 in the new area.
  • the application deployment request is used to request to deploy the application in the area.
  • the application deployment request carries information about the computing instances required to deploy the application in the region and the application image.
  • the application deployment request can also carry the number of application processes of the application that needs to be created on the computing instance.
  • the deployment module 210 in the new area can deploy the application in the new area according to the application deployment request.
  • the deployment module 210 deploys the application in the new area in a manner similar to steps 405 to 406.
  • steps 405 to 406 please refer to the foregoing description. , which will not be described again here.
  • Step 706 If the process management module 120 determines that the existing area needs to be deleted for the application, the process management module 120 can determine the area that needs to be deleted based on the changed application deployment policy and the deployment status of the current application.
  • the process management module 120 can also obtain the region selection policy from the global deployment decision-making device 400.
  • the process management module 120 can determine that the application needs to be deleted based on the changed application deployment policy, the deployment status of the current application, and the region selection policy. Area.
  • Step 707 The process management module 120 sends an application logout request to the deployment module 210 in the area that needs to be deleted.
  • the application logout request is used to request to log out the application in the area.
  • the deployment module 210 may stop the application process of the application in the area and delete the computing instance where the application process is located.
  • the area process management module 120 in the area can stop the application process of the application in the area after the session processing is completed. Delete the computing instance where the application's application process is located.
  • the regional session management module 220 in this area can also send the unprocessed session to the session management module 130 and request the session management module 130 to re-select an area for the unprocessed session.
  • the regional session management module 220 in this area will not process the session.
  • the deployment module 210 can stop the application process of the application in the area and delete the computing instance where the application process is located.
  • Step 708 If the process management module 120 determines that it is necessary to change the computing instances required for deploying applications in the existing area, the process management module 120 determines the change plan for the computing instances in the existing area based on the changed application deployment strategy and the deployment status of the current application. .
  • the change plan of a computing instance describes the specific method of changing the computing instance.
  • the change plan of the computing instance can record the number of changed computing instances and the specific values, and can also record the specifications before and after the change of the computing instance.
  • Step 709 The process management module 120 sends an application change request to the deployment module 210 in the existing area.
  • the application change request is used to request changes to the computing instance in the area.
  • the application change request carries the change plan of the computing instance.
  • the deployment module 210 After receiving the application change request, the deployment module 210 changes the number or specifications of the computing instances in the area according to the change plan of the computing instances.
  • the tenant has changed the application deployment policy for explanation. If the tenant updates the session processing policy, the session management module 130 receives the updated session processing policy. The session management module 130 can This updated session handling policy selects the application process for subsequent received sessions. If the tenant updates the regional elasticity policy, for example, the regional elasticity policy before the update allows elastic expansion and contraction of resources in the region, but the regional elasticity policy after the update does not allow elastic expansion and contraction of resources in the region, the process management module 120 can instruct and notify the deployment module in the region. 210 no longer implements elastic scaling of resources within the region.
  • the process management module 120 can inform the deployment module 210 in the region of the updated regional elasticity policy, So that the deployment module 210 in the area can execute the embodiment shown in FIG. 4 .
  • computing device 900 includes: bus 901, processor 902, memory 903, and communication interface 904.
  • the processor 902, the memory 903 and the communication interface 904 communicate through the bus 901.
  • Computing device 900 may be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 900.
  • the bus 901 may be a peripheral component interconnect standard (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • PCI peripheral component interconnect standard
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 9, but it does not mean that there is only one bus or one type of bus.
  • Bus 901 may include a path that carries information between various components of computing device 900 (eg, memory 903, processor 902, communications interface 904).
  • the processor 902 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP). any one or more of them.
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • Memory 903 may include volatile memory, such as random access memory (RAM).
  • the processor 902 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (SSD). drive, SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 903 stores executable program code, and the processor 902 executes the executable program code to respectively implement the functions of the aforementioned installation package management module 110, process management module 120, and session management module 130, thereby implementing the application deployment method. That is, the memory 903 stores instructions for executing the application deployment method.
  • executable code is stored in the memory 903, and the processor 902 executes the executable code to implement the functions of the aforementioned application deployment device 100, thereby implementing the application deployment method. That is, the memory 903 stores instructions for executing the application deployment method.
  • the communication interface 904 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 900 and other devices or communication networks.
  • the computing device shown in Figure 9 can also be used to implement the functions of the regional application deployment device.
  • the memory 903 in the computing device stores executable program code, and the processor 902 executes the executable program code to realize the functions of the aforementioned deployment module 210 and the regional session management module 220 respectively, thereby realizing the regional application deployment method. Operations performed by the application deployment device 200. That is, the memory 903 stores instructions for executing the regional application deployment device 200 in the application deployment method.
  • executable code is stored in the memory 903, and the processor 902 executes the executable code to respectively implement the functions of the aforementioned application deployment device 100, thereby realizing the operations performed by the application deployment device 200 in the application deployment method area. That is, the memory 903 stores instructions for executing the regional application deployment device 200 in the application deployment method.
  • the communication interface 904 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement computing devices. Communication between device 900 and other devices or communication networks.
  • An embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device may be a server, such as a central server, an edge server, or a local server in a local data center.
  • the computing device may also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
  • the computing device cluster includes at least one computing device 900 .
  • the same instructions for executing the application deployment method may be stored in the memory 903 of one or more computing devices 900 in the computing device cluster.
  • the memory 903 of one or more computing devices 900 in the computing device cluster may also store part of the instructions for executing the application deployment method.
  • a combination of one or more computing devices 900 may collectively execute instructions for performing an application deployment method.
  • the memories 903 in different computing devices 900 in the computing device cluster may store different instructions, respectively used to execute part of the functions of the application deployment device 100 or the regional application deployment device 200 . That is, the instructions stored in the memory 903 in different computing devices 900 can implement the installation of one or more modules in the package management module 110, the process management module 120, the session management module 130, the deployment module 210, and the regional session management module 220. Function.
  • one or more computing devices in a cluster of computing devices may be connected through a network.
  • the network may be a wide area network or a local area network, etc.
  • An embodiment of the present 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 in any available medium.
  • the computer program product when executed on at least one computing device, causes at least one computing device to execute an application deployment method, or an application deployment method.
  • An embodiment of the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
  • the computer-readable storage medium includes instructions that instruct the computing device to perform an application deployment method, or instruct the computing device to perform an application deployment method.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

La présente demande concerne un procédé et un système de déploiement d'application, et un dispositif. Dans la présente demande, un appareil de déploiement d'application acquiert un progiciel d'installation d'une application et une politique de déploiement d'application fournie par un locataire, le progiciel d'installation de l'application comprenant un fichier exécutable de l'application, et la politique de déploiement d'application indiquant des conditions de contrainte pour le déploiement de l'application ; l'appareil de déploiement d'application sélectionne une région de déploiement pour l'application selon la politique de déploiement d'application, et transmet le progiciel d'installation de l'application à la région ; l'appareil de déploiement d'application crée au moins une instance informatique dans la région au moyen d'un appareil de déploiement d'application régional dans la région, et exécute le progiciel d'installation sur la ou les instances informatiques pour créer une pluralité de processus d'application. Lorsque le locataire doit déployer l'application, seul le progiciel d'installation de l'application et certaines conditions de contrainte requises pour déployer l'application doivent être simplement fournis, l'appareil de déploiement d'application et l'appareil de déploiement d'application régional dans la région aident le locataire à terminer le déploiement de l'application, et le locataire ne doit pas configurer de ressources requises par des régions, ce qui simplifie le processus de déploiement d'application et améliore le degré d'automatisation de déploiements d'application.
PCT/CN2023/081267 2022-07-30 2023-03-14 Procédé et système de déploiement d'application, et dispositif WO2024027160A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210912556.2A CN117519958A (zh) 2022-07-30 2022-07-30 一种应用部署方法、系统及设备
CN202210912556.2 2022-07-30

Publications (1)

Publication Number Publication Date
WO2024027160A1 true WO2024027160A1 (fr) 2024-02-08

Family

ID=89748303

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081267 WO2024027160A1 (fr) 2022-07-30 2023-03-14 Procédé et système de déploiement d'application, et dispositif

Country Status (2)

Country Link
CN (1) CN117519958A (fr)
WO (1) WO2024027160A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303212A1 (en) * 2018-03-30 2019-10-03 Cisco Technology, Inc. Method for managing application configuration state with cloud based application management techniques
CN111045790A (zh) * 2019-12-13 2020-04-21 北京奇艺世纪科技有限公司 虚拟机部署方法及装置
CN112087312A (zh) * 2019-06-15 2020-12-15 华为技术有限公司 一种提供边缘服务的方法、装置和设备
US20200404076A1 (en) * 2019-06-19 2020-12-24 Hewlett Packard Enterprise Development Lp Method for deploying an application workload on a cluster
CN112698847A (zh) * 2020-12-31 2021-04-23 江苏视博云信息技术有限公司 一种云应用的部署方法、装置及系统
CN114710488A (zh) * 2022-03-29 2022-07-05 浪潮云信息技术股份公司 实现弹性伸缩跨可用区伸缩的方法、装置、设备及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303212A1 (en) * 2018-03-30 2019-10-03 Cisco Technology, Inc. Method for managing application configuration state with cloud based application management techniques
CN112087312A (zh) * 2019-06-15 2020-12-15 华为技术有限公司 一种提供边缘服务的方法、装置和设备
US20200404076A1 (en) * 2019-06-19 2020-12-24 Hewlett Packard Enterprise Development Lp Method for deploying an application workload on a cluster
CN111045790A (zh) * 2019-12-13 2020-04-21 北京奇艺世纪科技有限公司 虚拟机部署方法及装置
CN112698847A (zh) * 2020-12-31 2021-04-23 江苏视博云信息技术有限公司 一种云应用的部署方法、装置及系统
CN114710488A (zh) * 2022-03-29 2022-07-05 浪潮云信息技术股份公司 实现弹性伸缩跨可用区伸缩的方法、装置、设备及介质

Also Published As

Publication number Publication date
CN117519958A (zh) 2024-02-06

Similar Documents

Publication Publication Date Title
US11354169B2 (en) Adjusting variable limit on concurrent code executions
Taherizadeh et al. Dynamic multi-level auto-scaling rules for containerized applications
CN107209682B (zh) 资源调整的自动管理
US10771533B2 (en) Adaptive communication control device
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
US10684878B1 (en) Virtual machine management
US9547534B2 (en) Autoscaling applications in shared cloud resources
US8904005B2 (en) Indentifying service dependencies in a cloud deployment
US20180210752A1 (en) Accelerator virtualization method and apparatus, and centralized resource manager
EP2724244B1 (fr) Informatique en nuage native par intermédiaire de segmentation de réseau
EP2228719A1 (fr) Procédé d'exécution d'une machine virtuelle, système informatique et programme informatique
WO2018006676A1 (fr) Procédé et appareil de traitement de ressources d'accélération et système de virtualisation de fonction de réseau
US11563636B1 (en) Dynamic management of network policies between microservices within a service mesh
US20130318522A1 (en) Management of Virtual Desktop Infrastructure (VDI) Sessions Using Real-Time Network Conditions
CN109358967B (zh) 一种me平台app实例化迁移方法及服务器
CN109729106A (zh) 处理计算任务的方法、系统和计算机程序产品
US11782775B2 (en) Dynamic management of network policies between microservices within a service mesh
US11178252B1 (en) System and method for intelligent distribution of integration artifacts and runtime requests across geographic regions
WO2022100365A1 (fr) Procédé, système et dispositif pour la gestion d'une tâche d'application d'intelligence artificielle, et support d'enregistrement
US11461123B1 (en) Dynamic pre-copy and post-copy determination for live migration between cloud regions and edge locations
US10025640B2 (en) Balancing work of tasks at a sending node of a transaction server
WO2024027160A1 (fr) Procédé et système de déploiement d'application, et dispositif
US11573839B1 (en) Dynamic scheduling for live migration between cloud regions and edge locations
US10587529B1 (en) Dynamic selection of router groups to manage computing instances
CN115933985A (zh) 一种分布式存储QoS控制方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23848875

Country of ref document: EP

Kind code of ref document: A1