WO2023093197A1 - 一种应用管理方法及相关系统 - Google Patents

一种应用管理方法及相关系统 Download PDF

Info

Publication number
WO2023093197A1
WO2023093197A1 PCT/CN2022/116958 CN2022116958W WO2023093197A1 WO 2023093197 A1 WO2023093197 A1 WO 2023093197A1 CN 2022116958 W CN2022116958 W CN 2022116958W WO 2023093197 A1 WO2023093197 A1 WO 2023093197A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
orchestration
nodes
target
file
Prior art date
Application number
PCT/CN2022/116958
Other languages
English (en)
French (fr)
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 WO2023093197A1 publication Critical patent/WO2023093197A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Definitions

  • the present application relates to the technical field of cloud computing, and in particular to an application management method, system, computer cluster, computer-readable storage medium, and computer program product.
  • “Applying to the cloud” refers to deploying applications (also referred to as application software) to a cloud environment. After the independent software vendor (ISV) completes the development of the application, it can hand over the deployment and upgrade of the application to a professional system integration (SI) provider to complete the cloud application.
  • ISV independent software vendor
  • SI professional system integration
  • system integrators can deploy applications to different cloud environments, considering that different customers may have different requirements. For example, for SME customers, system integrators can deploy applications to public clouds; for large enterprise customers, system integrators can deploy applications to private clouds, public clouds, and smart sites (fusion compute, FC).
  • FC fusion compute
  • ISVs need to target different deployment
  • the environment is adapted separately (for example, orchestrating the services that the application depends on and the dependencies between services), which increases the delivery pressure of the ISV.
  • the system integrator it is also difficult for the system integrator to deploy the application to different environments in batches in a unified manner, which also increases the deployment pressure of the system integrator.
  • This application provides an application management method.
  • the method obtains an arrangement file by arranging standardized service nodes.
  • the arrangement file can shield the differences of heterogeneous environments such as public cloud, private cloud, hybrid cloud, or edge cloud.
  • the different deployment environments applicable to the application only need to be orchestrated once, reducing the delivery pressure.
  • applications can be deployed in batches to different deployment environments, reducing deployment pressure.
  • the present application also provides a system (such as an application management platform, an application market, etc.), a computer cluster, a computer-readable storage medium, and a computer program product corresponding to the above method.
  • the present application provides an application management method.
  • the application management method is executed by an application management platform.
  • the application management platform may be a software system, and the computing device or computing device cluster executes the application management method by running the program code of the software system.
  • the application management platform may also be a hardware system for application management.
  • the process of migrating to the cloud it can be divided into development phase, release phase and deployment phase.
  • the application provider completes the development of the functions or features of the application itself, it arranges the orchestration nodes corresponding to the above functions and features. Further, the application provider can also perform commissioning after the arrangement.
  • the application development is completed; in the release phase, the application provider can submit the relevant information of the application to the application market, and the application market releases the application; in the deployment phase, the system integrator or the demander of the application can purchase in the application market Applications, and then deploy applications to different cloud environments through another application management platform.
  • the provider of the application is called the first user
  • the application management platform used by the first user is called the first application management platform
  • the demander or system integrator of the application is called the second user.
  • the application management platform that deploys the application is referred to as the second application management platform.
  • the first application management platform supports application development by the first user, and can cooperate with the application market to complete application release.
  • the second application management platform can cooperate with the application market to complete application deployment.
  • the first application management platform may present a specification creation interface to the first user, and receive first specification description information configured by the first user through the specification creation interface, and the first specification description information includes the first specification description information of the application.
  • the first application management platform may present a specification layout interface to the first user, the specification layout interface carries a plurality of layout nodes, and the first layout node among the multiple layout nodes is a standardized service node,
  • a first orchestration file of the application is generated, and the first orchestration file records that the application is under the first specification.
  • the target orchestration node on which the operation depends and the dependency relationship between the target orchestration nodes the first application management platform submits the first orchestration file and the first specification description information to the application market, so that the The application market releases the application.
  • the orchestration node provided by the first application management platform is a standardized service node
  • the orchestration file obtained based on the standardized service node orchestration can shield public cloud, private cloud, hybrid cloud or edge cloud (for example, in edge cloud).
  • edge cloud for example, in edge cloud
  • the first orchestration node is any one of the following: a standardized infrastructure as a service IaaS layer node, a standardized platform as a service PaaS layer node, and a standardized software as a service SaaS layer node.
  • the IaaS layer nodes include computing resource nodes, network resource nodes, and storage resource nodes
  • the PaaS layer nodes include one or more of application container engine nodes, databases, gateways, unified authentication management, and container mirror warehouses.
  • SaaS layer nodes are configured with one or more of storage nodes, stateless nodes, stateful nodes, network cluster service nodes, ingress nodes, namespace nodes, and role-based authentication control nodes.
  • the SaaS layer node may also include a third-party application service node, and the third-party application service node may be, for example, a service node corresponding to an application service developed by an application provider.
  • the first application management platform can realize the code reuse of some nodes by arranging standardized IaaS layer nodes, standardized PaaS layer nodes and/or standardized SaaS layer nodes, and lower the threshold of application development. Improve application development efficiency.
  • the first application management platform may create the first orchestration node through standardized information.
  • the first orchestration node is a standardized service node. By standardizing the service node, it can lay the foundation for orchestration standardization. In this way, the first user does not need to arrange for different deployment environments that need to be deployed, which reduces the first user's delivery pressure.
  • the application management platform is connected to a heterogeneous environment.
  • the heterogeneous environment includes one or more of public cloud, private cloud, hybrid cloud or edge cloud. It should be noted that the heterogeneous environment may be a combination of the above different types of environments, or a combination of environments of the same type provided by different service providers, for example, a combination of public clouds provided by different service providers.
  • the standardized information includes preconfigured first standardized information.
  • the first standardized information is specifically standardized information common to IaaS layer nodes and PaaS layer nodes, and the administrator of the first application management platform may preconfigure the first standardized information to realize standardization of IaaS layer nodes or PaaS layer nodes.
  • the first standardized information includes an operating system image, an access address of each environment in the heterogeneous environment, and a resource application interface in each environment in the heterogeneous environment.
  • the first standardized information may also include parameters that support modification when standardized IaaS layer nodes or standardized PaaS layer nodes are orchestrated.
  • the first application management platform standardizes the IaaS layer nodes or PaaS layer nodes in batches based on the general first standardized information, which improves the standardization efficiency.
  • the standardized PaaS layer nodes include standardized application container engine nodes.
  • the standardized information further includes second standardized information, and the second standardized information includes a container management platform installation package, a container installation package, and container startup parameters.
  • the container management platform installation package may be a K8S installation package, and the K8S installation package may include kubeadm, kubelet and kubectl.
  • the container installation package can be a docker installation package.
  • the container configuration parameters may include a docker startup mode, which is configured to start randomly, and start when security components such as swap/firewall/selinux are turned off.
  • the first application management platform can standardize some nodes in the PaaS, such as application container engine nodes, by combining the first standardized information and the second standardized information for this node, thus meeting different standardization requirements .
  • the standardized SaaS layer nodes include standardized third-party application service nodes.
  • the standardized information includes an interface opened by the third-party application service.
  • the first application management platform also supports the opening of the capabilities of third-party application service nodes, for example, the interface of third-party application services can be opened, thereby realizing the standardization of third-party application service nodes, based on standardized third-party Application service nodes are used for application development, which can improve development efficiency and provide utilization of third-party application services.
  • the first specification description information further includes an applicable environment of the first specification, and the applicable environment is selected from the heterogeneous environment interconnected with the application management platform.
  • the heterogeneous environment connected to the application management platform includes public cloud, private cloud, hybrid cloud and edge cloud, and the first user can select public cloud and private cloud from the heterogeneous environment as the applicable environment of the first specification.
  • the first application management platform supports the first user to configure the applicable environment of the first specification.
  • the applicable environment may be multiple environments. In this way, when deploying an application, based on an orchestration file and combined with the applicable environment, the The application is deployed to the corresponding environment, reducing the deployment pressure.
  • the first application management platform may obtain the dependency relationship between the target orchestration nodes in response to the first user's connection operation on the target orchestration node, and then according to the target orchestration node Dependency relationship among them, generate the first orchestration file of the application.
  • the first application management platform can provide a graphical specification layout interface, so that the first user can connect to the target layout node in the specification layout interface to generate layout files, which simplifies layout operations and improves layout efficiency .
  • the first application management platform may obtain the parameters of the target orchestration node in response to the user's configuration operation on the target orchestration node, and then generate the The first orchestration file for the application described above.
  • the first application management platform can provide a graphical specification layout interface, so that the first user can configure the parameters of the target layout node in the specification layout interface, and generate layout files according to the configured parameters, which simplifies layout. operation, improving the efficiency of orchestration.
  • the first user may not perform the configuration operation on the target orchestration node.
  • the first application management platform can generate the orchestration file according to the default parameters, which further simplifies the orchestration operation and improves the orchestration efficiency .
  • the first application management platform may also standardize the application to obtain the second orchestration node.
  • the second orchestration node is a standardized SaaS layer node, and the second orchestration node is used to create orchestration files of other applications.
  • the first application management platform may add the second orchestration node to the existing multiple orchestration nodes, and when the specification compilation interface is presented again, the specification compilation interface includes the second layout node, so as to facilitate the development of other applications.
  • the provider uses the second orchestration node to create orchestration files of other applications. This can improve the development efficiency of other applications.
  • the first application management platform may receive the application-open interface configured by the first user, and standardize the application according to the application-open interface, so as to obtain the second orchestration node. Further, the first application management platform can also receive the parameters that the first user configures to support modification when the second orchestration node is arranged, and the first application management platform supports modification according to the interface opened by the application and the parameters that are supported when the second orchestration node is arranged , to standardize the application, so as to obtain the second orchestration node.
  • a corresponding second orchestration node by opening the interface of the application, a corresponding second orchestration node can be obtained, based on which the second orchestration node can provide assistance for the development of other applications and improve the efficiency of application development.
  • the first application management platform may request the authorization of the first user by way of inquiry, and standardize the application after obtaining the authorization of the first user. Specifically, the first application management platform may present a recommendation page to the first user, the recommendation page indicates that it is recommended to standardize the application, and then respond to the first user triggering the application through the recommendation page standardization operation, and standardize the application to obtain the second orchestration node.
  • the application can be standardized according to the requirement of the first user.
  • open application capabilities to provide assistance for the development of other applications.
  • the first application management platform may acquire the second specification description information, and open the first layout file in the specification layout interface, and modify the first layout file according to the user , to obtain the second orchestration file.
  • the second specification description information includes the second specification of the application, and the second orchestration file records information about the orchestration nodes on which the application runs under the second specification. Then the first application management platform submits the second compilation file and the second specification description information to the application market, so as to update the application information on the application market.
  • the first user can modify the first layout file to obtain the second layout file, and submit the second specification description information and the second layout file to the application market to update the application information in the application market, which simplifies Update process.
  • the first specification description information further includes a version number of the first version of the first specification, and the first compilation file records that the application is in the first version of the first specification.
  • the first application management platform may also obtain the third specification description information, and open the first layout file in the specification layout interface, and obtain the third layout file according to the modification of the first layout file by the user,
  • the third specification description information includes the first specification and a version number of the second version of the first specification, and the third arrangement file records that the application runs under the second version of the first specification Dependent orchestration node information. Then, the first application management platform may submit the third compilation file and the third specification description information to the application market, so as to update the application information on the application market.
  • the first user can simply modify the first layout file to obtain the third layout file, and submit the third specification description information and the third layout file to the application market to update the application information in the application market, simplifying update process.
  • the present application provides an application management method.
  • the method can be performed by an application market.
  • the application market may present an application deployment interface to the second user, and then receive deployment information of a target application configured by the second user through the application deployment interface, where the target application is an application requested by the second user for deployment,
  • the deployment information includes a target deployment environment, and the target deployment environment includes one or more of a public cloud, a private cloud, a hybrid cloud, or an edge environment.
  • the application market sends the first orchestration file to the target deployment environment.
  • the first orchestration file records the orchestration nodes on which the target application runs and the dependencies between the orchestration nodes.
  • the application market can send the first orchestration file to different deployment environments according to the needs of the second user, so as to achieve batch deployment of applications to different deployment environments according to the first orchestration file, thus reducing the deployment pressure of the second user.
  • the deployment information further includes first specification description information of the target application.
  • the first specification description information includes the first specification of the target application.
  • the application market may first determine the first layout file matching the first specification from the layout files of the target application according to the first specification description information.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes. Then the application market sends the first orchestration file to the target deployment environment.
  • the second user can specify that the application to be deployed runs under the first specification, so that the application market can send the first orchestration file that matches the first specification to the target Deployment environments to meet specific needs.
  • the application market may determine the first orchestration file from the orchestration files of the target application according to the target deployment environment, and the first orchestration file records that the target application in the first specification
  • the orchestration nodes on which the running depends and the dependencies between the orchestration nodes, the applicable environment of the first specification includes the target deployment environment. Then the application market sends the first orchestration file to the target deployment environment.
  • the specification description information usually records the applicable environment of the specification.
  • the application market can determine the applicable environment according to the target deployment environment configured by the user, including the specification of the target deployment environment, for example, the first specification, and then according to The first specification defines a first layout file. In this way, there is no need for the second user to perform additional operations, which improves user experience.
  • the second user may also update the deployment information, so as to upgrade the application in the target deployment environment.
  • the application market may receive the first update of the deployment information, for example, the first update of the deployment information by the second user, the first update includes the second specification description information of the target application, and the The second specification description information includes the second specification of the target application, and then the application market can determine a second layout file matching the second specification from the layout files of the target application according to the second specification description information .
  • the second orchestration file records the orchestration nodes on which the target application runs under the second specification and the dependencies between the orchestration nodes.
  • the application market sends the second orchestration file to the target deployment environment, so as to update the target application to the second specification on the target deployment environment.
  • the application market can determine the second orchestration file from the application orchestration file based on the update of the deployment information, and send the second orchestration file to the target deployment environment, so as to upgrade the application to the first stage in the target deployment environment.
  • Two specifications In this way, flexible expansion and contraction can be realized, and agile deployment can be realized.
  • the first specification description information includes a version number of the first version of the first specification; the first compilation file records that the target application is under the first version of the first specification The orchestration nodes on which the operation depends and the dependencies between the orchestration nodes.
  • the application market may receive a second update of the deployment information, for example, a second update of the deployment information by a second user, the second update includes third specification description information of the target application, and the third The specification description information includes the first specification of the target application and a version number of a second version of the first specification. Then the application market may determine a third layout file matching the second version of the first specification from the layout files of the target application according to the third specification description information.
  • the third orchestration file records the orchestration nodes on which the target application runs under the second version of the first specification and the dependencies between the orchestration nodes.
  • the application market sends the third orchestration file to the target deployment environment, so as to update the target application to the second version of the first specification on the target deployment environment.
  • the application market can determine the third orchestration file from the application orchestration files based on the update of the deployment information, and send the third orchestration file to the target deployment environment, so as to upgrade the application to the third orchestration file in the target deployment environment.
  • Second version In this way, performance expansion can be realized to meet business needs.
  • the application market before presenting the application deployment interface to the user, can also review the application.
  • the application market may present application introduction information of the application on the application deployment interface.
  • the application market may review the application according to the first orchestration file and the first specification description information of the application submitted by the first application management platform.
  • the application market can review applications from one or more dimensions of compliance, security, quality, and development qualifications. It should be noted that the application market can obtain application introduction information and software packages to review applications.
  • reviewing from the compliance dimension refers to reviewing whether the application complies with relevant regulations or policies.
  • the application market can review the application's first compilation file, first specification description information, application description information, and whether sensitive words are included in the software package.
  • Auditing from the perspective of security refers to checking whether the software package of the application includes viruses or Trojan horses.
  • the application market can check whether the software package of the application includes viruses or Trojan horses by scanning codes, so as to determine whether the application is safe.
  • Reviewing from the quality dimension refers to reviewing the quality of the application.
  • the application market can obtain the test report of the application, so as to determine the quality of the application.
  • the application market can also test the application in real time, so as to obtain the quality of the application.
  • the application market can obtain the development qualification information of the application, for example, obtain the development qualification information of the application from the application description information, and then determine whether the developer of the application has the development qualification specified by the application market.
  • the application market selects corresponding dimensions from compliance, security, quality, and development qualification for different applications to be reviewed, so as to meet different business needs.
  • the present application provides an application management method.
  • the method can be executed by the second application management platform.
  • the second application management platform may receive the first orchestration file of the target application, and then parse the first orchestration file to obtain the orchestration nodes that the target application depends on and the dependency relationship between the orchestration nodes.
  • the target orchestration node is a standardized service node.
  • the application market sequentially deploys the orchestration nodes on which the operation of the target application depends according to the first orchestration file.
  • each environment in the target deployment environment is installed with the above-mentioned second application management platform, and each second application management platform can analyze the first orchestration file, and sequentially deploy the orchestration nodes on which the target application runs according to the analysis results, That is, each second application management platform can deploy the target application according to the first orchestration file, so as to implement batch deployment of the target application to the heterogeneous environment in a unified manner, reducing the deployment pressure of the second user.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes.
  • the second application management platform may also receive the second orchestration file of the target application.
  • the second orchestration file records the orchestration nodes on which the target application runs under the second specification and the dependencies between the orchestration nodes.
  • the second application management platform obtains node change information and/or dependency change information according to the second orchestration file.
  • the node change information is used to describe the change of the orchestration node on which the target application runs under the second specification compared with the first specification
  • the dependency change information is used to describe the orchestration node changes in dependencies.
  • the second application management platform may upgrade the target application to the second specification according to at least one of the node change information and the dependency change information.
  • the second application management platform receives the second orchestration file and parses the second orchestration file to obtain node change information and/or dependency change information, and the second application management platform can quickly deploy the newly added Nodes, or uninstall deleted nodes, and/or, modify the dependencies between nodes, so as to realize the rapid upgrade of the application from the first specification to the second specification, improve the upgrade efficiency, and only need a small amount of computing resources or Application upgrades can be realized by storing resources, which lowers the threshold for upgrades.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first version of the first specification and the dependencies between the orchestration nodes.
  • the second application management platform may receive the third orchestration file of the target application.
  • the third orchestration file records the orchestration nodes on which the target application runs under the second version of the first specification and the dependencies between the orchestration nodes. Then the second application management platform may upgrade the target application from the first version of the first specification to the second version of the first specification according to the third orchestration file.
  • the second application management platform receives the third orchestration file, and according to the third orchestration file, processes the corresponding nodes deployed in the target deployment environment, so as to quickly upgrade the application from the first version of the first specification
  • the upgrade efficiency is improved, and application upgrades can be realized with only a small amount of computing resources or storage resources, lowering the upgrade threshold.
  • the second application management platform may also initiate a connection establishment request to the application market to establish a connection with the application market.
  • the second application management platform may receive the first orchestration file of the target application through the connection.
  • the second application management platform can actively establish a connection with the application market. In this way, even if the second application management platform does not provide external access, the application market can send the corresponding arrangement file to the second application management platform through the above connection, and then Implement application upgrades and deployments.
  • the present application provides an application management platform.
  • Said platforms include:
  • An interaction module configured to present a specification creation interface to the user, and receive first specification description information configured by the user through the specification creation interface, where the first specification description information includes the first specification of the application;
  • the interaction module is further configured to present a specification layout interface to the user, the specification layout interface carries multiple layout nodes, and the first layout node among the multiple layout nodes is a standardized service node;
  • an arrangement module configured to generate a first arrangement file of the application in response to the user's operation on the target arrangement node among the plurality of arrangement nodes, and the first arrangement file records that the application is in the first
  • the interaction module is further configured to submit the first compilation file and the first specification description information to an application market, so that the application market publishes the application.
  • the first orchestration node is any of the following:
  • Standardized infrastructure-as-a-service IaaS layer nodes standardized platform-as-a-service PaaS layer nodes, and standardized software-as-a-service SaaS layer nodes.
  • the platform further includes:
  • a standardization module configured to create the first orchestration node by standardizing information.
  • the application management platform is connected to a heterogeneous environment, and the heterogeneous environment includes one or more of public cloud, private cloud, hybrid cloud or edge cloud;
  • the standardized information includes pre-configured first standardized information, and the first standardized information includes an operating system image, the The access address of each environment in the heterogeneous environment and the resource application interface of each environment in the heterogeneous environment.
  • the standardized PaaS layer nodes include standardized application container engine nodes
  • the standardized information further includes second standardized information, and the second standardized information includes a container management platform installation package, a container installation package, and container startup parameters.
  • the standardized SaaS layer nodes include standardized third-party application service nodes
  • the standardized information includes an interface opened by the third-party application service.
  • the first specification description information further includes an applicable environment of the first specification, and the applicable environment is selected from the heterogeneous environment interconnected with the application management platform.
  • the orchestration module is specifically used for:
  • the first orchestration file of the application is generated according to the dependency relationship between the target orchestration nodes.
  • the orchestration module is specifically used for:
  • the platform further includes:
  • a standardization module configured to standardize the application to obtain a second orchestration node, the second orchestration node is a standardized SaaS layer node, and the second orchestration node is used to create an orchestration file of other applications.
  • the interaction module is also used to:
  • the recommendation page indicating a recommendation to standardize the application
  • the standardization module is specifically used for:
  • the application In response to the standardization operation on the application triggered by the user through the recommendation page, the application is standardized to obtain the second orchestration node.
  • the interaction module is also used to:
  • the second orchestration file records information about the orchestration nodes on which the application runs under the second specification;
  • the first specification description information further includes a version number of the first version of the first specification, and the first compilation file records that the application is in the first version of the first specification.
  • the target orchestration node and the dependency relationship between the target orchestration nodes that run under the version depend on, and the interaction module is also used for:
  • the third orchestration file records the information of the orchestration node on which the application runs under the second version of the first specification ;
  • the embodiment of the present application provides an application market.
  • the application market includes:
  • An interactive module used to present the application deployment interface to the user
  • the interaction module is further configured to receive deployment information of a target application configured by the user through the application deployment interface, the target application is an application requested by the user for deployment, the deployment information includes a target deployment environment, the The target deployment environment includes one or more of public cloud, private cloud, hybrid cloud or edge environment;
  • the interaction module is further configured to send the first orchestration file determined by the management module to the target deployment environment, and the first orchestration file records the orchestration node on which the target application runs and the orchestration node dependencies between.
  • the deployment information further includes first specification description information of the target application, and the first specification description information includes the first specification of the target application;
  • the management module is specifically used for:
  • the management module is specifically configured to:
  • the first orchestration file is determined from the orchestration file of the target application according to the target deployment environment, and the first orchestration file records the orchestration nodes on which the target application operates under the first specification and the orchestration
  • the dependency relationship between nodes, the applicable environment of the first specification includes the target deployment environment.
  • the interaction module is also used to:
  • the first update including second specification description information of the target application, the second specification description information including a second specification of the target application;
  • the management module is also used for:
  • the interactive module is also used for:
  • the first specification description information includes a version number of the first version of the first specification;
  • the first compilation file records that the target application is under the first version of the first specification The orchestration nodes on which the operation depends and the dependencies between the orchestration nodes;
  • the interaction module is also used to further include:
  • the second update including third specification description information of the target application, the third specification description information including the first specification and the first specification description information of the target application the version number of the second edition of a specification;
  • the management module is also used for:
  • the third composition file records that the target application is in the The orchestration nodes on which the operation of the second version of the first specification depends and the dependencies between the orchestration nodes;
  • the interactive module is also used for:
  • the application market further includes:
  • An audit module configured to audit the application before presenting the application deployment interface to the user
  • the interactive module is also used for:
  • the application introduction information of the application is presented on the application deployment interface.
  • the present application provides an application management platform.
  • Said platforms include:
  • An interactive module configured to receive the first orchestration file of the target application
  • An orchestration engine configured to parse the first orchestration file, obtain the orchestration nodes that the target application depends on and the dependencies between the orchestration nodes, and the target orchestration nodes are standardized service nodes;
  • the deployment module is configured to sequentially deploy the orchestration nodes on which the operation of the target application depends according to the first orchestration file.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes;
  • the interactive module is also used for:
  • the orchestration engine is also used to:
  • the node change information is used to describe that the target application under the second specification is compared with that under the first specification A change in the orchestration node on which the operation depends, and the dependency change information is used to describe a change in the dependency relationship between the orchestration nodes;
  • the platform also includes:
  • An upgrade module configured to upgrade the target application to the second specification according to at least one of the node change information and the dependency change information.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first version of the first specification and the dependencies between the orchestration nodes;
  • the interactive module is also used for:
  • the platform also includes:
  • An upgrade module configured to upgrade the target application from the first version of the first specification to the second version of the first specification according to the third orchestration file.
  • the platform further includes:
  • a connection module configured to initiate a connection establishment request to the application market, and establish a connection with the application market
  • the interactive module is specifically used for:
  • a first orchestration file of the target application is received through the connection.
  • the present application provides a computing device cluster, where the computing device cluster includes at least one computing device.
  • At least one computing device includes at least one processor and at least one memory.
  • the processor and the memory communicate with each other.
  • the at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or computing device cluster executes the method described in any implementation manner of the first aspect, the second aspect, or the third aspect.
  • the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and the instructions instruct a computing device or a cluster of computing devices to execute the first aspect, the second aspect or the third aspect above The method described in any one of the implementations.
  • the present application provides a computer program product containing instructions, which, when run on a computing device or a computing device cluster, cause the computing device or computing device cluster to execute the first aspect, the second aspect or the third aspect above The method described in any one of the implementations.
  • FIG. 1 is a system architecture diagram of an application management method provided in an embodiment of the present application
  • FIG. 2 is a schematic diagram of an application creation interface provided by an embodiment of the present application
  • FIG. 3 is a schematic diagram of a specification creation interface provided by the embodiment of the present application.
  • Fig. 4 is a schematic diagram of a specification compilation interface provided by the embodiment of the present application.
  • FIG. 5A is a schematic diagram of a service node standardization principle provided by an embodiment of the present application.
  • FIG. 5B is a schematic diagram of the principle of computing resource node standardization provided by the embodiment of the present application.
  • FIG. 5C is a schematic diagram of a third-party application service node standardization principle provided by the embodiment of the present application.
  • FIG. 6 is a schematic diagram of an application deployment interface provided by an embodiment of the present application.
  • FIG. 7 is a flow chart of an application management method provided in an embodiment of the present application.
  • FIG. 8 is a schematic flow diagram of an application deployment and upgrade provided in an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • FIG. 10 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • first and second in the embodiments of the present application are used for description purposes only, and cannot be interpreted as indicating or implying relative importance or implicitly indicating the quantity of indicated technical features. Thus, a feature defined as “first” and “second” may explicitly or implicitly include one or more of these features.
  • An application also referred to as application software, is specifically a collection of software programs including specific functions. According to different application purposes, applications can be divided into different types of applications such as office, game, leisure and entertainment, industrial control, and financial management.
  • office-type applications may include applications such as text processors, spreadsheet processors, and image editors.
  • applications of the industrial control type may include applications such as production management systems and material management systems.
  • Applying to the cloud refers to deploying the application to the cloud environment.
  • the cloud environment indicates a computing device cluster owned by a cloud service provider for providing computing, storage, and network resources.
  • Cloud service providers can provide different types of cloud environments such as public cloud, private cloud or hybrid cloud.
  • a public cloud refers to a computing device cluster in which resources are shared and used by different tenants (such as enterprises, organizations or individuals). Computing, storage, and network resources in the public cloud are owned and operated by third-party cloud service providers, and these resources are provided to tenants through the Internet.
  • a private cloud refers to a cluster of computing devices whose resources are exclusively used by an enterprise, organization or individual.
  • a hybrid cloud refers to a cluster of computing devices mixed with different environments.
  • a hybrid cloud can be a cluster of computing devices that combines a private cloud or on-premises infrastructure on top of a public cloud.
  • the local infrastructure refers to end-side devices, including Internet of Things (Internet of Things, IoT) devices such as smart home appliances, or terminals such as smartphones and tablets.
  • IoT Internet of Things
  • the above-mentioned public cloud and private cloud belong to the central cloud in essence, and the management and control of resources by the central cloud is centralized resource management and control.
  • the centralized cloud environment is usually difficult to meet the cloud resource requirements of "large connection, low latency, and large bandwidth" of end-side devices. Therefore, the cloud environment can be extended to a location closer to the end-side devices.
  • the edge side so as to realize the sinking of some cloud services to the edge side.
  • Devices on the edge side form an edge cloud.
  • the edge cloud includes at least one edge node, and the edge node may be, for example, an intelligent site.
  • the edge cloud and the central cloud cooperate with each other to achieve center-edge collaboration, network-wide computing power scheduling, and network-wide unified management and control.
  • system integrators can deploy applications to different cloud environments, considering that different customers may have different requirements. For example, for SME customers, system integrators can deploy applications to public clouds; for large enterprise customers, system integrators can deploy applications to private clouds, public clouds, and smart sites (fusion compute, FC).
  • an embodiment of the present application provides an application management method.
  • the application management method can be executed by an application management system or an application market.
  • the application management system is also called the application management platform.
  • the application management platform may be a software system, and the computing device or computing device cluster executes the application management method by running the program code of the software system.
  • the application management platform may also be a hardware system for application management.
  • the application market can also be a software system or a hardware system.
  • the embodiment of this application uses the application management platform and the application market as software systems for illustration.
  • the process of migrating to the cloud it can be divided into development phase, release phase and deployment phase.
  • the application provider completes the development of the functions or features of the application itself, it arranges the orchestration nodes corresponding to the above functions and features. Further, the application provider can also perform commissioning after the arrangement.
  • the application development is completed; in the release phase, the application provider can submit the relevant information of the application to the application market, and the application market releases the application; in the deployment phase, the system integrator or the demander of the application can purchase in the application market applications, and then deploy the applications to different cloud environments.
  • the application management method in the development phase can be executed by the first application management platform 100
  • the application management method in the release phase can be executed by the first application management platform 100 and the application market 300 market.
  • the application management method in the deployment phase can be executed by the application market 300 and the second application management platform 200 .
  • the first application management platform 100 can be deployed in a cloud environment, and is used to provide management functions such as application development for the first user.
  • the first application management platform 100 can also be deployed in other environments, such as deployed in a terminal, and the first application management platform 100 can be connected to a cloud environment.
  • the first application management platform 100 is deployed in a cloud environment for illustration.
  • the first user may be a provider of the application, for example, an independent software vendor (ISV).
  • ISV independent software vendor
  • the first user creates an application specification (specification, spec) through the first application management platform 100, obtains the application specification description information, and arranges the application specification based on the orchestration node provided by the first application management platform 100 , to obtain the layout file of the application, thereby implementing application development.
  • the specification description information of the application may include the specification of the application, and the specification of the application may include a specification name and a specification description, and the specification may include application capacity, resource requirements, and the like.
  • An application may have multiple specifications.
  • the embodiment of the present application refers to the specification currently created by the first user as the first specification.
  • each specification may include one or more versions.
  • Each version (for example, the first version and the second version) of a specification may respectively correspond to an arrangement file.
  • the video conferencing application includes two specifications, the first specification and the second specification.
  • the first specification can support 100 people to access the conference at the same time.
  • the first specification can include two versions.
  • the features of the first version include functions such as “screen sharing” and “electronic whiteboard”.
  • the second version adds functions such as "real-time subtitles” and "automatic meeting minutes” on the basis of the first version.
  • the second specification can support 500 people to access the conference at the same time.
  • the second specification includes a version (for example, the first version), and the features of the first version include functions such as "screen sharing” and "electronic whiteboard".
  • the video conferencing application may have three layout files corresponding to the first version of the first specification, the second version of the first specification, and the first version of the second specification respectively.
  • the orchestration node provided by the first application management platform 100 is a standardized service node, and the orchestration file obtained based on the standardized service node can shield public cloud, private cloud, hybrid cloud or Differences in heterogeneous environments (different deployment environments applicable to applications) such as edge clouds (for example, smart sites in edge clouds), so that the first user only needs to arrange once for different deployment environments applicable to applications. Therefore, The delivery pressure of the first user is reduced.
  • the environments for which the first version of the first specification of the video conferencing application is applicable include public cloud, private cloud, hybrid cloud, and edge cloud
  • the first version orchestrates once instead of orchestrating each of the four environments.
  • the first application management platform 100 may submit the specification description information (for example, the first specification description information) and the layout file (for example, the first layout file) of the application to the application market 300, so that the application market 300 publishes the application. above application.
  • the specification description information for example, the first specification description information
  • the layout file for example, the first layout file
  • the application market 300 receives the first specification description information and the first layout file of the application, and may release the application to facilitate the second user to purchase the application on the application market 300 and trigger the operation of deploying the application.
  • the second user includes a system integrator SI or an application demander (such as a customer).
  • the application market 300 may review applications from any one or more of dimensions such as compliance, security, quality, and development qualification.
  • the application market 300 may publish the application after the review is passed.
  • the application market 300 may also return an review opinion, so that the first user can modify relevant information of the application according to the review opinion.
  • the second user can select a target application from the applications released by the application market 300, and the target application is the application requested by the second user for deployment, and then configure the deployment information of the target application through the application deployment interface, and the deployment information includes the target application.
  • the application market 300 may send the first orchestration file to the target deployment environment according to the above operations of the user, and the first orchestration file records the orchestration nodes on which the target application runs and the dependencies between the orchestration nodes.
  • the second application management platform 200 installed in the target deployment environment can receive the first orchestration file of the target application, parse the first orchestration file, and obtain the orchestration node and the relationship between the orchestration nodes that the target application depends on running under the first specification. Then, according to the first orchestration file, the second application management platform 200 sequentially deploys the orchestration nodes on which the target application runs under the first specification, so as to deploy the application in the target deployment environment.
  • the first orchestration file is obtained by orchestrating standardized service nodes, and the first orchestration file can shield the differences in heterogeneous environments such as public cloud, private cloud, hybrid cloud, or edge cloud.
  • the second user The application can be deployed to different environments through one deployment operation, realizing the batch deployment of the application and reducing the deployment pressure of the second user.
  • the first application management platform 100 , the application market 300 and the second application management platform 200 will be introduced respectively below with reference to FIG. 1 .
  • the first application management platform 100 may include an orchestration management subsystem 102 .
  • the arrangement management subsystem 102 includes an interaction module 1022 and an arrangement module 1024 .
  • the interaction module 1022 is configured to present a specification creation interface to the user, and receive first specification description information configured by the first user through the specification creation interface.
  • the first specification description information includes the first specification of the application.
  • the interaction module 1022 is also used to present a specification layout interface to the user.
  • the specification layout interface carries multiple layout nodes, and the first layout node among the multiple layout nodes is a standardized service node, wherein the first layout node can be Any orchestration node among the plurality of orchestration nodes.
  • the layout module 1024 is configured to generate a first layout file of the application in response to the first user's operation of selecting a target layout node from the multiple layout nodes.
  • the first orchestration file of the application records the target orchestration node on which the application runs under the first specification and the dependency relationship between the target orchestration nodes.
  • the interaction module 1022 is further configured to submit the first compilation file and the first specification description information to the application market 300, so that the application market 300 publishes the application.
  • the interaction module 1022 may also present the application creation interface.
  • the application creation interface 20 carries an application configuration component, and the application configuration component includes at least one application configuration control, and the first user can configure application introduction information through at least one application configuration control to create corresponding application.
  • the application configuration control includes at least one of a name configuration control 21, an icon configuration control 22, an industry configuration control 23, and a scene configuration control 24.
  • the first user can configure the application name through the name configuration control
  • the control 22 configures the application logo, configures the industry to which the application belongs through the industry configuration control 23 , and configures the scene to which the application belongs through the scene configuration control 24 .
  • the application configuration control may also include other information configuration controls 25 .
  • the first user may configure application introduction information other than the above information through the other information configuration control 25, such as features or functions supported by the application, developer information of the application, and the like.
  • the application creation interface 20 may further include a confirm control 26 and a cancel control 27. When the confirm control 26 is triggered, the operation of creating the application can be triggered, and when the cancel control 27 is triggered, the operation of creating the application can be cancelled.
  • the interaction module 1022 may present the application created by the first user.
  • the first user may trigger to enter the application details interface to create a first specification of the application.
  • the application details interface displays a specification list of the application, and the specification list may be in the form of a list, and the specification list may include specifications created by the first user.
  • the application details interface may also carry a specification creation control, and the first user may trigger an application specification creation operation through the specification creation control.
  • the interaction module 1022 may present a specification creation interface to the first user in response to the specification creation operation triggered by the first user.
  • the specification creation interface 30 carries a specification configuration component, and the specification configuration component includes at least one specification configuration control, and the first user can configure the specification description information through at least one specification configuration control. Create a corresponding specification.
  • the first user may configure the first specification description information to create the first specification of the application.
  • the first specification description information includes a first specification, where the first specification includes a specification name and a specification description.
  • the first specification description information may also include one or more of the applicable environment of the first specification, the early deployment capability, and the version number of the first version of the first specification. Wherein, the applicable environment is selected from heterogeneous environments.
  • a heterogeneous environment may include one or more of public cloud, private cloud, hybrid cloud, or edge cloud.
  • the heterogeneous environment may include public clouds of different cloud service providers, and for another example, the heterogeneous environment may include public clouds and private clouds provided by the same cloud service provider.
  • the specification configuration controls include a name configuration control 31 , an applicable environment configuration control 32 and a specification configuration control 33 .
  • the first user can configure the specification name of the first specification of the application through the name configuration control 31, for example, the specification name can be food delivery robot management-standard specification, and then the first user can configure the application of the first specification through the application environment configuration control 32
  • the deployment environment for example, can be one or more of public cloud, private cloud, hybrid cloud or edge cloud, and configure the specification of the first specification of the application through the specification configuration control 33
  • the specification can be, for example: Support 100,000 food delivery robot devices to access and be online at the same time; the maximum data volume of data reported by a single robot device: 100 transactions per second (TPS); the maximum data volume of each piece of data is 2 megabytes (megabyte, MB); the maximum number of instructions issued by the application at the same time: 50TPS; the maximum data volume of each instruction: 2 kilobytes (kilobyte, KB).
  • the specification creation interface 30 may also include a deployment configuration control 34 .
  • the deployment configuration control 34 is used to configure the early deployment capability, for example, to support the first user to choose whether to deploy in advance. Pre-deployment refers to deploying the application on supporting resources in advance, and distributing the runnable instance to the second user.
  • the specification creation interface 30 may further include a version number configuration control 35 through which the first user may configure the version number of the first version of the first specification.
  • the specification creation interface 30 may also include a confirm control 36 and a cancel control 37. When the confirm control 36 is triggered, the first specification of the application can be created, and when the cancel control 37 is triggered, the creation of the first specification of the application can be cancelled.
  • the specification creation interface 30 is displayed on the application details interface in a pop-up window.
  • the specification creation interface 30 may also be an independently displayed interface. The embodiment of the present application does not limit this.
  • the interaction module 1022 may present a specification compilation interface.
  • the specification layout interface 40 includes a layout node display area 41, an layout area 42, and a parameter configuration area 43. area. It should be noted that the layout interface 40 can first present the layout node display area 41 and the layout area 42, when the user selects the layout node from the multiple layout nodes displayed in the layout node display area 41 to the layout area 42 (for example, by dragging, etc.
  • the arrangement node display area 41 includes a plurality of arrangement nodes, and each arrangement node in the plurality of arrangement nodes is a standardized service node.
  • standardized service nodes include standardized infrastructure as a service (Infrastructure as a Service, IaaS) layer nodes, standardized PaaS (platform as a service, IaaS) layer nodes and standardized software as a service (software as a service, SaaS) layer node.
  • IaaS layer nodes include computing resource nodes, network resource nodes and storage resource nodes.
  • computing resource nodes include one or more of Elastic Compute Service (Elastic Compute Service, ECS) and virtual machine (virtual machine, VM);
  • network resource nodes include virtual private cloud (virtual private cloud, VPC), subnet One or more of (subnet), Network Address Translation (NAT), elastic load balance (elastic load balance, ELB) and elastic public IP (Elastic IP, EIP);
  • storage resource nodes include elastic blocks Storage service (elastic volume service, EVS) and object storage service (object storage service, OBS).
  • ECS is a cloud server with elastically scalable processing capacity, which can automatically adjust processing capacity to meet business needs.
  • VM is a virtual environment created on a physical hardware system and acting as a virtual computer system. It simulates its own set of Hardware, including processors, memory, network interfaces, and storage.
  • VPC is used to simulate the characteristics of a local LAN on the public cloud, so that after the local service goes to the cloud, a network environment similar to that of the local LAN can be set up, and the local service does not even need to modify its own private network address.
  • Subnets are used to partition the VPC, so that a network can be divided into several small networks (subnets).
  • EIP provides independent public network IP resources, thereby providing the ability to access and be accessed by the public network.
  • NAT refers to rewriting the source IP address or destination IP address when an IP packet passes through a router or firewall.
  • NAT is widely used in a private network (such as a virtual private cloud) where multiple hosts access the Internet through a public network IP.
  • ELB is a traffic distribution control service that distributes access traffic to multiple back-end servers according to the distribution policy. Through traffic distribution, the external service capability of the application can be expanded, single point of failure can be eliminated, and the availability of the application can be improved.
  • PaaS layer nodes include application container engine nodes, databases, container clusters (clusters), Nginx load balancing, gateways, unified authentication management (Identity and Access Management, IAM), and container image warehouses (SoftWare Repository for Containers, SWR). one or more species.
  • the application container engine node is also called a cloud container engine (cloud container engine, CCE) node, and the CCE node provides a highly scalable and high-performance kubernetes (referred to as K8S) cluster.
  • CCE nodes can be used to deploy, manage and scale containerized applications in cloud environments.
  • the database can be, for example, a relational database service (RDS), which is an online cloud database service that is elastically scalable and conveniently managed, and supports multiple engines such as MySQL, PostgreSQL, and SQL Server.
  • RDS relational database service
  • the container cluster cluster refers to the combination of cloud resources required for container operation, and is associated with several cloud server nodes and cloud resources such as load balancing.
  • Nginx load balancing refers to load balancing based on Nginx.
  • Nginx is a high-performance web server based on C language. It implements load balancing through load balancing algorithms such as polling and IP hashing.
  • the gateway can be an application programming interface gateway (APIGW).
  • APIGW provides high-performance, high-availability, and high-security API hosting services, which can be used for internal system integration and business capability exposure.
  • IAM provides identity authentication and rights management functions, which can be used to control the access rights of services and resources.
  • SWR is a service that supports the full lifecycle management of container images. It provides easy-to-use, safe and reliable image management functions to help users quickly deploy containerized services.
  • SaaS layer nodes include configuration storage (configMap) nodes, deployment nodes, stateful statefulset nodes, network cluster service nodes, ingress nodes, namespace nodes, and role-based authentication control (Role-Based Access Control, RBAC) nodes one or more of.
  • the configMap node is used to store parameters that support modification when other SaaS layer nodes are orchestrated, and can usually be expressed in the form of a key-value pair (key-value), and other SaaS nodes can refer to the data stored in the configMap node for parameter configuration.
  • the deployment node is a node designed for stateless service expansion or reduction.
  • the deployment node includes one or more pod copies. Each pod copy has the same function.
  • the deployment node can increase or delete pod copies according to business needs to achieve Expand or shrink capacity to improve the reliability and stability of stateless services.
  • the statefulset node is a node designed for stateful service expansion or contraction.
  • the statefulset node includes multiple pod copies, and each pod copy has an independent state, which is stored by an independent storage unit.
  • the network cluster service node can be an interface routing service node, which can be used to open some services of third-party applications, such as stateful services or stateless services, to external access.
  • the ingress node is a network load service node, which is used to provide load access capabilities.
  • the ingress node can be configured to provide a uniform locator (Uniform Resource Locator, URL) for externally accessible services.
  • URL Uniform Resource Locator
  • Namespace nodes are used to provide logical isolation between applications and applications or application services.
  • RBAC is used to set some permission control policies, and through the control of roles and permissions, it provides access capabilities with different permissions to meet permission control requirements.
  • SaaS layer nodes may also include input (input) nodes and output (output) nodes.
  • the input node is used to solve some custom parameters required by the application deployment.
  • the custom parameters can be in key-value format, and the first user can fill in the default parameters when arranging.
  • the second application management platform can display these custom parameters, and the second user (such as a customer or SI) can adjust the custom parameters according to the actual deployment environment. Parameters, if the default custom parameters are set reasonably, you do not need to modify the above custom parameters.
  • the output node is used to solve the parameters that need to be output after some nodes are deployed during the application deployment process.
  • the last node of the arrangement file is the output node, and the output node depends on the previous node, so the deployment of the previous node of the output node The result will be output to the output node.
  • the service node may also include other layer nodes, for example, a function as a service (function as a service, FaaS) layer node.
  • FaaS layer nodes may include script execution (ScriptExecuter) nodes and file upload (fileUpload) nodes.
  • script execution node is used for executing the script of the application
  • file upload node is used for uploading files, for example, editing files.
  • the first user may select (for example, by dragging) a plurality of arrangement nodes from the arrangement node display area 41 to the arrangement area 42 .
  • the layout node dragged to the layout area 42 is called the target layout node.
  • the first user can configure the parameters of the target orchestration node in the orchestration area 42 through the parameter configuration area 43 on the right, thereby realizing the instantiation of the target orchestration node.
  • the parameters that support modification when different orchestration nodes are orchestrated may be different. Based on this, when the first user triggers parameter configuration operations on different target orchestration nodes, the parameters displayed in the right parameter configuration area 43 may be different.
  • the parameters presented in the parameter configuration area 43 include one of the parameters such as node name, ECS name, CPU architecture, specification type, image source, system disk type, system disk size, data disk type, and data disk size. one or more species.
  • the node name specifically refers to the instantiation name of the target orchestration node.
  • the node name is configured as iotda-worker-0003
  • the ECS name specifically refers to the name of the ECS installed and deployed.
  • the ECS name can be the same as the node name.
  • the CPU architecture supports mainstream architectures, for example, it can be configured as an x86 architecture or an Advanced RISC Machine (Advanced RISC Machine, ARM) architecture.
  • the x86 architecture can also be divided into a 32-bit (x86-32) architecture and a 64-bit (x86-32) architecture.
  • the specification type can be configured as a general type or some specific specification types.
  • the image source can be configured as a public standardized image, a non-public standardized image, a public non-standardized image, or a non-public non-standardized image.
  • the standardized image is a common operating system image.
  • system disks including, for example, a hard disk drive (hard disk drive) or a solid state drive (solid state drive, SSD).
  • the first user may configure the type of the system disk as SSD, and the size of the system disk may be set according to business requirements. For example, the first user may configure the size of the system disk as 1 terabyte (TB). Similarly, the first user can set the data disk type and data disk size according to business requirements.
  • the first user may configure the type of the system disk as SSD, and the size of the system disk may be set according to business requirements.
  • the first user may configure the size of the system disk as 1 terabyte (TB).
  • TB terabyte
  • the first user can set the data disk type and data disk size according to business requirements.
  • the first user can also connect the instantiated target orchestration nodes through arrows, wherein the direction of the arrow can point to the dependent target orchestration nodes, so that the dependency relationship between the target orchestration nodes can be represented.
  • the orchestration module 1024 may respond to the connection operation of the target orchestration node by the first user, obtain the dependency relationship between the target orchestration nodes (specifically, instantiated target orchestration nodes), and generate The first orchestration file for the application.
  • the first orchestration file of the application records the target orchestration nodes on which the application runs under the first specification and the dependencies between the target orchestration nodes.
  • the specification compilation interface 40 may further include a save control 44 .
  • the save operation can be triggered through the save control 44 in the specification arrangement interface 40 to save the arrangement file in a set format.
  • the set format may include one or more formats, for example, the set format may include formats specified by different cloud service providers.
  • the first user can also trigger the publishing control 45 of the specification layout interface 40, and the interaction module 1022 of the layout management subsystem 102 can submit the first layout file of the application and the first specification in response to the operation of the first user.
  • the description information enables the application market 300 to publish applications.
  • the orchestration of the first application specification by the first application management platform 100 depends on the standardization of service nodes.
  • the first application management platform 100 may further include a node management subsystem 104 .
  • Node management subsystem 104 is used to standardize service nodes.
  • the node management subsystem 104 includes an interaction module 1042 and a standardization module 1044 .
  • the interaction module 1042 obtains standardized information
  • the standardization module 1044 is used to create a standardized service node according to the standardized information.
  • the standardization module 1044 can create a node adaptation layer, and store standardized information in the node adaptation layer to adapt to different deployment environments.
  • the standardization module 1044 can shield differences in different environments (such as public cloud, private cloud, hybrid cloud, and edge cloud) according to the standardized information in the node adaptation layer, and create standardized service nodes.
  • the same type of cloud environments provided by different cloud service providers may also have differences.
  • public clouds provided by different cloud service providers may also be heterogeneous environments, and the standardization module 1044 may shield different cloud services according to standardized information.
  • the cloud environment provided by the provider is different.
  • the IaaS layer node or the PaaS layer node can be created according to general standardized information.
  • this embodiment of the present application refers to general standardized information as first standardized information.
  • the first standardized information may be pre-configured by an administrator.
  • the administrator may be an administrator of the first application management platform 100 .
  • the first standardized information includes the operating system image, the access address of each environment in the heterogeneous environment, and the resource application interface in each environment in the heterogeneous environment.
  • the first standardized information may also include parameters that support modification when the nodes are programmed.
  • the first standardized information may also not include parameters that support modification when the node is orchestrated.
  • the following illustrates the standardization process of some IaaS layer nodes and PaaS layer nodes.
  • the standardization of computing resource nodes is taken as an example for illustration.
  • the node adaptation layer of the computing resource nodes is also called the ECS adaptation layer
  • the standardization process of computing resource nodes can be: for public clouds (for example, including different cloud service provider Provider's public cloud) ECS, smart site VM, hybrid cloud ECS, and private cloud ECS, install the required software or services on the ECS or VM, and then create an operating system image based on a unified operating system (also called VM image).
  • the administrator can configure the operating system image, the access address of each environment in the heterogeneous environment, the resource application interface in each environment in the heterogeneous environment, and the parameters that support modification when the nodes are orchestrated.
  • the node management subsystem 104 can create an ECS adaptation layer, and integrate the above-mentioned operating system image, the access address of each environment in the heterogeneous environment, the resource application interface in each environment in the heterogeneous environment, and the information that supports modification when the node is arranged Parameters are saved in the ECS adaptation layer to create a standardized ECS.
  • the standardization of CCE nodes is taken as an example for illustration.
  • the node management subsystem 104 may also perform normalization in combination with the second normalization information.
  • the second standardized information includes container management platform installation packages, container installation packages, and container startup parameters.
  • the container management platform installation package may be a K8S installation package
  • the K8S installation package may include kubeadm, kubelet and kubectl.
  • the container installation package can be a docker installation package.
  • the container configuration parameters may include a docker startup mode, which is configured to start randomly, and start when security components such as swap/firewall/selinux are turned off.
  • the standardization process of the CCE node may be: the administrator configures the second standardized information.
  • the node management subsystem 104 creates a CCE adaptation layer (that is, a node adaptation layer of a CCE node), and stores the second standardized information in the CCE adaptation layer, so as to create a standardized CCE nodes.
  • the container management platform installation package and the container installation package in the second standardized information may also be preset in the operating system image.
  • the standardization of the container mirror warehouse SWR is used as an example to introduce.
  • Different cloud service providers provide different container image storage mechanisms, and there are certain differences in the access interfaces of container images.
  • the SWR adaptation layer in the node adaptation layer can provide image warehouse software packages adapted to each cloud service provider. to achieve standardization.
  • the standardized process of SWR can be as follows: the administrator can configure mirror warehouse software packages adapted to different cloud service providers, and the node management subsystem 104 creates an SWR adaptation layer, and saves the mirror warehouse software packages adapted to each cloud service provider in SWR adaptation layer, thus creating a standardized SWR.
  • the mirror warehouse software package adapted to smart sites and hybrid clouds can also be pre-installed in the operating system mirror.
  • the mirror warehouse software package is configured to start automatically after installation, and it starts when security components such as swap/firewall/selinux are turned off, and automatically obtains the IP of the network card when starting.
  • SaaS layer nodes can be divided into native cloud service nodes and third-party application service nodes.
  • the standardization process of native cloud service nodes can refer to IaaS layer nodes and PaaS layer nodes, and will not be repeated here.
  • the node adaptation layer of the third-party application service node may be an interface routing service node, such as APIGW.
  • the standardization process of the third-party application service node can be: the developer of the third-party application service (for example, the provider of the third-party application) configures the open interface of the third-party application service.
  • the developer of the third-party application service also It is possible to configure parameters that support modification when standardized third-party application service nodes are orchestrated, and the node management subsystem 104 can create an APIGW to register open interfaces for third-party application services and parameters that support modification when standardized third-party application service nodes are orchestrated
  • the APIGW a standardized third-party application service node can be created based on the open interface of the third-party application service and parameters that support modification when the standardized third-party application service node is orchestrated.
  • the developer of the third-party application service can also configure the functions of the above interfaces, so that the above nodes can display the functions of the interfaces after they go online.
  • the developer of the third-party application service may submit the above-mentioned interfaces and parameters to the administrator for review after configuring the above-mentioned interfaces and parameters.
  • the node management subsystem 104 may release standardized third-party application service nodes. Specifically, a standardized third-party application service node may appear in the arrangement node display area 41 as an arrangement node, so as to be used by the first user when performing specification arrangement.
  • the application market 300 includes an interaction module 302 and a management module 304 .
  • the interaction module 302 is configured to present an application deployment interface to the second user, and receive deployment information of the target application configured by the second user through the application deployment interface.
  • the target application is an application requested to be deployed by the second user, and the deployment information includes the target deployment environment.
  • the management module 304 is used to determine the first layout file, which is the layout file of the target application.
  • the interaction module 302 is also configured to send the first orchestration file to the target deployment environment.
  • the application deployment interface 600 includes a type control 601 and a recommended application list 602.
  • the recommended application list 602 includes several applications released by the application market 300. These applications may be high download volume or Highly rated apps.
  • the application deployment interface 600 displays the application name, application logo or other introduction information of the above-mentioned application.
  • the second user can browse the above-mentioned application introduction information, and when it is determined that the recommended application list 602 includes the target application to be deployed, the deployment operation can be triggered by clicking the deployment control 603, and the application deployment interface 600 can respond to the above-mentioned operation of the second user, and display
  • the deployment environment configuration control 604 for example, displays the deployment environment configuration control 604 through a pop-up window.
  • the second user configures the target deployment environment of the target application through the deployment environment configuration control 604.
  • the target deployment environment may be, for example, a hybrid cloud and a smart site.
  • the management module 304 can determine the first layout file from the layout files of the target application, and the interaction module 302 can send the corresponding first layout file to the target deployment environment such as the hybrid cloud and the smart site, so that the target deployment environment according to the above first layout The file deploys the target application.
  • Application deployment interface 600 may also include a search control 605 .
  • the application deployment interface 600 may display search results according to the second user's search operation, and then the second user may trigger an operation of deploying the target application from the search results.
  • the application market 300 may also include an audit module 306 .
  • the applications published by the application market 300 may be applications approved by the review module 306 .
  • the review module 306 is configured to review the application according to the first arrangement file and the first specification description information of the application submitted by the first application management platform 100 .
  • the review module 306 may review the application from one or more dimensions of compliance, safety, quality, and development qualification. After passing the review, the application is released on the application market 300 .
  • the second application management platform 200 can be installed in the target deployment environment.
  • the second application management platform 200 includes an interaction module 202 , an orchestration engine 204 and a deployment module 206 .
  • the interaction module 202 is used to receive the first layout file of the target application
  • the layout engine 204 is used to parse the first layout file, and obtain the multiple layout nodes that the target application depends on when running under the first specification and the dependencies among multiple layout nodes , where each of the multiple orchestration nodes may be a standardized service node.
  • the deployment module 206 is configured to sequentially deploy the orchestration nodes on the target deployment environment according to the first orchestration file, specifically the orchestration nodes that the target application depends on and the dependencies between the orchestration nodes recorded in the first orchestration file, to deploy the target application.
  • the second application management platform 200 may further include an upgrade module 208 .
  • the upgrade module 208 is used to upgrade the target application.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes.
  • the interaction module 202 is further configured to receive the second orchestration file of the target application, the second orchestration file records the orchestration nodes on which the target application runs under the second specification and the dependencies between the orchestration nodes relationship, the orchestration engine 204 is further configured to parse the second orchestration file to obtain node change information and/or the dependency change information, the node change information is used to describe the target application under the second specification compared to the Changes in the orchestration nodes on which operations under the first specification depend, the dependency change information is used to describe changes in the dependencies between the orchestration nodes, and the upgrade module 206 is used to change the information based on the node changes and the The target application is upgraded to the second specification depending on at least one of the change information.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first version of the first specification and the dependencies between the orchestration nodes; in this case, the interaction module 202 also uses To receive the third orchestration file of the target application, the third orchestration file records the orchestration nodes on which the target application runs under the second version of the first specification and the dependencies between the orchestration nodes; the upgrade module 208 is used to The target application is upgraded to the second version of the first specification according to the third orchestration file.
  • the structures of the first application management platform 100, the second application management platform 200 and the application market 300 have been described in detail above, and the application management method of the embodiment of the present application will be introduced from the perspective of interaction below.
  • the method includes:
  • the first application management platform 100 receives the standardized information configured by the administrator.
  • the first application management platform 100 creates a standardized service node according to the standardized information.
  • the first application management platform 100 can standardize IaaS layer nodes, PaaS layer nodes, and SaaS layer nodes to obtain standardized service nodes.
  • the standardized service nodes include standardized IaaS layer nodes, standardized PaaS layer nodes, and standardized SaaS layer nodes.
  • the first application management platform 100 can lay a foundation for orchestration standardization by receiving standardized information configured by an administrator of the first application management platform 100, and using the standardized information to standardize corresponding nodes in a heterogeneous environment such as a heterogeneous cloud, Thus, the first user can obtain the orchestration file for deploying the application to the heterogeneous environment through one orchestration.
  • the first application management platform 100 can also receive the third-party application service open interface configured by the developer of the third-party application service and the standardized parameter that the third application service node supports modification when it is programmed, and according to Standardized information such as the above interfaces and parameters create standardized third-party application service nodes.
  • the first application management platform 100 presents an application creation interface to the first user, and receives application introduction information configured by the first user through the application creation interface.
  • the first application management platform 100 After the first application management platform 100 generates the orchestration node, it can support the first user to arrange the first specification of the application according to the orchestration node, thereby realizing efficient and low-threshold application development.
  • the first application management platform 100 presents an application creation interface to the first user, so as to support the first user to create an application.
  • the first user can configure controls through various applications carried on the application creation interface 20, such as a name configuration control 21, an icon configuration control 22, an industry configuration control 23, and a scene configuration control. 24.
  • Configure application introduction information such as the application name, application logo, application industry, and application scenario.
  • the first user can also configure other application introduction information other than the above information through the other information configuration control 25.
  • it can include application Supported features or functions, application developer information, etc. This enables the creation of applications.
  • the first application management platform 100 presents the created application to the first user, and presents an application detail interface to the first user in response to the first user's operation of viewing the application details.
  • the first application management platform 100 may present the created application to the first user.
  • the applications may include one or more applications created by the first user.
  • the user may trigger the operation of viewing the details of the application, and present the application details interface of the application to the first user.
  • the application management method of the embodiment of the present application may not execute the above S708.
  • the first application management platform 100 may directly execute S710 after creating the application to enter the specification creation interface and create the first specification of the application.
  • the first application management platform 100 In response to a specification creation operation triggered by the first user through the application details interface, the first application management platform 100 presents the specification creation interface to the first user, and receives first specification description information configured by the first user.
  • the application details interface displays the specification list of the application.
  • the list of specifications may be in the form of a list.
  • the specification list includes specifications created by the first user. Wherein, when the first user creates an application specification for the first time, the specification list may be empty.
  • the application details interface also includes a specification creation control, through which the first user can trigger a specification creation operation, and the first application management platform 100 presents the specification creation interface to the first user in response to the first user's specification creation operation.
  • the specification creation interface 30 carries various specification creation controls, and the first application management platform 100 can receive the first specification description information configured by the first user through the above specification creation controls.
  • the first specification description information includes the first specification.
  • the first specification includes a specification name and a specification description. Specifications can be used to describe the application's capacity, resource requirements, and so on.
  • the first specification description information may further include one or more of the applicable environment of the first specification, the version number of the first version of the first specification, and the like.
  • the first application management platform 100 presents a specification layout interface to the first user, and generates a first layout file of the application in response to the first user's operation on the target layout node.
  • the determination control 37 may be triggered, and the first application management platform 100 may present the specification compilation interface to the first user in response to the above-mentioned operation of the first user.
  • the specification layout interface 40 includes a layout node display area 41 and a layout area 42 .
  • the arrangement node display area 41 includes a plurality of arrangement nodes, and the first user can select (for example, drag) several arrangement nodes from the arrangement node display area 41 to the arrangement area 42, and the arrangement node selected to the arrangement area 42 is the target arrangement node .
  • the first user may perform a connection operation or a parameter configuration operation on the target orchestration node.
  • the first user can click the target layout node in the layout area 42, and the layout interface 40 can display the corresponding parameter configuration area 42, and the first user can perform parameter configuration operations on the target layout node in the parameter configuration area 42.
  • the first application management platform 100 may respond to the first user's connection operation to the target layout nodes, obtain the dependency relationship between the target layout nodes, and generate the first layout file according to the dependency relationship between the target layout nodes.
  • the first application management platform 100 may also generate the first application layout file according to the parameters of the target layout node.
  • the relevant content description of the embodiment shown in FIG. 1 please refer to the relevant content description of the embodiment shown in FIG. 1 , which will not be repeated here.
  • the orchestration node provided by the first application management platform 100 is a standardized service node
  • the orchestration file obtained based on the standardized service node orchestration can shield the differences of heterogeneous environments such as public cloud, private cloud, hybrid cloud, or edge cloud.
  • the first user can only arrange once for different deployment environments, which reduces the delivery pressure of the first user.
  • the first application management platform 100 submits the first orchestration file and the first specification description information of the application to the application market 300 .
  • the first application management platform 100 may also submit application introduction information of the application to the application market 300 .
  • the first application management platform 100 may also submit an application software package to the application market 300, and the software package includes program codes corresponding to services on which the application depends.
  • the application market 300 reviews the application according to the first orchestration file and the first specification description information of the application, and releases the application after the review is passed.
  • the application market 300 can review the application from one or more dimensions of compliance, security, quality, and developer qualification according to the first orchestration file and the first specification description information of the application.
  • the review may be performed in combination with the application introduction information and software packages.
  • reviewing from the compliance dimension refers to reviewing whether the application complies with relevant regulations or policies.
  • the application market 300 can review the application's first layout file, first specification description information, application description information, and whether sensitive words are included in the software package. .
  • Auditing from the perspective of security refers to checking whether the software package of the application includes viruses or Trojan horses.
  • the application market 300 can check whether the software package of the application includes viruses or Trojan horses by scanning codes, so as to determine whether the application is safe.
  • Reviewing from the quality dimension refers to reviewing the quality of the application.
  • the application market 300 can obtain the test report of the application, so as to determine the quality of the application.
  • the application market 300 can also test the application in real time, so as to obtain the quality of the application.
  • the application market 300 may obtain the development qualification information of the application, for example, obtain the development qualification information of the application from the application description information, and then determine whether the developer of the application has the development qualification specified by the application market 300 .
  • the application market 300 may release the application directly without reviewing the application.
  • the application market 300 may directly release the application.
  • the application market 300 may present the application introduction information and the first specification description information of the application, so as to realize publishing the application.
  • the first application management platform 100 may also standardize applications. Specifically, the first application management platform 100 may request the first user's authorization by querying, and standardize the application after obtaining the first user's authorization.
  • the application standardization process may be that the first application management platform 100 may receive the interface opened by the application configured by the first user and the parameters that the application’s corresponding orchestration node supports modification when it is orchestrated, and then according to the interface opened by the application and the corresponding
  • the modified parameters are supported to be standardized, and the corresponding orchestration node of the application is obtained.
  • this orchestration node is also referred to as a second orchestration node.
  • the first application management platform 100 can add the second orchestration node to the existing multiple orchestration nodes, and when the specification orchestration interface is presented again, the second orchestration node will be included in the specification orchestration interface, so that other application providers can
  • the second orchestration node is used to create orchestration files of other applications. This can improve the development efficiency of other applications.
  • the first application management platform 100 may present a recommendation page to the first user.
  • the recommendation page indicates that it is recommended to standardize the application.
  • the recommendation page may include standardized controls.
  • the first user can trigger a standardized operation on the application through the standardized control, and the first application management platform 100 can standardize the application in response to the standardized operation on the application triggered by the first user through the recommended page, thereby obtaining The second orchestration node.
  • the application market 300 presents an application deployment interface to the second user, and receives deployment information of the target application configured by the second user through the application deployment interface.
  • the application market 300 may present an application deployment interface to the second user, so that the second user selects a target application to be deployed from the application deployment interface and configures deployment information of the target application.
  • the deployment information may be, for example, a target deployment environment.
  • the target deployment environment can be one or more of public cloud, private cloud, hybrid cloud or edge cloud.
  • public cloud, private cloud, hybrid cloud or edge cloud can be further divided according to cloud service providers, for example, it can be divided into first-party cloud (cloud environment provided by the cloud service provider of the first application management platform 100) , Third-party cloud (cloud environment provided by other cloud service providers). .
  • S720 The application market 300 sends the first orchestration file to the second application management platform 200 in the target deployment environment.
  • the application market 300 may first determine the first composition file, and then send the first composition file to the second application management platform 200 in the target deployment environment.
  • the target deployment environment configured by the second user may include multiple deployment environments (for example, a public cloud, a private cloud, etc.), and the application market 300 may send the first orchestration file to the Individual deployment environments within the target deployment environment.
  • the application market 300 determines that the first layout file may include multiple implementation manners. Various implementation manners are illustrated as examples below.
  • the deployment information also includes the first specification description information of the target application
  • the application market 300 can determine the first specification description information related to the first specification description information from the orchestration file of the target application according to the first specification description information.
  • the specification matches the first orchestration file.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes.
  • the first specification description information may also include the version number of the first version of the first specification
  • the application market 300 may determine from the layout file of the target application the version number that matches the first version of the first specification according to the first specification description information.
  • First compose the file The first orchestration file records the orchestration nodes on which the target application runs under the first version of the first specification and the dependencies between the orchestration nodes.
  • the application market 300 can obtain the specification description information of each specification of the target application, for example, including the first specification description information, and the applicable environment of the first specification is recorded in the first specification description information, and then the application market 300 can The applicable environment and target deployment environment recorded in the specification description information of each specification determine the first compilation file.
  • the first layout file is the layout file of the first specification of the target application, and the applicable environment of the first specification includes the above-mentioned target deployment environment.
  • the applications published on the application market 300 may include multiple specifications, for example, include a first specification and a second specification.
  • the first orchestration file can be one (for example, when the first specification of the application contains only one version) or multiple (for example, when the first specification of the application contains multiple versions hour).
  • the application market 300 can also determine the second layout file according to the second specification, and send the second layout file to the second user selected on the target deployment environment. Wherein, there may be one (for example, when the second specification of the application includes only one version) or multiple (for example, when the second specification of the application includes multiple versions).
  • the application market 300 may send the finalized orchestration file to each deployment environment in the target deployment environment.
  • S722 The second application management platform 200 parses the first orchestration file through the orchestration engine, and obtains the orchestration nodes that the target application depends on and the dependency relationship between the orchestration nodes.
  • the second application management platform 200 After the second application management platform 200 receives the first layout file, it can call the layout engine, which is also called analytic engine, driver engine (driver engine) or agent (agent), parse the first layout file, and obtain the target application Dependent orchestration nodes and dependencies between orchestration nodes.
  • the layout engine which is also called analytic engine, driver engine (driver engine) or agent (agent)
  • driver engine driver engine
  • agent agent
  • the node type of the orchestration node may be a computing resource node, that is, the orchestration node is used to represent a standardized computing resource node.
  • the parameters of the orchestration node are represented by the following key-value pairs:
  • Image source public standardized image
  • SSD System disk type
  • the second application management platform 200 may be installed on the target deployment environment by an administrator of the second application management platform 200 or an administrator of the target deployment environment.
  • the administrator of the second application management platform 200 or the administrator of the target deployment environment may install the above-mentioned orchestration engine in the target deployment environment in advance, or install the above-mentioned second application management platform 200 when the second user triggers the application deployment operation.
  • the administrator of the second application management platform 200 or the administrator of the target deployment environment can pre-install the second application management platform.
  • the second application management platform 200 can also initiate a connection establishment request to the application market 300 to establish a connection with the application market 300 .
  • the second application management platform 200 may receive the first layout file of the target application through the above connection.
  • the second application management platform 200 sequentially deploys the orchestration nodes on which the target application runs on the target deployment environment.
  • the second application management platform 200 may determine the deployment sequence of the multiple orchestration nodes according to the dependency relationship among the multiple orchestration nodes, wherein the priority of the dependent orchestration node is higher than that of the dependent orchestration node. Then the second application management platform 200 can sequentially deploy the orchestration nodes on the target deployment environment according to the deployment sequence of the multiple orchestration nodes, so as to realize the deployment of the target application.
  • the second application management platform 200 when the second application management platform 200 deploys the orchestration node, it can be implemented through corresponding mirror images.
  • the second application management platform 200 can install the operating system image on the target deployment environment, and then according to the access address of each environment in the heterogeneous environment and the access address of each environment in the heterogeneous environment recorded by the ECS adaptation layer,
  • the resource application interface in this environment and the parameters that support modification when the node is arranged call the corresponding resource application interface to create an ECS instance, configure the ECS instance according to the above parameters, and set the address referenced by the ECS instance as the access of the corresponding environment address, thus realizing the deployment of standardized ECS.
  • the orchestration node is deployed to the edge cloud, since the corresponding physical server has been purchased, there is no need to purchase a cloud server, and the second application management platform 200 can automatically apply for the required resources, such as computing resources, network resources, and storage resources. Improve the efficiency of remote operations and batch deployment.
  • the first orchestration file is obtained by orchestrating standardized service nodes, the first orchestration file can shield the differences in heterogeneous environments such as public cloud, private cloud, hybrid cloud, or edge cloud.
  • heterogeneous environments such as public cloud, private cloud, hybrid cloud, or edge cloud.
  • the first user may also update the applications that have been released on the application market.
  • the update of the application can be divided into an update within a specification and an update across specifications.
  • Intra-specification update refers to updating one version of an application from one version to another, for example, updating the first version of the first specification of the application to the second version of the first specification
  • cross-specification update refers to updating the application from one
  • the specification is updated to another specification, for example, the V2 version of the first specification is updated to the V1 version of the second specification, or the V1 version of the first specification is updated to the V1 version of the second specification.
  • the first user may edit and generate an updated application layout file based on the existing layout file of the application.
  • the following describes an intra-specification update and a cross-specification update with examples.
  • the first application management platform 100 can obtain the second specification description information, open the first layout file in the specification compilation interface, and obtain the second layout file according to the modification of the first layout file by the first user.
  • the second specification description information includes the second specification
  • the second orchestration file records information about the orchestration nodes on which the application runs under the second specification. Then the first application management platform 100 may submit the second compilation file and the second specification description information to the application market 300 , so as to update application information in the application market 300 .
  • the first user may find the first specification in the specification list on the application details interface, and then trigger a specification creation operation through the specification creation control on the application details interface to create the second specification.
  • the first application management platform 100 presents a specification creation interface to the first user, and the first user can configure the second specification description information through the specification creation interface.
  • the first application management platform 100 opens the first layout file in the specification layout interface.
  • the first user can modify the first layout file, such as adding or deleting target layout nodes, modifying the parameters of target layout nodes, or modifying the connection relationship between target layout nodes, and then the first application management platform 100 according to The first user modifies the first layout file to obtain the second layout file.
  • the first specification description information further includes a version number of the first version of the first specification.
  • the first orchestration file records the target orchestration node on which the application runs under the first version of the first specification and the dependency relationship between the target orchestration nodes.
  • the first application management platform 100 obtains the third specification description information, and opens the first layout file in the specification compilation interface, and obtains the third layout file according to the modification of the first layout file by the user.
  • the third specification description information includes the first specification and the version number of the second version of the first specification
  • the third orchestration file records the orchestration on which the application runs under the second version of the first specification Node information.
  • the first application management platform 100 can submit the third layout file and the third specification description information to the application market 300, so as to update the information of the application in the application market 300, for example, update the application on a corresponding interface (such as an application deployment interface) Information such as specifications, versions, or function descriptions.
  • the first user can find the first version of the first specification in the specification list on the application details interface, and then trigger an update operation on the first specification by clicking or other means, and the first application management platform 100 presents the specification to the first user.
  • An update interface through which the first user can configure the description information of the third specification.
  • the third specification description information includes the first specification and the version number of the second version of the first specification. Then the first application management platform 100 opens the first layout file in the specification layout interface, and obtains the third layout file according to the modification of the first layout file by the user.
  • the application market 300 may provide updated application software packages and/or upgrade packages.
  • the updated software package is used to directly deploy the updated application
  • the upgrade package is used to upgrade the application from the first specification to the second specification, or to upgrade the application from the first version of the first specification to the first specification. Second version.
  • the second application management platform 200 can detect whether the specification or version of the target application is updated. If yes, the second application management platform 200 can perform automatic or manual upgrade according to the upgrade policy.
  • the automatic upgrade means that the second application management platform 200 directly performs the upgrade in the background without manual participation.
  • Manual upgrade means that the second application management platform 200 performs the upgrade after obtaining the authorization of the second user, which usually requires manual intervention.
  • the second application management platform 200 may upgrade the target application in the target deployment environment from the first specification to the second specification.
  • the second application management platform 200 can update the target application in the target deployment environment from the first version of the first specification to the second version of the first specification.
  • the version is upgraded to the second version of the first specification.
  • the first situation is that the application market 300 receives the first update of the deployment information, for example, the first update of the deployment information by the second user, the first update includes the second specification description information of the target application, and the second specification description information A second specification of the target application is included. Then the application market 300 may determine the second composition file matching the second specification from the composition files of the target application according to the second specification description information, and then send the second composition file to the target deployment environment. In this way, the second application management platform 200 can update the target application from the first specification to the second specification on the target deployment environment.
  • the second case is that the application market 300 receives a second update of the deployment information, for example, a second update of the deployment information by the second user, and the second update includes the third specification description information of the target application.
  • the third specification description information includes the first specification of the target application and the version number of the second version of the first specification.
  • the application market 300 determines from the layout files of the target application a third layout file matching the second version of the first specification according to the third specification description information, and the third layout file records that the application under the second version of the first specification
  • the orchestration nodes that the operation depends on and the dependencies between the orchestration nodes.
  • the application market 300 may send the above-mentioned third orchestration file to the target deployment environment. In this way, the second application management platform 200 can update the target application from the version of the first specification to the second version of the first specification on the target deployment environment.
  • the application identified as APPID1 includes three specifications. These three specifications are respectively expressed as SPEC-CODE1, SPEC-CODE2, and SPEC-CODE3. Among them, the specification represented by SPEC-CODE1 has three versions, namely V1, V2 and V3. The three versions of SPEC-CODE1 correspond to three orchestration files respectively.
  • environment A represents the first-party cloud (such as the first-party public cloud)
  • environment B represents the hybrid cloud
  • environment C represents the smart site
  • environment D represents the third-party cloud (such as the third-party public cloud).
  • the orchestration node used by the orchestration file is a standardized service node
  • the above-mentioned standardized service node can be installed in a heterogeneous environment in a unified manner, and four instances of the application will be generated.
  • the four instances are identified by instance1, instance2, instance3, and instance4 respectively. In this way, the installation operation is simplified and the efficiency of application deployment is improved.
  • the second application management platform 200 on each environment automatically detects whether the specification or version of the above instance has been updated, and if so, it can enter the upgrade process and upgrade the application to V3 version.
  • the application management method provided by the embodiment of the present application has been introduced in detail above with reference to FIGS. 1 to 8 .
  • the first application management platform 100 , the application market 300 and the second application management platform 200 provided by the embodiment of the present application will be described below in conjunction with the accompanying drawings. Make an introduction.
  • the first application management platform 100 includes an arrangement management subsystem 102, wherein the arrangement management subsystem 102 specifically includes:
  • the interaction module 1022 is configured to present a specification creation interface to the user, and receive first specification description information configured by the user through the specification creation interface, where the first specification description information includes the first specification of the application;
  • the interaction module 1022 is further configured to present a specification layout interface to the user, the specification layout interface carries a plurality of layout nodes, and the first layout node among the multiple layout nodes is a standardized service node;
  • the layout module 1024 is configured to generate a first layout file of the application in response to the user's operation on the target layout node among the multiple layout nodes, and the first layout file records that the application is in the first layout file.
  • the interaction module 1022 is further configured to submit the first compilation file and the first specification description information to the application market 300, so that the application market 300 publishes the application.
  • the first orchestration node is any of the following:
  • Standardized infrastructure-as-a-service IaaS layer nodes standardized platform-as-a-service PaaS layer nodes, and standardized software-as-a-service SaaS layer nodes.
  • the first application management platform 100 further includes a node management subsystem 104, and the node management subsystem 104 is configured to implement node standardization.
  • the node management subsystem 104 includes:
  • a standardization module 1044 configured to create the first orchestration node by standardizing information.
  • the first application management platform 100 is connected to a heterogeneous environment, and the heterogeneous environment includes one or more of a public cloud, a private cloud, a hybrid cloud, or an edge cloud;
  • the standardized information includes pre-configured first standardized information, and the first standardized information includes an operating system image, the The access address of each environment in the heterogeneous environment and the resource application interface of each environment in the heterogeneous environment.
  • the standardized PaaS layer nodes include standardized application container engine nodes
  • the standardized information further includes second standardized information, and the second standardized information includes a container management platform installation package, a container installation package, and container startup parameters.
  • the standardized SaaS layer nodes include standardized third-party application service nodes
  • the standardized information includes an interface opened by the third-party application service.
  • the first specification description information further includes an applicable environment of the first specification, and the applicable environment is selected from the heterogeneous environment interconnected with the application management platform.
  • the arrangement module 1024 is specifically configured to:
  • the first orchestration file of the application is generated according to the dependency relationship between the target orchestration nodes.
  • the arrangement module 1024 is specifically configured to:
  • the first application management platform 100 further includes:
  • the standardization module 1044 is configured to standardize the application to obtain a second composition node, the second composition node is a standardized SaaS layer node, and the second composition node is used to create composition files of other applications.
  • the node management subsystem 104 further includes:
  • An interaction module 1042 configured to present a recommendation page to the user, the recommendation page indicating that it is recommended to standardize the application;
  • the standardization module 1044 is specifically used for:
  • the application In response to the standardization operation on the application triggered by the user through the recommendation page, the application is standardized to obtain the second orchestration node.
  • the interaction module 1022 is also configured to:
  • the second orchestration file records information about the orchestration nodes on which the application runs under the second specification;
  • the first specification description information further includes a version number of the first version of the first specification, and the first compilation file records that the application is in the first version of the first specification.
  • the target orchestration node and the dependency relationship between the target orchestration nodes that the operation depends on under the version, the interaction module 1022 is also used for:
  • the third orchestration file records the information of the orchestration node on which the application runs under the second version of the first specification ;
  • the first application management platform 100 may correspond to execute the method described in the embodiment of the present application, and the above-mentioned and other operations and/or functions of the various modules/units of the first application management platform 100 are respectively in order to realize the The corresponding flow of each method in the embodiment shown in 7 is not repeated here for the sake of brevity.
  • the application market 300 includes:
  • the interaction module 302 is further configured to receive the deployment information of the target application configured by the user through the application deployment interface, the target application is the application requested by the user for deployment, the deployment information includes the target deployment environment, and the The above target deployment environment includes one or more of public cloud, private cloud, hybrid cloud or edge environment;
  • the interaction module 302 is further configured to send the first orchestration file determined by the management module 304 to the target deployment environment, and the first orchestration file records the orchestration node on which the target application runs and the Orchestrate dependencies between nodes.
  • the deployment information further includes first specification description information of the target application, and the first specification description information includes the first specification of the target application;
  • the management module 304 is specifically used for:
  • the management module 304 is specifically configured to:
  • the first orchestration file is determined from the orchestration file of the target application according to the target deployment environment, and the first orchestration file records the orchestration nodes on which the target application operates under the first specification and the orchestration
  • the dependency relationship between nodes, the applicable environment of the first specification includes the target deployment environment.
  • the interaction module 302 is also configured to:
  • the first update including second specification description information of the target application, the second specification description information including a second specification of the target application;
  • the management module 304 is also used for:
  • the interaction module 302 is also used for:
  • the first specification description information includes a version number of the first version of the first specification;
  • the first compilation file records that the target application is under the first version of the first specification The orchestration nodes on which the operation depends and the dependencies between the orchestration nodes;
  • the interaction module 302 is also used to further include:
  • the second update including third specification description information of the target application, the third specification description information including the first specification and the first specification description information of the target application the version number of the second edition of a specification;
  • the management module 304 is also used for:
  • the third composition file records that the target application is in the The orchestration nodes on which the operation of the second version of the first specification depends and the dependencies between the orchestration nodes;
  • the interaction module 302 is also used for:
  • the application market 300 further includes:
  • An audit module 306, configured to audit the application before presenting the application deployment interface to the user;
  • the interaction module 302 is also used for:
  • the application introduction information of the application is presented on the application deployment interface.
  • the application market 300 may correspond to the method described in the embodiment of the application, and the above-mentioned and other operations and/or functions of the various modules/units of the application market 300 are respectively in order to realize the embodiment shown in FIG. 7
  • the corresponding processes of each method are not repeated here.
  • the second application management platform 200 includes:
  • An interaction module 202 configured to receive a first layout file of a target application
  • the orchestration engine 204 is configured to parse the first orchestration file, obtain the orchestration nodes that the target application depends on and the dependencies between the orchestration nodes, and the target orchestration nodes are standardized service nodes;
  • the deployment module 206 is configured to, according to the first orchestration file, sequentially deploy the orchestration nodes on which the operation of the target application depends.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first specification and the dependencies between the orchestration nodes;
  • the interaction module 202 is also used for:
  • the orchestration engine 204 is also used for:
  • the node change information is used to describe that the target application under the second specification is compared with that under the first specification A change in the orchestration node on which the operation depends, and the dependency change information is used to describe a change in the dependency relationship between the orchestration nodes;
  • the second application management platform 200 also includes:
  • An upgrade module 208 configured to upgrade the target application to the second specification according to at least one of the node change information and the dependency change information.
  • the first orchestration file records the orchestration nodes on which the target application runs under the first version of the first specification and the dependencies between the orchestration nodes;
  • the interaction module 202 is also used for:
  • the second application management platform 200 also includes:
  • the upgrade module 208 is configured to upgrade the target application from the first version of the first specification to the second version of the first specification according to the third orchestration file.
  • the second application management platform 200 further includes:
  • a connection module configured to initiate a connection establishment request to the application market, and establish a connection with the application market
  • the interaction module 202 is specifically used for:
  • a first orchestration file of the target application is received through the connection.
  • the second application management platform 200 may correspond to the implementation of the method described in the embodiment of the present application, and the above-mentioned and other operations and/or functions of the various modules/units of the second application management platform 200 are respectively in order to realize the The corresponding flow of each method in the embodiment shown in 7 is not repeated here for the sake of brevity.
  • the embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device, which may be, for example, a server.
  • the computing device cluster is specifically used to realize the functions of the first application management platform 100 in the embodiment shown in FIG. 1 .
  • FIG. 9 provides a schematic structural diagram of a computing device cluster.
  • the computing device cluster 90 includes multiple computing devices 900
  • the computing device 900 includes a bus 901 , a processor 902 , a communication interface 903 and a memory 904 .
  • the processor 902 , the memory 904 and the communication interface 903 communicate through the bus 901 .
  • the bus 901 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 9 , but it does not mean that there is only one bus or one type of bus.
  • the processor 902 may be a central processing unit (central processing unit, CPU), a graphics processing unit (graphics processing unit, GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP) and the like. Any one or more of them.
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • the communication interface 903 is used for communicating with the outside.
  • the communication interface 903 is configured to receive the first specification description information configured by the user through the specification creation interface, and submit the first layout file and the first specification description information to the application market 300 .
  • the memory 904 may include a volatile memory (volatile memory), such as a random access memory (random access memory, RAM).
  • volatile memory such as a random access memory (random access memory, RAM).
  • Memory 904 can also include non-volatile memory (non-volatile memory), such as read-only memory (read-only memory, ROM), flash memory, hard disk drive (hard disk drive, HDD) or solid state drive (solid state drive) , SSD).
  • Computer-readable instructions are stored in the memory 904 , and the processor 902 executes the computer-readable instructions, so that the computing device cluster 90 executes the aforementioned application management method (or implements the aforementioned functions of the first application management platform 100 ).
  • software or program codes required to execute the functions of the modules in FIG. 1 may be stored in at least one memory 904 in the computing device cluster 90 .
  • At least one processor 902 executes the program codes stored in the memory 904, so that the computing device cluster 90 executes the aforementioned application management method.
  • FIG. 10 provides a schematic structural diagram of a computing device cluster, which is specifically used to realize the functions of the application market 300 in the embodiment shown in FIG. 1 .
  • the computing device cluster 10 includes multiple computing devices 1000 , and the computing device 1000 includes a bus 1001 , a processor 1002 , a communication interface 1003 and a memory 1004 .
  • the processor 1002 , the memory 1004 and the communication interface 1003 communicate through the bus 1001 .
  • the memory 1004 stores computer-readable instructions, and the processor 1002 executes the computer-readable instructions, so that the computing device cluster 10 executes the aforementioned application management method (or implements the aforementioned functions of the application market 300 ).
  • the Software or program codes required for the functions of the modules in 1 may be stored in at least one memory 1004 in the computing device cluster 10 .
  • At least one processor 1002 executes the program code stored in the memory 1004, so that the computing device cluster 10 executes the aforementioned application management method.
  • FIG. 11 provides a schematic structural diagram of a computing device cluster, which is specifically used to realize the functions of the second application management platform 200 in the embodiment shown in FIG. 1 .
  • the computing device cluster 11 includes multiple computing devices 1100 , and the computing device 1100 includes a bus 1101 , a processor 1102 , a communication interface 1103 and a memory 1104 .
  • the processor 1102 , the memory 1104 and the communication interface 1103 communicate through the bus 1101 .
  • bus 1101, the processor 1102, the communication interface 1103, and the memory 1104 For the specific implementation of the bus 1101, the processor 1102, the communication interface 1103, and the memory 1104, reference may be made to the related content description of the embodiment shown in FIG. 9 .
  • computer-readable instructions are stored in the memory 1104, and the processor 1102 executes the computer-readable instructions, so that the computing device cluster 11 executes the aforementioned application management method (or realizes the aforementioned functions of the second application management platform 200) .
  • software or program codes required to execute the functions of the modules in FIG. 1 may be stored in at least one memory 1104 in the computing device cluster 11 .
  • At least one processor 1102 executes program codes stored in the memory 1104, so that the computing device cluster 11 executes the aforementioned application management method.
  • the 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, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, solid state hard disk), etc.
  • the computer-readable storage medium includes instructions, and the instructions instruct a computing device or a cluster of computing devices to execute the above-mentioned application management method.
  • the embodiment of the present application also provides a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computing device, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, from a website, computing device, or data center via Wired (eg, coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.) transmission to another website site, computing device, or data center.
  • Wired eg, coaxial cable, fiber optic, digital subscriber line (DSL)
  • wireless eg, infrared, wireless, microwave, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种应用管理方法,包括:向用户呈现规格创建界面,接收用户通过规格创建界面配置的第一规格描述信息,向用户呈现规格编排界面,规格编排界面承载有多个编排节点,多个编排节点中的第一编排节点为标准化的服务节点,响应于用户对多个编排节点中目标编排节点的操作,生成应用的第一编排文件,向应用市场提交第一编排文件以及第一规格描述信息,以使应用市场发布应用。基于该标准化的服务节点编排所得的编排文件可以屏蔽公有云、私有云、混合云或边缘云等异构环境的差异,如此,用户针对应用所适用的不同的部署环境仅需编排一次,降低了用户的交付压力。在部署时,可以通过该编排文件将应用批量部署到不同的部署环境,降低了部署压力。

Description

一种应用管理方法及相关系统
本申请要求于2021年11月24日提交中国国家知识产权局、申请号为202111407421.2、发明名称为“一种标准化资源节点和云服务编排方法、装置和系统”的中国专利申请的优先权,以及于2021年12月15日提交中国国家知识产权局、申请号为202111535162.1、发明名称为“一种应用管理方法及相关系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,尤其涉及一种应用管理方法、系统以及计算机集群、计算机可读存储介质、计算机程序产品。
背景技术
随着云计算技术的不断发展,“应用上云”成为一种趋势。“应用上云”是指将应用(也称作应用软件)部署到云环境。独立软件开发商(independent software vendor,ISV)在完成应用的开发后,可以将应用的部署和升级交给专业的系统集成(system Integration,SI)商,以完成应用上云。
应用上云过程中,考虑到不同客户的需求可以是不同的,系统集成商可以将应用部署到不同云环境中。例如,对于中小企业客户,系统集成商可以将应用部署到公有云;对于大型企业客户,系统集成商可以将应用部署到私有云、公有云以及智能站点(fusion compute,FC)。
当应用需要部署到不同的环境(例如,公有云、私有云、混合云或者是智能站点等不同的云环境)时,在应用开发阶段,具体是应用开发阶段的后期,ISV需要针对不同的部署环境分别进行适配(例如,编排应用依赖的服务以及服务之间的依赖关系),如此增加了ISV的交付压力。而且,在应用部署阶段,系统集成商也难以通过统一的方式批量将该应用部署到不同的环境,也增加了系统集成商的部署压力。
发明内容
本申请提供了一种应用管理方法,该方法通过对标准化的服务节点进行编排得到编排文件,该编排文件能够屏蔽公有云、私有云、混合云或边缘云等异构环境的差异,用户无对应用所适用的不同部署环境仅需编排一次,降低了交付压力。并且,基于上述编排文件可以实现将应用批量部署到不同的部署环境,降低了部署压力。本申请还提供了上述方法对应的系统(例如是应用管理平台、应用市场等)、计算机集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种应用管理方法。该应用管理方法由应用管理平台执行。在一些实施例中,应用管理平台可以是软件系统,计算设备或计算设备集群通过运行该软件系统的程序代码,以执行应用管理方法。在另一些实施例中,该应用管理平台也可以是用于应用管理的硬件系统。
在上云的过程中,可以分为开发阶段、发布阶段和部署阶段。其中,在开发阶段,应用的提供方在完成应用本身的功能或特性的开发后,对上述功能、特性对应的编排节点进行编排,进一步地,应用的提供方还可以在编排之后进行调测,由此完成应用开发;在发布阶段,应用的提供方可以将应用的相关信息提交到应用市场,由应用市场发布应用;在部署阶段,系统集成商或应用的需求方可以在应用市场上选购应用,进而通过另一应用管理平台将应用部署到不同的云环境中。
为了便于描述,本申请实施例将应用的提供方称作第一用户,第一用户使用的应用管理平台称作第一应用管理平台,将应用的需求方或系统集成商称作第二用户,响应于第二用户触发的部署操作,部署应用的应用管理平台称作第二应用管理平台。该第一应用管理平台支持第一用户进行应用开发,并且可以和应用市场协作以完成应用发布。该第二应用管理平台可以和应用市场协作完成应用部署。
具体地,第一应用管理平台可以向第一用户呈现规格创建界面,接收所述第一用户通过所述规格创建界面配置的第一规格描述信息,所述第一规格描述信息包括应用的第一规格,然后第一应用管理平台可以向所述第一用户呈现规格编排界面,所述规格编排界面承载有多个编排节点,所述多个编排节点中的第一编排节点为标准化的服务节点,接着响应于所述第一用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,所述第一编排文件记录有所述应用在所述第一规格下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系,第一应用管理平台再向应用市场提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场发布所述应用。
在该方法中,第一应用管理平台提供的编排节点为标准化的服务节点,基于该标准化的服务节点编排所得的编排文件可以屏蔽公有云、私有云、混合云或边缘云(例如是边缘云中的智能站点)等异构环境(应用所适用的不同的部署环境)的差异,如此,第一用户针对应用所适用的不同的部署环境仅需编排一次,因此,降低了第一用户的交付压力。
在一些可能的实现方式中,所述第一编排节点为以下任一种:标准化的基础设施即服务IaaS层节点、标准化的平台即服务PaaS层节点和标准化的软件即服务SaaS层节点。其中,IaaS层节点包括计算资源节点、网络资源节点和存储资源节点,PaaS层节点包括应用容器引擎节点、数据库、网关、统一鉴权管理、容器镜像仓库中的一种或多种。SaaS层节点配置存储节点、无状态节点、有状态节点、网络集群服务节点、ingress节点、命名空间节点、基于角色的鉴权控制节点中的一种或多种。其中,SaaS层节点还可以包括第三方应用服务节点,该第三方应用服务节点例如可以是应用提供方开发的应用服务对应的服务节点。
在该方法中,第一应用管理平台可以通过对标准化的IaaS层节点、标准化的PaaS层节点和/或标准化的SaaS层节点进行编排,可以实现对一些节点的代码复用,降低应用开发门槛,提高应用开发效率。
在一些可能的实现方式中,在向用户呈现规格创建界面之前,第一应用管理平台可以通过标准化信息,创建所述第一编排节点。其中,第一编排节点为标准化的服务节点,通过对服务节点进行标准化,可以为编排标准化奠定基础,如此,第一用户无需针对需要部署的不同部署环境分别进行编排,降低了第一用户的交付压力。
在一些可能的实现方式中,所述应用管理平台对接异构环境。所述异构环境包括公有云、私有云、混合云或边缘云中的一种或多种。需要说明的是,异构环境可以为上述不同类型环境的组合,也可以是不同服务提供商提供的同一类型环境的组合,例如是不同服务提供商提供的公有云的组合。
当第一编排节点为所述标准化的IaaS层节点或所述标准化的PaaS层节点时,所述标准化信息包括预先配置的第一标准化信息。该第一标准化信息具体是针对IaaS层节点和PaaS层节点通用的标准化信息,第一应用管理平台的管理员可以预先配置上述第一标准化信息,以实现对IaaS层节点或PaaS层节点的标准化。其中,所述第一标准化信息包括操作系统镜像、所述异构环境中每种环境的接入地址和所述异构环境中每种环境下的资源申请接口。进一步地,第一标准化信息还可以包括标准化的IaaS层节点或标准化的PaaS层节点被编排时支持修改的参数。
在该方法中,第一应用管理平台基于通用的第一标准化信息对IaaS层节点或PaaS层节点进行批量地标准化,提高了标准化的效率。
在一些可能的实现方式中,所述标准化的PaaS层节点包括标准化的应用容器引擎节点。当所述第一编排节点为所述标准化的应用容器引擎节点时,所述标准化信息还包括第二标准化信息,所述第二标准化信息包括容器管理平台安装包、容器安装包以及容器启动参数。
其中,容器管理平台安装包可以为K8S安装包,K8S安装包可以包括kubeadm、kubelet和kubectl。容器安装包可以为docker安装包。容器配置参数可以包括docker启动方式,该启动方式被配置为随机启动,且在关闭swap/防火墙/selinux等安全组件的情况下启动。
在该方法中,第一应用管理平台可以针对PaaS中的一些节点,例如是应用容器引擎节点,结合第一标准化信息以及针对该节点的第二标准化信息,进行标准化,如此满足了不同的标准化需求。
在一些可能的实现方式中,所述标准化的SaaS层节点包括标准化的第三方应用服务节点。当所述第一编排节点为所述标准化的第三方应用服务节点时,所述标准化信息包括所述第三方应用服务开放的接口。
在该方法中,第一应用管理平台还支持将第三方应用服务节点的能力进行开放,例如可以开放第三方应用服务的接口,由此实现将第三方应用服务节点的标准化,基于标准化的第三方应用服务节点进行应用开发,可以提高开发效率,并且可以提供第三方应用服务的利用率。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的适用环境,所述适用环境为从所述应用管理平台对接的所述异构环境中选择得到。例如,应用管理平台对接的异构环境包括公有云、私有云、混合云和边缘云,第一用户可以从该异构环境中选择公有云和私有云,作为第一规格的适用环境。
在该方法中,第一应用管理平台支持第一用户配置第一规格的适用环境,该适用环境可以为多个环境,如此,在部署应用时,可以基于一个编排文件,结合该适用环境,将应用部署到相应的环境,降低了部署压力。
在一些可能的实现方式中,第一应用管理平台可以响应于所述第一用户对所述目标编排节点的连接操作,获得所述目标编排节点之间的依赖关系,然后根据所述目标编排节点 之间的依赖关系,生成所述应用的第一编排文件。
在该方法中,第一应用管理平台可以提供图形化的规格编排界面,以便于第一用户对规格编排界面中的目标编排节点进行连接,生成编排文件,如此简化了编排操作,提高了编排效率。
在一些可能的实现方式中,第一应用管理平台可以响应于所述用户对所述目标编排节点的配置操作,获得所述目标编排节点的参数,然后根据所述目标编排节点的参数,生成所述应用的第一编排文件。
在该方法中,第一应用管理平台可以提供图形化的规格编排界面,以便于第一用户对规格编排界面中的目标编排节点进行参数配置,并根据配置的参数生成编排文件,如此简化了编排操作,提高了编排效率。
需要说明的是,在有些情况下,第一用户也可以不执行对目标编排节点的配置操作,如此,第一应用管理平台可以根据默认参数生成编排文件,进一步简化了编排操作,提升了编排效率。
在一些可能的实现方式中,第一应用管理平台还可以将所述应用标准化得到第二编排节点。所述第二编排节点为标准化的SaaS层节点,所述第二编排节点用于创建其他应用的编排文件。
具体地,第一应用管理平台可以在已有的多个编排节点中增加该第二编排节点,当再次呈现规格编排界面时,该规格编排界面上包括该第二编排节点,以便于其他应用的提供方使用该第二编排节点创建其他应用的编排文件。如此可以提高其他应用的开发效率。
在一些可能的实现方式中,第一应用管理平台可以接收第一用户配置的该应用开放的接口,根据应用开放的接口对应用进行标准化,从而得到第二编排节点。进一步地,第一应用管理平台还可以接收第一用户配置的第二编排节点被编排时支持修改的参数,第一应用管理平台根据应用开放的接口以及第二编排节点被编排时支持修改的参数,对应用进行标准化,从而得到第二编排节点。
在该方法中,通过将应用的接口进行开放,可以得到相应的第二编排节点,基于该第二编排节点可以为其他应用的开发提供帮助,提高应用开发效率。
在一些可能的实现方式中,第一应用管理平台可以通过询问方式请求第一用户的授权,并在获得第一用户的授权后,将应用标准化。具体地,第一应用管理平台可以向所述第一用户呈现推荐页面,所述推荐页面指示推荐将所述应用标准化,然后响应于所述第一用户通过所述推荐页面触发的对所述应用的标准化操作,将所述应用标准化得到所述第二编排节点。
如此,可以实现根据第一用户的需求,对应用进行标准化。在保障应用安全性的基础上,将应用的能力进行开放,从而为其他应用的开发提供帮助。
在一些可能的实现方式中,第一应用管理平台可以获取第二规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第二编排文件。所述第二规格描述信息包括所述应用的第二规格,所述第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息。然后第一应用管理平台向所述应用市场提交所述第二编排文件以及所述第二规格描述信息,以便于在所述应用市场 上更新所述应用的信息。
在该方法中,第一用户可以对第一编排文件进行修改,得到第二编排文件,并向应用市场提交第二规格描述信息以及第二编排文件,以在应用市场更新应用的信息,简化了更新流程。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的第一版本的版本号,所述第一编排文件记录有所述应用在所述第一规格的第一版本下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系。第一应用管理平台还可以获取第三规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件,所述第三规格描述信息包括所述第一规格以及所述第一规格的第二版本的版本号,所述第三编排文件记录有所述应用在所述第一规格的第二版本下运行所依赖的编排节点的信息。然后,第一应用管理平台可以向所述应用市场提交所述第三编排文件以及所述第三规格描述信息,以便于在所述应用市场上更新所述应用的信息。
在该方法中,第一用户可以对第一编排文件进行简单修改,得到第三编排文件,并向应用市场提交第三规格描述信息以及第三编排文件,以在应用市场更新应用的信息,简化了更新流程。
第二方面,本申请提供了一种应用管理方法。该方法可以由应用市场执行。具体地,应用市场可以向第二用户呈现应用部署界面,然后接收所述第二用户通过所述应用部署界面配置的目标应用的部署信息,该目标应用为所述第二用户请求部署的应用,所述部署信息包括目标部署环境,所述目标部署环境包括公有云、私有云、混合云或边缘环境中的一种或多种。接着应用市场向所述目标部署环境发送第一编排文件。所述第一编排文件记录有所述目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
在该方法中,应用市场可以根据第二用户的需求,向不同部署环境发送第一编排文件,从而实现根据第一编排文件批量部署应用至不同部署环境,如此降低了第二用户的部署压力。
在一些可能的实现方式中,所述部署信息还包括所述目标应用的第一规格描述信息。所述第一规格描述信息包括所述目标应用的第一规格。相应地,应用市场可以先根据所述第一规格描述信息从所述目标应用的编排文件中确定与所述第一规格匹配的所述第一编排文件。所述第一编排文件记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。然后应用市场向所述目标部署环境发送所述第一编排文件。
在该方法中,考虑到应用可以包括多个规格,第二用户可以指定需要部署的应用在第一规格下运行,如此,应用市场可以根据确定与第一规格匹配的第一编排文件发送至目标部署环境,从而满足特定的需求。
在一些可能的实现方式中,应用市场可以根据所述目标部署环境从所述目标应用的编排文件中确定所述第一编排文件,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述第一规格的适用环境包括所述目标部署环境。然后应用市场向所述目标部署环境发送第一编排文件。
在该方法中,规格描述信息通常记录有规格的适用环境,基于此,应用市场可以根据用户配置的目标部署环境,确定适用环境包括所述目标部署环境的规格,例如是第一规格,进而根据第一规格确定出第一编排文件。如此无需第二用户进行额外的操作,提高了用户体验。
在一些可能的实现方式中,应用市场发布的应用存在更新时,第二用户还可以对部署信息进行更新,以便于在目标部署环境中升级应用。具体地,应用市场可以接收对所述部署信息的第一更新,例如是第二用户对所述部署信息的第一更新,所述第一更新包括所述目标应用的第二规格描述信息,所述第二规格描述信息包括所述目标应用的第二规格,然后应用市场可以根据所述第二规格描述信息从所述目标应用的编排文件中确定与所述第二规格匹配的第二编排文件。所述第二编排文件记录有所述目标应用在所述第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。接着,应用市场向所述目标部署环境发送所述第二编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第二规格。
在该方法中,应用市场可以基于对部署信息的更新,从应用的编排文件中确定第二编排文件,并向目标部署环境发送第二编排文件,以实现在目标部署环境中将应用升级至第二规格。如此可以实现灵活地扩容、缩容,实现敏捷部署。
在一些可能的实现方式中,所述第一规格描述信息包括第一规格的第一版本的版本号;所述第一编排文件记录有所述目标应用在所述第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系。应用市场可以接收对所述部署信息的第二更新,例如是第二用户对所述部署信息的第二更新,所述第二更新包括所述目标应用的第三规格描述信息,所述第三规格描述信息包括所述目标应用的所述第一规格以及所述第一规格的第二版本的版本号。然后应用市场可以根据所述第三规格描述信息从所述目标应用的编排文件中确定与所述第一规格的第二版本匹配的第三编排文件。所述第三编排文件记录有所述目标应用在所述第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系。接着,应用市场向所述目标部署环境发送所述第三编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第一规格的第二版本。
在该方法中,应用市场可以基于对部署信息的更新,从应用的编排文件中确定第三编排文件,并向目标部署环境发送第三编排文件,以实现在目标部署环境中将应用升级至第二版本。如此可以实现性能扩展,满足业务需求。
在一些可能的实现方式中,在向用户呈现应用部署界面之前,应用市场还可以对所述应用进行审核。当审核通过时,应用市场可以在所述应用部署界面呈现所述应用的应用介绍信息。
如此,可以保障应用市场发布的应用的质量,为第二用户提供高质量的应用,从而提升用户体验。
在一些可能的实现方式中,应用市场可以根据第一应用管理平台提交的应用的第一编排文件以及第一规格描述信息对应用进行审核。其中,应用市场可以从合规、安全、质量以及开发资质中的一个或多个维度对应用进行审核。需要说明的是,应用市场可以获取应用介绍信息和软件包,以对应用进行审核。
其中,从合规维度进行审核是指审核应用是否符合相关规定或政策,例如,应用市场可以审核应用的第一编排文件、第一规格描述信息以及应用描述信息、软件包中是否包括敏感词。
从安全维度进行审核是指审核应用的软件包是否包括病毒或木马等。具体地,应用市场可以通过扫描代码的方式审核应用的软件包是否包括病毒或木马,从而确定应用是否安全。
从质量维度进行审核是指审核应用的质量。具体地,应用市场可以获取应用的测试报告,从而确定应用的质量。在一些实施例中,应用市场还可以实时测试应用,从而获得应用的质量。
从开发资质维度进行审核是指审核应用的开发的资质。具体地,应用市场可以获取应用的开发资质信息,例如从应用描述信息中获得该应用的开发资质信息,然后确定应用的开发者是否具有该应用市场规定的开发资质。
在该方法中,应用市场针对不同应用,从合规、安全、质量以及开发资质中选择相应的维度进行审核,从而满足不同的业务需求。
第三方面,本申请提供了一种应用管理方法。该方法可以由第二应用管理平台执行。具体地,第二应用管理平台可以接收目标应用的第一编排文件,然后解析所述第一编排文件,获得所述目标应用依赖的编排节点以及所述编排节点之间的依赖关系。所述目标编排节点为标准化的服务节点。接着,应用市场根据所述第一编排文件,依次部署所述目标应用运行所依赖的所述编排节点。
在该方法中,目标部署环境中的每个环境安装有上述第二应用管理平台,各个第二应用管理平台可以解析第一编排文件,并根据解析结果依次部署目标应用运行所依赖的编排节点,即,各个第二应用管理平台可以都按照第一编排文件部署目标应用,从而实现按照统一的方式对目标应用批量部署到异构环境中,降低了第二用户的部署压力。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。第二应用管理平台还可以接收所述目标应用的第二编排文件。所述第二编排文件记录有所述目标应用在第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。然后第二应用管理平台根据所述第二编排文件,获得节点变更信息和/或所述依赖关系变更信息。所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化。接着,第二应用管理平台可以根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到所述第二规格。
在该方法中,第二应用管理平台通过接收第二编排文件,并解析第二编排文件,获得节点变更信息和/或依赖关系变更信息,第二应用管理平台可以基于节点变更信息快速部署新增的节点,或者卸载删减的节点,和/或,修改节点之间的依赖关系,从而实现将应用由第一规格快速升级至第二规格,提高了升级效率,并且仅需少量的计算资源或存储资源即可实现应用升级,降低了升级门槛。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格的第一 版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系。第二应用管理平台可以接收所述目标应用的第三编排文件。所述第三编排文件记录有所述目标应用在第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系。然后第二应用管理平台可以根据所述第三编排文件,将所述目标应用从所述第一规格的第一版本升级到所述第一规格的第二版本。
在该方法中,第二应用管理平台通过接收第三编排文件,并根据第三编排文件,对目标部署环境中部署的相应节点进行处理,从而实现将应用由第一规格的第一版本快速升级至第一规格的第二版本,提高了升级效率,并且仅需少量的计算资源或存储资源即可实现应用升级,降低了升级门槛。
在一些可能的实现方式中,在接收目标应用的第一编排文件之前,第二应用管理平台还可以向应用市场发起建立连接的请求,与所述应用市场建立连接。相应地,第二应用管理平台可以通过所述连接接收所述目标应用的第一编排文件。
在该方法中,第二应用管理平台可以主动与应用市场建立连接,如此,即使第二应用管理平台不对外提供访问,应用市场可以通过上述连接向第二应用管理平台发送相应的编排文件,进而实现应用的升级和部署。
第四方面,本申请提供了一种应用管理平台。所述平台包括:
交互模块,用于向用户呈现规格创建界面,接收所述用户通过所述规格创建界面配置的第一规格描述信息,所述第一规格描述信息包括应用的第一规格;
所述交互模块,还用于向所述用户呈现规格编排界面,所述规格编排界面承载有多个编排节点,所述多个编排节点中的第一编排节点为标准化的服务节点;
编排模块,用于响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,所述第一编排文件记录有所述应用在所述第一规格下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系;
所述交互模块,还用于向应用市场提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场发布所述应用。
在一些可能的实现方式中,所述第一编排节点为以下任一种:
标准化的基础设施即服务IaaS层节点、标准化的平台即服务PaaS层节点和标准化的软件即服务SaaS层节点。
在一些可能的实现方式中,所述平台还包括:
标准化模块,用于通过标准化信息,创建所述第一编排节点。
在一些可能的实现方式中,所述应用管理平台对接异构环境,所述异构环境包括公有云、私有云、混合云或边缘云中的一种或多种;
当第一编排节点为所述标准化的IaaS层节点或所述标准化的PaaS层节点时,所述标准化信息包括预先配置的第一标准化信息,所述第一标准化信息包括操作系统镜像、所述异构环境中每种环境的接入地址和所述异构环境中每种环境下的资源申请接口。
在一些可能的实现方式中,所述标准化的PaaS层节点包括标准化的应用容器引擎节点;
当所述第一编排节点为所述标准化的应用容器引擎节点时,所述标准化信息还包括第二标准化信息,所述第二标准化信息包括容器管理平台安装包、容器安装包以及容器启动 参数。
在一些可能的实现方式中,所述标准化的SaaS层节点包括标准化的第三方应用服务节点;
当所述第一编排节点为所述标准化的第三方应用服务节点时,所述标准化信息包括所述第三方应用服务开放的接口。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的适用环境,所述适用环境为从所述应用管理平台对接的所述异构环境中选择得到。
在一些可能的实现方式中,所述编排模块具体用于:
响应于所述用户对所述目标编排节点的连接操作,获得所述目标编排节点之间的依赖关系;
根据所述目标编排节点之间的依赖关系,生成所述应用的第一编排文件。
在一些可能的实现方式中,所述编排模块具体用于:
响应于所述用户对所述目标编排节点的配置操作,获得所述目标编排节点的参数;
根据所述目标编排节点的参数,生成所述应用的第一编排文件。
在一些可能的实现方式中,所述平台还包括:
标准化模块,用于将所述应用标准化得到第二编排节点,所述第二编排节点为标准化的SaaS层节点,所述第二编排节点用于创建其他应用的编排文件。
在一些可能的实现方式中,所述交互模块还用于:
向所述用户呈现推荐页面,所述推荐页面指示推荐将所述应用标准化;
所述标准化模块具体用于:
响应于所述用户通过所述推荐页面触发的对所述应用的标准化操作,将所述应用标准化得到所述第二编排节点。
在一些可能的实现方式中,所述交互模块还用于:
获取第二规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第二编排文件,所述第二规格描述信息包括所述应用的第二规格,所述第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息;
向所述应用市场提交所述第二编排文件以及所述第二规格描述信息,以便于在所述应用市场上更新所述应用的信息。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的第一版本的版本号,所述第一编排文件记录有所述应用在所述第一规格的第一版本下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系,所述交互模块还用于:
获取第三规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件,所述第三规格描述信息包括所述第一规格以及所述第一规格的第二版本的版本号,所述第三编排文件记录有所述应用在所述第一规格的第二版本下运行所依赖的编排节点的信息;
向所述应用市场提交所述第三编排文件以及所述第三规格描述信息,以便于在所述应用市场上更新所述应用的信息。
第五方面,本申请实施例提供了一种应用市场。所述应用市场包括:
交互模块,用于向用户呈现应用部署界面;
所述交互模块,还用于接收所述用户通过所述应用部署界面配置的目标应用的部署信息,所述目标应用为所述用户请求部署的应用,所述部署信息包括目标部署环境,所述目标部署环境包括公有云、私有云、混合云或边缘环境中的一种或多种;
所述交互模块还用于,向所述目标部署环境发送由所述管理模块确定的第一编排文件,所述第一编排文件记录有所述目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
在一些可能的实现方式中,所述部署信息还包括所述目标应用的第一规格描述信息,所述第一规格描述信息包括所述目标应用的第一规格;
所述管理模块具体用于:
根据所述第一规格描述信息从所述目标应用的编排文件中确定与所述第一规格匹配的所述第一编排文件,所述第一编排文件记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。
在一些可能的实现方式中,所述管理模块具体用于:
根据所述目标部署环境从所述目标应用的编排文件中确定所述第一编排文件,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述第一规格的适用环境包括所述目标部署环境。
在一些可能的实现方式中,所述交互模块还用于:
接收对所述部署信息的第一更新,所述第一更新包括所述目标应用的第二规格描述信息,所述第二规格描述信息包括所述目标应用的第二规格;
所述管理模块还用于:
根据所述第二规格描述信息从所述目标应用的编排文件中确定与所述第二规格匹配的第二编排文件,所述第二编排文件记录有所述目标应用在所述第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块还用于:
向所述目标部署环境发送所述第二编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第二规格。
在一些可能的实现方式中,所述第一规格描述信息包括第一规格的第一版本的版本号;所述第一编排文件记录有所述目标应用在所述第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块还用于还包括:
接收对所述部署信息的第二更新,所述第二更新包括所述目标应用的第三规格描述信息,所述第三规格描述信息包括所述目标应用的所述第一规格以及所述第一规格的第二版本的版本号;
所述管理模块还用于:
根据所述第三规格描述信息从所述目标应用的编排文件中确定与所述第一规格的第二版本匹配的第三编排文件;所述第三编排文件记录有所述目标应用在所述第一规格的 第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块还用于:
向所述目标部署环境发送所述第三编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第一规格的第二版本。
在一些可能的实现方式中,所述应用市场还包括:
审核模块,用于在向用户呈现应用部署界面之前,对所述应用进行审核;
所述交互模块还用于:
当审核通过时,在所述应用部署界面呈现所述应用的应用介绍信息。
第六方面,本申请提供了一种应用管理平台。所述平台包括:
交互模块,用于接收目标应用的第一编排文件;
编排引擎,用于解析所述第一编排文件,获得所述目标应用依赖的编排节点以及所述编排节点之间的依赖关系,所述目标编排节点为标准化的服务节点;
部署模块,用于根据所述第一编排文件,依次部署所述目标应用运行所依赖的所述编排节点。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块还用于:
接收所述目标应用的第二编排文件,所述第二编排文件记录有所述目标应用在第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述编排引擎还用于:
根据所述第二编排文件,获得节点变更信息和/或所述依赖关系变更信息,所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化;
所述平台还包括:
升级模块,用于根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到所述第二规格。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块还用于:
接收所述目标应用的第三编排文件,所述第三编排文件记录有所述目标应用在第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述平台还包括:
升级模块,用于根据所述第三编排文件,将所述目标应用从所述第一规格的第一版本升级到所述第一规格的第二版本。
在一些可能的实现方式中,所述平台还包括:
连接模块,用于向应用市场发起建立连接的请求,与所述应用市场建立连接;
所述交互模块具体用于:
通过所述连接接收所述目标应用的第一编排文件。
第七方面,本申请提供一种计算设备集群,所述计算设备集群包括至少一台计算设备。至少一台计算设备包括至少一个处理器和至少一个存储器。所述处理器、所述存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备或计算设备集群执行如第一方面、第二方面或者第三方面的任一种实现方式所述的方法。
第八方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面、第二方面或者第三方面的任一种实现方式所述的方法。
第九方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算设备或计算设备集群执行上述第一方面、第二方面或者第三方面的任一种实现方式所述的方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种应用管理方法的系统架构图;
图2为本申请实施例提供的一种应用创建界面的示意图;
图3为本申请实施例提供的一种规格创建界面的示意图;
图4为本申请实施例提供的一种规格编排界面的示意图;
图5A为本申请实施例提供的一种服务节点标准化的原理示意图;
图5B为本申请实施例提供的一种计算资源节点标准化的原理示意图;
图5C为本申请实施例提供的一种第三方应用服务节点标准化的原理示意图;
图6为本申请实施例提供的一种应用部署界面的示意图;
图7为本申请实施例提供的一种应用管理方法的流程图;
图8为本申请实施例提供的一种应用部署及升级的流程示意图;
图9为本申请实施例提供的一种计算设备集群的结构示意图;
图10为本申请实施例提供的一种计算设备集群的结构示意图;
图11为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
应用,也称作应用软件,具体是包括特定功能的软件程序的集合。根据应用目的不同,应用可以分为办公类、游戏类、休闲娱乐类、工业控制类、金融管理类等不同类型的应用。 例如,办公类型的应用可以包括文本处理器、表格处理器、图像编辑器等应用。又例如,工业控制类型的应用可以包括生产管理系统、物料管理系统等应用。
在本地(具体是指本地硬件,如本地的物理服务器)部署应用通常需要在前期一次性投入计算、存储、安全等软硬件,成本较高,而且扩容较为耗时,难以快速响应业务浪涌。为此可以采用“应用上云”,以实现应用的快速部署和敏捷扩容,如此可以降低部署和运营成本。
应用上云,是指将应用部署到云环境。其中,云环境指示云服务提供商拥有的,用于提供计算、存储、网络资源的计算设备集群。云服务提供商可以提供公有云、私有云或者混合云等不同类型的云环境。
公有云是指资源被不同租户(例如是企业、组织或个人)共享使用的计算设备集群。公有云中的计算、存储、网络资源由第三方云服务提供商拥有和运营,这些资源通过互联网Internet提供给租户。私有云是指资源专供一个企业、组织或个人使用的计算设备集群。混合云是指混合有不同环境的计算设备集群。例如,混合云可以是在公有云基础上结合私有云或本地基础设施的计算设备集群。其中,本地基础设施是指端侧设备,包括智能家电等物联网(Internet of Things,IoT)设备或者是智能手机、平板电脑等终端。使用混合云可以实现在不同环境之间移动数据和应用。
上述公有云、私有云实质上属于中心云,中心云对资源的管控是集中式的资源管控。随着云应用的逐渐增加,集中式的云环境通常难以满足端侧设备“大连接,低时延,大带宽”的云资源需求,为此可以将云环境扩展至距离端侧设备更近的边缘侧,从而实现将一些云服务下沉至边缘侧。边缘侧的设备形成边缘云。边缘云中包括至少一个边缘节点,该边缘节点例如可以为智能站点。边缘云和中心云相互配合,可以实现中心-边缘协同、全网算力调度、全网统一管控等能力。
独立软件开发商(independent software vendor,ISV)在完成应用的开发后,可以将应用的部署和升级交给专业的系统集成(system Integration,SI)商,以完成应用上云。应用上云过程中,考虑到不同客户的需求可以是不同的,系统集成商可以将应用部署到不同云环境中。例如,对于中小企业客户,系统集成商可以将应用部署到公有云;对于大型企业客户,系统集成商可以将应用部署到私有云、公有云以及智能站点(fusion compute,FC)。
然而,当应用需要部署到不同的环境(例如,公有云、私有云、混合云或者是智能站点等不同的云环境)时,在应用开发阶段,具体是应用开发阶段的后期,ISV需要针对不同的部署环境分别进行适配(例如,编排应用依赖的服务以及服务之间的依赖关系),如此增加了ISV的交付压力。而且,在应用部署阶段,不同环境中的安装软件差异较大,系统集成商难以按照统一的方式批量将该应用部署到不同的环境,也增加了系统集成商的部署压力。
有鉴于此,本申请实施例提供了一种应用管理方法。该应用管理方法可以由应用管理系统或应用市场执行。应用管理系统也称作应用管理平台。在一些实施例中,应用管理平台可以是软件系统,计算设备或计算设备集群通过运行该软件系统的程序代码,以执行应用管理方法。在另一些实施例中,该应用管理平台也可以是用于应用管理的硬件系统。类似地,应用市场也可以是软件系统,或者是硬件系统。本申请实施例以应用管理平台、应 用市场为软件系统进行示例说明。
在上云的过程中,可以分为开发阶段、发布阶段和部署阶段。其中,在开发阶段,应用的提供方在完成应用本身的功能或特性的开发后,对上述功能、特性对应的编排节点进行编排,进一步地,应用的提供方还可以在编排之后进行调测,由此完成应用开发;在发布阶段,应用的提供方可以将应用的相关信息提交到应用市场,由应用市场发布应用;在部署阶段,系统集成商或应用的需求方可以在应用市场上选购应用,进而将应用部署到不同的云环境中。
参见图1所示的应用管理方法的系统架构图,开发阶段的应用管理方法可以由第一应用管理平台100执行,发布阶段的应用管理方法可以由第一应用管理平台100和应用市场300市场执行,部署阶段的应用管理方法可以由应用市场300和第二应用管理平台200执行。
第一应用管理平台100可以部署在云环境中,用于提供应用开发等管理功能给第一用户使用。第一应用管理平台100也可以部署在其他环境中,例如部署在终端中,该第一应用管理平台100可以和云环境对接。本申请实施例以第一应用管理平台100部署在云环境中进行示例说明。
第一用户可以是应用的提供方,例如,独立软件开发商ISV。在应用开发阶段,第一用户通过第一应用管理平台100创建应用的规格(specification,spec),得到应用的规格描述信息,并基于第一应用管理平台100提供的编排节点对应用的规格进行编排,得到应用的编排文件,由此实现应用开发。
其中,应用的规格描述信息可以包含该应用的规格,应用的规格可以包括规格名称和规格说明,该规格说明中可以包括应用的容量、对资源的要求等。一个应用可以存在多个规格,为了便于描述,本申请实施例将第一用户当前创建的规格称为第一规格。进一步地,每个规格可以包括一个或多个版本(version)。一个规格的每个版本(例如第一版本和第二版本)可以分别对应一个编排文件。以视频会议场景为例,视频会议应用包括第一规格和第二规格这两种规格,其中第一规格可以为支持100人同时接入会议,该第一规格可以包括两个版本,其中,第一版本的特性包括“共享屏幕”、“电子白板”等功能,第二版本在第一版本的基础上,增加了“实时字幕”和“自动会议纪要”等功能。第二规格可以为支持500人同时接入会议,该第二规格包括一个版本(如,第一版本),该第一版本的特性包括“共享屏幕”、“电子白板”等功能。在这种情况下,视频会议应用可以有三个编排文件,该三个编排文件分别与第一规格的第一版本、第一规格的第二版本以及第二规格的第一版本对应。
需要说明的是,在本申请实施例中,第一应用管理平台100提供的编排节点为标准化的服务节点,基于该标准化的服务节点编排所得的编排文件可以屏蔽公有云、私有云、混合云或边缘云(例如是边缘云中的智能站点)等异构环境(应用所适用的不同的部署环境)的差异,如此,第一用户针对应用所适用的不同的部署环境仅需编排一次,因此,降低了第一用户的交付压力。例如,当上述视频会议应用的第一规格的第一版本适用的环境包括公有云、私有云、混合云和边缘云四种环境时,第一用户仅需对该视频会议应用的第一规格的第一版本编排一次,而无需针对四种环境分别编排。
在应用发布阶段,第一应用管理平台100可以将应用的规格描述信息(例如是第一规格描述信息)和编排文件(例如是第一编排文件)提交至应用市场300,以便于应用市场300发布上述应用。
相应地,应用市场300接收到应用的第一规格描述信息和第一编排文件,可以对外发布应用,以便于第二用户在应用市场300上选购、并触发部署应用的操作。其中,第二用户包括系统集成商SI或者应用需求方(例如是客户)。可选地,应用市场300在对外发布应用之前,还可以对应用进行审核。例如应用市场300可以从合规、安全、质量和开发资质等维度中的任一种或多种,对应用进行审核。应用市场300可以在审核通过后,发布该应用。在一些实施例中,应用市场300审核不通过时,应用市场300还可以返回审核意见,以便于第一用户根据审核意见修改应用的相关信息。
在应用部署阶段,第二用户可以从应用市场300发布的应用中选择目标应用,该目标应用为第二用户请求部署的应用,然后通过应用部署界面配置目标应用的部署信息,该部署信息包括目标部署环境,应用市场300可以根据用户的上述操作,向目标部署环境发送第一编排文件,该第一编排文件记录有目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
相应地,目标部署环境中安装的第二应用管理平台200可以接收目标应用的第一编排文件,解析该第一编排文件,获得目标应用在第一规格下运行所依赖的编排节点以及编排节点之间的依赖关系,然后第二应用管理平台200根据第一编排文件,依次部署目标应用在第一规格下运行所依赖的编排节点,从而实现在目标部署环境中部署应用。
在本申请实施例中,第一编排文件是对标准化的服务节点编排得到,该第一编排文件能够屏蔽公有云、私有云、混合云或边缘云等异构环境的差异,如此,第二用户可以通过一次部署操作,将应用部署到不同环境,实现了应用的批量部署,降低了第二用户的部署压力。
下面结合图1,对第一应用管理平台100、应用市场300和第二应用管理平台200分别进行介绍。
第一应用管理平台100可以包括编排管理子系统102。该编排管理子系统102包括交互模块1022和编排模块1024。交互模块1022用于向用户呈现规格创建界面,接收第一用户通过所述规格创建界面配置的第一规格描述信息。该第一规格描述信息包括应用的第一规格。然后交互模块1022还用于向用户呈现规格编排界面,该规格编排界面承载有多个编排节点,该多个编排节点中的第一编排节点为标准化的服务节点,其中,第一编排节点可以为所述多个编排节点中的任一编排节点。编排模块1024用于响应于所述第一用户从所述多个编排节点中选择目标编排节点的操作,生成所述应用的第一编排文件。应用的第一编排文件记录有所述应用在第一规格下运行依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系。交互模块1022还用于向应用市场300提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场300发布所述应用。
在一些可能的实现的方式中,在呈现规格创建界面之前,交互模块1022还可以呈现应用创建界面。参见图2所示的应用创建界面的示意图,应用创建界面20承载有应用配置组 件,该应用配置组件包括至少一个应用配置控件,第一用户可以通过至少一个应用配置控件配置应用介绍信息,以创建相应的应用。在该示例中,应用配置控件包括名称配置控件21、图标配置控件22、行业配置控件23、场景配置控件24中的至少一种,第一用户可以通过名称配置控件21配置应用名称,通过图标配置控件22配置应用logo,通过行业配置控件23配置应用所属行业,通过场景配置控件24配置应用所属场景。进一步地,应用配置控件还可以包括其他信息配置控件25。第一用户可以通过其他信息配置控件25配置除了上述信息之外的应用介绍信息,例如可以为应用支持的特性或功能,应用的开放者信息等。其中,应用创建界面20还可以包括确定控件26和取消控件27,当确定控件26被触发时,可以触发创建应用的操作,当取消控件27被触发时,可以取消创建应用的操作。
当第一用户触发确定控件27时,交互模块1022可以呈现第一用户创建的应用。第一用户可以触发进入应用详情界面,以创建应用的第一规格。其中,应用详情界面展示有应用的规格清单,该规格清单可以是列表的形式,规格清单可以包括第一用户已创建的规格。应用详情界面还可以承载规格创建控件,第一用户可以通过规格创建控件触发应用的规格创建操作。交互模块1022可以响应于第一用户触发的规格创建操作,向第一用户呈现规格创建界面。
参见图3所示的规格创建界面30的示意图,规格创建界面30承载有规格配置组件,该规格配置组件包括至少一个规格配置控件,第一用户可以通过至少一个规格配置控件配置规格描述信息,以创建相应的规格。例如第一用户可以配置第一规格描述信息,以创建应用的第一规格。第一规格描述信息包括第一规格,其中,第一规格包括规格名称和规格说明。第一规格描述信息还可以包括第一规格的适用环境、提前部署能力、第一规格的第一版本的版本号中的一种或多种。其中,适用环境为从异构环境中选择得到。异构环境可以包括公有云、私有云、混合云或边缘云中的一种或多种。例如,异构环境可以包括不同云服务提供商的公有云,又例如,异构环境可以包括同一云服务提供商提供的公有云和私有云。
在该示例中,规格配置控件包括名称配置控件31、适用环境配置控件32和规格说明配置控件33。第一用户可以通过名称配置控件31配置应用的第一规格的规格名称,例如规格名称可以为送餐机器人管理-标准规格,然后第一用户可以通过适用环境配置控件32配置应用的第一规格适用的部署环境,例如可以为公有云、私有云、混合云或者边缘云中的一种或多种,并通过规格说明配置控件33配置应用的第一规格的规格说明,该规格说明例如可以为:支持10万送餐机器人设备同时接入和在线;单机器人设备上报数据的最大数据量:100事务/秒(transaction per second,TPS);每条数据的最大数据量为2兆字节(megabyte,MB);支持应用同时下发指令的最大数量:50TPS;每条指令的最大数据量:2千字节(kilobyte,KB)。
进一步地,规格创建界面30还可以包括部署配置控件34。部署配置控件34用于配置提前部署能力,例如支持第一用户选择是否提前部署。提前部署是指提前将应用部署到配套的资源上,将可运行的实例发放给第二用户。规格创建界面30还可以包括版本号配置控件35,第一用户可以通过版本号配置控件35配置第一规格的第一版本的版本号。其中,规格创建界面30还可以包括确定控件36和取消控件37,当确定控件36被触发时,可以 创建应用的第一规格,当取消控件37被触发时,可以取消创建应用的第一规格。
在该示例中,规格创建界面30以弹窗方式显示在应用详情界面之上,在一些实施例中,规格创建界面30也可以是独立显示的界面。本申请实施例对此不作限制。
当第一用户触发确定控件36时,交互模块1022可以呈现规格编排界面。参见图4所示的规格编排界面的示意图,规格编排界面40包括编排节点展示区域41、编排区域42和参数配置区域43,上述三个区域可以分别位于编排界面40的左、中、右三个区域。需要说明的是,编排界面40可以先呈现编排节点展示区域41和编排区域42,当用户从编排节点展示区域41展示的多个编排节点中选择编排节点至编排区域42(例如,通过拖拽等操作将编排节点展示区域41展示的编排节点拖拽至编排区域42),并选择(例如,通过点击方式选择)编排区域42中的编排节点以触发对编排节点的参数配置操作时,可以再显示参数配置区域43。
编排节点展示区域41包括多个编排节点,该多个编排节点中的每个编排节点为标准化的服务节点。其中,标准化的服务节点包括标准化的基础设施即服务(Infrastructure as aService,IaaS)层节点、标准化的PaaS(platform as a service,IaaS)层节点和标准化的软件即服务(software as a service,SaaS)层节点。
IaaS层节点包括计算资源节点、网络资源节点和存储资源节点。其中,计算资源节点包括弹性计算服务(Elastic Compute Service,ECS)和虚拟机(virtual machine,VM)中的一种或多种;网络资源节点包括虚拟私有云(virtual private cloud,VPC)、子网(subnet)、网络地址转换(Network Address Translation,NAT)、弹性负载均衡(elastic load balance,ELB)和弹性公网IP(Elastic IP,EIP)中的一种或多种;存储资源节点包括弹性块存储服务(elastic volume service,EVS)和对象存储服务(object storage service,OBS)。
其中,ECS是一种处理能力可弹性伸缩的云服务器,能够自动调整处理能力以满足业务需求,VM是一种创建于物理硬件系统、充当虚拟计算机系统的虚拟环境,它模拟出了自己的整套硬件,包括处理器、内存、网络接口和存储器。VPC用于在公有云上模拟本地局域网的特点,使得本地服务上云后,能够设置与本地局域网类似的网络环境,本地服务甚至不需要修改自身的私网地址。子网用于对VPC进行分区,从而实现将一个网络划分为若干个小网络(即子网)。EIP提供独立的公网IP资源,从而提供访问公网和被公网访问的能力。NAT是指在IP数据包通过路由器或防火墙时重写源IP地址或目的IP地址,NAT被广泛应用于多台主机通过一个公网IP访问互联网的私有网络(例如是虚拟私有云)中。ELB是将访问流量根据分配策略分发到后端多台服务器的流量分发控制服务,通过流量分发可以扩展应用对外的服务能力,消除单点故障,提升应用的可用性。
PaaS层节点包括应用容器引擎节点、数据库、容器集群(cluster)、Nginx负载均衡、网关、统一鉴权管理(Identity and Access Management,IAM)、容器镜像仓库(SoftWare Repository for Container,SWR)中的一种或多种。
其中,应用容器引擎节点也称作云容器引擎(cloud container engine,CCE)节点,CCE节点提供高度可扩展的、高性能的kubernetes(简称为K8S)集群。CCE节点可以用于在云环境中部署、管理和扩展容器化应用。数据库例如可以是关系数据库服务(relational database service,RDS),是一种弹性伸缩、便捷管理的在线云数据库服务,支持MySQL、 PostgreSQL、SQL Server等多种引擎。容器集群cluster指容器运行所需要的云资源组合,关联了若干云服务器节点以及负载均衡等云资源。Nginx负载均衡是指基于Nginx实现的负载均衡。Nginx是一种基于C语言实现的高性能web服务器,通过负载均衡算法如轮询、IP哈希等实现负载均衡。网关具体可以是应用程序接口网关(application programming interface gateway,APIGW),APIGW提供高性能、高可用、高安全的API托管服务,可以用于内部系统集成、业务能力开放。IAM提供身份认证和权限管理功能,可以用于控制服务和资源的访问权限。SWR是一种支持容器镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。
SaaS层节点包括配置存储(configMap)节点、deployment节点、有状态statefulset节点、网络集群服务节点、ingress节点、命名空间(namespace)节点、基于角色的鉴权控制(Role-Based Access Control,RBAC)节点中的一种或多种。
其中,configMap节点用于存储其他SaaS层节点被编排时支持修改的参数,通常可以采用键值对(key-value)的形式进行表达,其他SaaS节点可以引用configMap节点存储的数据进行参数配置。deployment节点是针对无状态服务扩容或缩容而设计的节点,deployment节点包括一个或多个pod副本,每个pod副本具有相同的功能,deployment节点可以根据业务需求增加或删减pod副本,以实现扩容或缩容,进而提升无状态服务的可靠性和稳定性。statefulset节点是针对有状态服务扩容或缩容而设计的节点,statefulset节点包括多个pod副本,每个pod副本有独立的状态,通过独立的存储单元对上述状态进行存储。网络集群服务节点可以是接口路由服务节点,该节点可以用于将第三方应用的一些服务如有状态服务或者无状态服务开放给外部访问。ingress节点为网络负载服务节点,用于提供负载访问的能力,例如ingress节点可以配置用于提供外部可访问的服务的统一定位符(Uniform Resource Locator,URL)。命名空间节点用于为应用与应用或者应用的服务之间提供逻辑隔离能力。RBAC用于设置一些权限控制策略,通过角色和权限的控制,提供不同权限的访问能力,满足权限控制要求。
SaaS层节点还可以包括输入(input)节点和输出(output)节点。其中,input节点用于解决应用部署需要的一些自定义参数,该自定义参数可以采用key-value格式,第一用户在编排时可以填写默认参数。当应用发布后,如果编排文件中有input节点,在进入部署流程后,第二应用管理平台可以展示这些自定义参数,第二用户(例如是客户或者SI)可以根据实际的部署环境调整自定义参数,如果默认自定义参数设置合理,则可以不修改上述自定义参数。output节点用于解决应用部署过程中一些节点部署后需要输出的参数。举例说明,在部署一个应用后,要求输出应用的访问地址和端口,则应用编排时,编排文件的最后一个节点就是output节点,该output节点依赖上一个节点,如此output节点的上一个节点的部署结果就会输出到output节点中。
在一些可能的实现方式中,服务节点还可以包括其他层节点,例如是函数即服务(function as a service,FaaS)层节点。其中,FaaS层节点可以包括脚本执行(ScriptExecuter)节点、文件上传(fileUpload)节点。其中,脚本执行节点用于执行应用的脚本,文件上传节点用于上传文件,例如是编排文件。
第一用户可以从编排节点展示区域41选择(例如,通过拖拽)多个编排节点至编排区 域42。其中,被拖拽至编排区域42的编排节点称作目标编排节点。第一用户可以通过右侧的参数配置区域43对编排区域42中的目标编排节点进行参数配置,由此可以实现目标编排节点的实例化。需要说明,不同编排节点被编排时支持修改的参数可以是不同的。基于此,当第一用户触发对不同目标编排节点的参数配置操作时,右侧参数配置区域43呈现的参数可以是不同的。
以目标编排节点为标准化的计算资源节点对参数配置过程进行示例说明。针对标准化的计算资源节点,参数配置区域43呈现的参数包括节点名称、ECS名称、CPU架构、规格类型、镜像来源、系统盘类型、系统盘大小、数据盘类型和数据盘大小等参数中的一种或多种。其中,节点名称具体是指目标编排节点实例化的名称,在该示例中,节点名称配置为iotda-worker-0003,ECS名称具体是指安装部署ECS的名称,ECS名称可以和节点名称相同。CPU架构支持主流架构,例如可以配置为x86架构或者高级精简指令集机器(Advanced RISC Machine,ARM)架构。其中,x86架构还可以分为32位(x86-32)架构和64位(x86-32)架构。规格类型可以配置为通用型或者一些特定的规格类型。镜像来源可以配置为公开的标准化镜像、非公开的标准化镜像、公开的非标准化镜像或者非公开的非标准化镜像。其中,标准化镜像为通用的操作系统镜像。系统盘类型包括多种,例如包括硬盘驱动器(hard disk drive)或者固态驱动器(solid state drive,SSD)。在该示例中,第一用户可以将系统盘类型配置为SSD,系统盘大小可以根据业务需求设置,例如第一用户可以将系统盘大小配置为1太字节(terabyte,TB)。类似地,第一用户可以根据业务需求设置数据盘类型和数据盘大小。
此外,第一用户还可以通过箭头连接实例化的目标编排节点,其中,箭头方向可以指向被依赖的目标编排节点,如此可以表示目标编排节点之间的依赖关系。
相应地,编排模块1024可以响应于第一用户对目标编排节点的连接操作,获得目标编排节点(具体是实例化的目标编排节点)之间的依赖关系,根据目标编排节点之间的依赖关系生成应用的第一编排文件。其中,应用的第一编排文件记录有应用在第一规格下运行依赖的目标编排节点以及目标编排节点之间的依赖关系。
在一些可能的实现方式中,规格编排界面40还可以包括保存控件44。当第一用户编排完毕后,还可以通过规格编排界面40中的保存控件44触发保存操作,以设定格式保存编排文件。其中,设定格式可以包括一种或多种格式,例如设定格式可以包括不同云服务提供商指定的格式。
在保存编排文件后,第一用户还可以触发规格编排界面40的发布控件45,编排管理子系统102的交互模块1022可以响应于第一用户的操作,提交应用的第一编排文件以及第一规格描述信息,以使得应用市场300发布应用。
其中,第一应用管理平台100对应用的第一规格进行编排依赖于服务节点的标准化。基于此,第一应用管理平台100还可以包括节点管理子系统104。节点管理子系统104用于对服务节点进行标准化。
具体地,节点管理子系统104包括交互模块1042和标准化模块1044。参见图5A所示的服务节点标准化的原理图,交互模块1042获取标准化信息,标准化模块1044用于根据标准化信息创建标准化的服务节点。其中,标准化模块1044可以创建节点适配层,将标准 化信息存储在节点适配层,以适配不同部署环境。标准化模块1044可以根据节点适配层中的标准化信息屏蔽不同环境(例如是公有云、私有云、混合云、边缘云)的差异,创建标准化的服务节点。需要说明的是,不同云服务提供商提供的同一类型的云环境也可以存在差异,例如不同云服务提供商提供的公有云也可以是异构环境,标准化模块1044可以根据标准化信息屏蔽不同云服务商提供的云环境的差异。
在一些可能的实现方式中,IaaS层节点或PaaS层节点可以根据通用的标准化信息创建得到。为了便于描述,本申请实施例将通用的标准化信息称作第一标准化信息。第一标准化信息可以是管理员预先配置的。该管理员可以是第一应用管理平台100的管理员。第一标准化信息包括操作系统镜像、异构环境中每种环境的接入地址、异构环境中每种环境下的资源申请接口。可选地,第一标准化信息还可以包括节点被编排时支持修改的参数。当编排节点采用默认参数时,第一标准化信息也可以不包括节点被编排时支持修改的参数。下面对一些IaaS层节点和PaaS层节点的标准化过程进行示例说明。
针对IaaS层的节点,以计算资源节点的标准化为例进行说明。参见图5B所示的计算资源节点标准化的原理图,该计算资源节点的节点适配层也称作ECS适配层,计算资源节点的标准化过程可以为:对于公有云(例如包括不同云服务提供商的公有云)的ECS、智能站点的VM、混合云的ECS和私有云的ECS,在该ECS或VM上安装需要的软件或服务,接着基于统一的操作系统制作操作系统镜像(也称作VM镜像)。管理员可以配置操作系统镜像、异构环境中每种环境的接入地址、异构环境中每种环境下的资源申请接口和节点被编排时支持修改的参数。节点管理子系统104可以创建ECS适配层,将上述操作系统镜像、异构环境中每种环境的接入地址、异构环境中每种环境下的资源申请接口和节点被编排时支持修改的参数保存在ECS适配层,以创建标准化的ECS。
针对PaaS层的节点,以CCE节点的标准化为例进行说明。节点管理子系统104还可以结合第二标准化信息进行标准化。第二标准化信息包括容器管理平台安装包、容器安装包以及容器启动参数。其中,容器管理平台安装包可以为K8S安装包,K8S安装包可以包括kubeadm、kubelet和kubectl。容器安装包可以为docker安装包。容器配置参数可以包括docker启动方式,该启动方式被配置为随机启动,且在关闭swap/防火墙/selinux等安全组件的情况下启动。CCE节点的标准化过程可以为:管理员配置第二标准化信息。节点管理子系统104创建CCE适配层(即CCE节点的节点适配层),将该第二标准化信息保存在CCE适配层,从而实现根据第一标准化信息和第二标准化信息,创建标准化的CCE节点。其中,第二标准化信息中的容器管理平台安装包、容器安装包也可以预置在操作系统镜像中。
针对PaaS层的节点,再以容器镜像仓库SWR的标准化为例进行介绍。不同的云服务提供商提供了不同的容器镜像存储机制,容器镜像的访问接口也存在一定差异,节点适配层中的SWR适配层可以提供适配各个云服务提供商的镜像仓库软件包,以实现标准化。SWR的标准化流程可以为:管理员可以配置适配不同云服务提供商的镜像仓库软件包,节点管理子系统104创建SWR适配层,将适配各个云服务提供商的镜像仓库软件包保存在SWR适配层中,从而创建标准化的SWR。其中,适配智能站点和混合云的镜像仓库软件包也可以预置在操作系统镜像中。还需要说明的是,该镜像仓库软件包被配置为安装后开 机自启动,并且是在关闭swap/防火墙/selinux等安全组件时启动,启动时自动获取网卡IP。
SaaS层节点可以分为原生云服务节点和第三方应用服务节点。其中,原生云服务节点的标准化过程可以参考IaaS层节点和PaaS层节点,在此不再赘述。参见图5C所示的第三方应用服务节点的标准化原理图,第三方应用服务节点的节点适配层可以为接口路由服务节点,例如是APIGW。第三方应用服务节点的标准化过程可以为:该第三方应用服务的开发商(例如,第三方应用的提供方)配置第三方应用服务开放的接口,可选地,第三方应用服务的开发商还可以配置标准化的第三方应用服务节点被编排时支持修改的参数,节点管理子系统104可以创建APIGW,将第三方应用服务开放的接口以及标准化的第三方应用服务节点被编排时支持修改的参数注册在APIGW中,从而实现根据第三方应用服务开放的接口以及标准化的第三方应用服务节点被编排时支持修改的参数创建标准化的第三方应用服务节点。在一些实施例中,第三方应用服务的开发商还可以配置上述接口的功能,以便上述节点上线后可以呈现接口的功能。其中,第三方应用服务的开发商配置完成上述接口以及参数后可以提交上述接口和参数给管理员审核,管理员审核通过后,节点管理子系统104可以发布标准化的第三方应用服务节点。具体地,标准化的第三方应用服务节点可以作为编排节点出现在编排节点展示区域41,以便于第一用户进行规格编排时使用。
接下来,对应用市场300的结构进行说明。应用市场300包括交互模块302和管理模块304。交互模块302用于向第二用户呈现应用部署界面,接收第二用户通过应用部署界面配置的目标应用的部署信息。其中,目标应用为第二用户请求部署的应用,部署信息包括目标部署环境。管理模块304用于确定第一编排文件,该第一编排文件为目标应用的编排文件。交互模块302还用于向目标部署环境发送第一编排文件。
为了便于理解,下面结合具体示例进行说明。参见图6所示的应用部署界面600的示意图,该应用部署界面600包括类型控件601以及推荐应用列表602,推荐应用列表602中包括应用市场300发布的若干应用,这些应用可以是下载量高或者评分高的应用。其中,应用部署界面600展示有上述应用的应用名称、应用logo或应用的其他介绍信息。第二用户可以浏览上述应用介绍信息,在确定推荐应用列表602包括想要部署的目标应用时,可以通过点击部署控件603触发部署操作,应用部署界面600可以响应于第二用户的上述操作,显示部署环境配置控件604,例如通过弹窗方式显示部署环境配置控件604,第二用户通过该部署环境配置控件604配置目标应用的目标部署环境,该目标部署环境例如可以是混合云和智能站点。管理模块304可以从目标应用的编排文件中确定第一编排文件,交互模块302可以向混合云和智能站点等目标部署环境分别发送对应的第一编排文件,以便在目标部署环境根据上述第一编排文件部署目标应用。
应用部署界面600还可以包括搜索控件605。当第二用户想要部署的目标应用不在推荐应用列表602中时,也不在任一类型控件601对应的类型应用列表(图中未示出)时,第二用户可以通搜索控件605搜索目标应用,应用部署界面600可以根据第二用户的搜索操作展示搜索结果,然后第二用户可以从搜索结果中触发部署目标应用的操作。
需要说明的是,应用市场300还可以包括审核模块306。应用市场300发布的应用可以是经审核模块306审核通过的应用。例如,在上述应用在应用市场300上发布之前,审核模块306用于根据第一应用管理平台100提交的应用的第一编排文件以及第一规格描述 信息对应用进行审核。具体实现时,审核模块306可以从合规、安全、质量以及开发资质中的一个或多个维度对应用进行审核。审核通过后,应用在应用市场300上发布。
第二应用管理平台200可以安装在目标部署环境。第二应用管理平台200包括交互模块202、编排引擎204和部署模块206。交互模块202用于接收目标应用的第一编排文件,编排引擎204用于解析第一编排文件,获得目标应用在第一规格下运行依赖的多个编排节点以及多个编排节点之间的依赖关系,其中,多个编排节点中的每个编排节点可以为一种标准化的服务节点。部署模块206用于根据所述第一编排文件,具体是第一编排文件记录的目标应用依赖的编排节点以及所述编排节点之间的依赖关系,在目标部署环境上依次部署所述编排节点,以部署所述目标应用。
在一些可能的实现方式中,第二应用管理平台200还可以包括升级模块208。升级模块208用于对目标应用进行升级。其中,第一编排文件记录有目标应用在第一规格下运行所依赖的编排节点以及编排节点之间的依赖关系。在一些实施例中,交互模块202还用于接收所述目标应用的第二编排文件,该第二编排文件记录有目标应用在第二规格下运行所依赖的编排节点和编排节点之间的依赖关系,编排引擎204还用于解析第二编排文件,获得节点变更信息和/或所述依赖关系变更信息,所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化,升级模块206用于根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到第二规格。在另一些实施例中,第一编排文件记录有目标应用在第一规格的第一版本下运行所依赖的编排节点以及编排节点之间的依赖关系;在这种情况下,交互模块202还用于接收目标应用的第三编排文件,该第三编排文件记录有目标应用在第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;升级模块208用于根据所述第三编排文件,将所述目标应用升级到第一规格的第二版本。
上文对第一应用管理平台100、第二应用管理平台200以及应用市场300的结构进行了详细说明,下面从交互的角度对本申请实施例的应用管理方法进行介绍。
参见图7所示的应用管理方法的流程图,该方法包括:
S702:第一应用管理平台100接收管理员配置的标准化信息。
S704:第一应用管理平台100根据标准化信息,创建标准化的服务节点。
具体地,第一应用管理平台100可以对IaaS层节点、PaaS层节点和SaaS层节点进行标准化,得到标准化的服务节点,该标准化的服务节点包括标准化的IaaS层节点、标准化的PaaS层节点和标准化的SaaS层节点。第一应用管理平台100通过接收该第一应用管理平台100的管理员配置的标准化信息,并利用该标准化信息对异构环境如异构云中的相应节点进行标准化,可以为编排标准化奠定基础,从而使得第一用户可以通过一次编排得到将应用部署到到异构环境的编排文件。
针对第三方应用服务节点,第一应用管理平台100还可以接收第三方应用服务的开发商配置的第三方应用服务开放的接口以及标准化的第三应用服务节点被编排时支持修改的参数,并根据上述接口和参数等标准化信息创建标准化的第三方应用服务节点。
其中,标准化的IaaS层节点、标准化的PaaS层节点和标准化的SaaS层节点的具体过程可以参考前文在介绍节点管理子系统104中的相关描述,不在赘述。
S706:第一应用管理平台100向第一用户呈现应用创建界面,接收第一用户通过应用创建界面配置的应用介绍信息。
第一应用管理平台100在生成编排节点后,可以支持第一用户根据编排节点对应用的第一规格进行编排,由此实现高效的、低门槛的应用开发。
具体地,第一应用管理平台100向第一用户呈现应用创建界面,以支持第一用户创建应用。参见图2所示的应用创建界面20的示意图,第一用户可以通过应用创建界面20上承载的各种应用配置控件,如名称配置控件21、图标配置控件22、行业配置控件23、场景配置控件24,配置应用名称、应用logo、应用所属行业、应用所属场景等应用介绍信息,当然,第一用户还可以通过其他信息配置控件25配置除上述信息之外的其他应用介绍信息,例如可以包括应用支持的特性或功能,应用的开放者信息等。如此可以实现创建应用。
S708:第一应用管理平台100向第一用户呈现创建的应用,响应于第一用户对应用的详情查看操作,向第一用户呈现应用详情界面。
当第一用户在应用创建界面完成应用介绍信息的配置,并触发应用创建操作时,第一应用管理平台100可以向第一用户呈现创建的应用。该应用可以包括第一用户创建的一个或多个应用。用户可以触发对应用的详情查看操作,向第一用户呈现应用的应用详情界面。
需要说明的是,执行本申请实施例的应用管理方法也可以不执行上述S708,例如,第一应用管理平台100可以在创建应用后直接执行S710以进入规格创建界面,创建应用的第一规格。
S710:第一应用管理平台100响应于第一用户通过应用详情界面触发的规格创建操作,向第一用户呈现规格创建界面,接收第一用户配置的第一规格描述信息。
应用详情界面展示有应用的规格清单。该规格清单可以是列表的形式。规格清单中包括第一用户已创建规格。其中,第一用户首次创建应用的规格时,该规格清单可以为空。应用详情界面还包括规格创建控件,第一用户可以通过规格创建控件触发规格创建操作,第一应用管理平台100响应于第一用户的规格创建操作,向第一用户呈现规格创建界面。
具体参见图3所示的规格创建界面30的示意图,规格创建界面30承载有各种规格创建控件,第一应用管理平台100可以接收第一用户通过上述规格创建控件配置的第一规格描述信息。该第一规格描述信息包括第一规格。第一规格包括规格名称和规格说明。规格说明可以用于说明应用的容量、对资源的需求等。在一些实施例中,第一规格描述信息还可以包括第一规格的适用环境、第一规格的第一版本的版本号等中的一种或多种。
S712:第一应用管理平台100向第一用户呈现规格编排界面,响应于第一用户对目标编排节点的操作,生成应用的第一编排文件。
当第一用户在规格创建界面30配置完第一规格描述信息,可以触发确定控件37,第一应用管理平台100可以响应于第一用户的上述操作,向第一用户呈现规格编排界面。参见图4所示的规格编排界面40的示意图,该规格编排界面40包括编排节点展示区域41和编排区域42。
编排节点展示区域41包括多个编排节点,第一用户可以从编排节点展示区域41选择 (例如,拖拽)若干编排节点至编排区域42,被选择至编排区域42的编排节点即为目标编排节点。第一用户可以执行对目标编排节点的连接操作或参数配置操作。其中,第一用户可以点击编排区域42中的目标编排节点,编排界面40可以显示对应的参数配置区域42,第一用户可以在参数配置区域42执行对该目标编排节点的参数配置操作。
第一应用管理平台100可以响应于第一用户对目标编排节点的连接操作,获得目标编排节点之间的依赖关系,根据目标编排节点之间的依赖关系生成第一编排文件。第一应用管理平台100也可以根据目标编排节点的参数,生成应用的第一编排文件,具体过程可以参见图1所示实施例相关内容描述,在此不再赘述。
由于第一应用管理平台100提供的编排节点为标准化的服务节点,基于该标准化的服务节点编排所得的编排文件可以屏蔽公有云、私有云、混合云或边缘云等异构环境的差异,如此,第一用户可以实现针对不同部署环境,仅编排一次,降低了第一用户的交付压力。
S714:第一应用管理平台100向应用市场300提交应用的第一编排文件和第一规格描述信息。
在一些可能的实现方式中,第一应用管理平台100还可以向应用市场300提交应用的应用介绍信息。类似地,第一应用管理平台100还可以向应用市场300提交应用的软件包,该软件包中包括应用依赖的服务对应的程序代码。
S716:应用市场300根据应用的第一编排文件和第一规格描述信息对应用进行审核,并在审核通过后发布应用。
应用市场300可以根据应用的第一编排文件和第一规格描述信息,从合规、安全、质量和开发者资质中的一个或多个维度对应用进行审核。当应用市场300还接收有应用介绍信息和软件包时,还可以结合应用介绍信息和软件包进行审核。
其中,从合规维度进行审核是指审核应用是否符合相关规定或政策,例如,应用市场300可以审核应用的第一编排文件、第一规格描述信息以及应用描述信息、软件包中是否包括敏感词。
从安全维度进行审核是指审核应用的软件包是否包括病毒或木马等。具体地,应用市场300可以通过扫描代码的方式审核应用的软件包是否包括病毒或木马,从而确定应用是否安全。
从质量维度进行审核是指审核应用的质量。具体地,应用市场300可以获取应用的测试报告,从而确定应用的质量。在一些实施例中,应用市场300还可以实时测试应用,从而获得应用的质量。
从开发资质维度进行审核是指审核应用的开发的资质。具体地,应用市场300可以获取应用的开发资质信息,例如从应用描述信息中获得该应用的开发资质信息,然后确定应用的开发者是否具有该应用市场300规定的开发资质。
需要说明的是,在一些实施例中,应用市场300也可以不审核应用,直接发布应用。例如,第一用户为可信任的用户时,应用市场300可以直接发布应用。应用市场300可以呈现应用的应用介绍信息、第一规格描述信息,从而实现发布应用。
在一些可能的实现方式中,第一应用管理平台100还可以将应用进行标准化。具体地,第一应用管理平台100可以通过询问方式请求第一用户的授权,并在获得第一用户的授权 后,将应用标准化。
应用标准化的过程可以为,第一应用管理平台100可以接收第一用户配置的该应用开放的接口以及该应用对应的编排节点被编排时支持修改的参数,然后根据应用开放的接口以及应用对应的编排节点被编排时支持修改的参数进行标准化,得到应用对应的编排节点。为了便于描述,该编排节点也称作第二编排节点。第一应用管理平台100可以在已有的多个编排节点中增加该第二编排节点,当再次呈现规格编排界面时,该规格编排界面上包括该第二编排节点,以便于其他应用的提供方使用该第二编排节点创建其他应用的编排文件。如此可以提高其他应用的开发效率。
在一些可能的实现方式中,第一应用管理平台100可以向所述第一用户呈现推荐页面。该推荐页面指示推荐将所述应用标准化。其中,推荐页面可以包括标准化控件。第一用户可以通过该标准化控件触发对应用的标准化操作,第一应用管理平台100可以响应于第一用户通过所述推荐页面触发的对所述应用的标准化操作,将所述应用标准化,从而得到所述第二编排节点。
S718:应用市场300向第二用户呈现应用部署界面,接收第二用户通过应用部署界面配置的目标应用的部署信息。
应用市场300可以向第二用户呈现应用部署界面,以便于第二用户从应用部署界面选择要部署的目标应用,并配置目标应用的部署信息。该部署信息例如可以是目标部署环境。目标部署环境可以是公有云、私有云、混合云或边缘云中的一个或多个。其中,公有云、私有云、混合云或边缘云等还可以按照云服务提供商进一步划分,例如可以分为第一方云(第一应用管理平台100的云服务提供商所提供的云环境)、第三方云(其他云服务提供商所提供的云环境)。。
S720:应用市场300发送第一编排文件至目标部署环境中的第二应用管理平台200。
应用市场300可以先确定第一编排文件,然后将第一编排文件发送至目标部署环境中的第二应用管理平台200。应理解,在该实施例中,第二用户配置的目标部署环境可以包括多个部署环境(例如,一个公有云,一个私有云等),应用市场300可以将第一编排文件分别发送至所述目标部署环境中的各个部署环境。
其中,应用市场300确定第一编排文件可以包括多种实现方式。下面分别对多种实现方式进行示例说明。
第一种实现方式,部署信息还包括目标应用的第一规格描述信息,应用市场300可以根据第一规格描述信息从所述目标应用的编排文件中确定与该第一规格描述信息中的第一规格匹配的所述第一编排文件。该第一编排文件中记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。其中,第一规格描述信息还可以包括第一规格的第一版本的版本号,应用市场300可以根据第一规格描述信息,从目标应用的编排文件中确定与第一规格的第一版本匹配的第一编排文件。该第一编排文件中记录有目标应用在第一规格的第一版本下运行所依赖的编排节点以及编排节点之间的依赖关系。
第二种实现方式,应用市场300可以获取目标应用的各个规格的规格描述信息,例如包括第一规格描述信息,该第一规格描述信息中记录有第一规格的适用环境,然后应用市 场300根据各个规格的规格描述信息中记录的适用环境和目标部署环境,确定第一编排文件。该第一编排文件为目标应用的第一规格的编排文件,该第一规格的适用环境包括上述目标部署环境。
应理解,发布在应用市场300上的应用可以包含多种规格,例如,包含第一规格和第二规格。当第二用户只选择部署第一规格时,第一编排文件可以是一个(例如,当应用的第一规格仅包含一个版本时)或多个(例如,当应用的第一规格包含多个版本时)。当第二用户选择部署第一规格和第二规格时,在上述基础上,应用市场300还可以根据该第二规格确定第二编排文件,并将该第二编排文件发送至第二用户选择的目标部署环境上。其中,第二编排文件也可以是一个(例如,当应用的第二规格仅包含一个版本时)或多个(例如,当应用的第二规格包含多个版本时)。还应理解,不管是上述哪种情况,当第二用户选择的目标部署环境包括多个时,应用市场300可以将最终确定的编排文件分别发送至所述目标部署环境中的各个部署环境。S722:第二应用管理平台200通过编排引擎解析第一编排文件,获得目标应用依赖的编排节点以及编排节点之间的依赖关系。
第二应用管理平台200在接收到第一编排文件后,可以调用编排引擎,该编排引擎也称作解析引擎、驱动引擎(driver engine)或代理(agent),解析第一编排文件,获得目标应用依赖的编排节点以及编排节点之间的依赖关系。其中,多个编排节点中的每个编排节点可以通过该编排节点的节点类型和参数进行描述,其中,该参数可以是默认参数,或者是第一用户配置的参数。
为了便于理解,下面以一个编排节点进行示例说明。该编排节点的节点类型可以是计算资源节点,也就是说,该编排节点用于表征标准化的计算资源节点。该编排节点的参数采用如下键值对表示:
节点名称:iotda-worker-0003;
ECS名称:iotda-worker-0003;
CPU架构:x86-64;
规格类型:通用型;
镜像来源:公开的标准化镜像;
系统盘类型:SSD;
系统盘大小:1TB;
数据盘类型:SSD;
数据盘大小:10TB。
需要说明的是,第二应用管理平台200可以由该第二应用管理平台200的管理员或目标部署环境的管理员在目标部署环境上安装。第二应用管理平台200的管理员或者目标部署环境的管理员可以预先在目标部署环境安装上述编排引擎,也可以是在第二用户触发应用部署操作时安装上述第二应用管理平台200。考虑到安装效率以及用户体验,第二应用管理平台200的管理员或目标部署环境的管理员可以预先安装第二应用管理平台。
进一步地,第二应用管理平台200安装完成后,还可以向应用市场300发起建立连接的请求,与应用市场300建立连接。相应地,第二应用管理平台200可以通过上述连接接收目标应用的第一编排文件。
S724:第二应用管理平台200根据第一编排文件,在目标部署环境上依次部署目标应用运行所依赖的编排节点。
具体地,第二应用管理平台200可以根据多个编排节点之间的依赖关系,确定多个编排节点的部署顺序,其中,被依赖的编排节点的优先级高于依赖的编排节点。然后第二应用管理平台200可以根据多个编排节点的部署顺序,在目标部署环境上依次部署编排节点,从而实现部署目标应用。
其中,第二应用管理平台200部署编排节点时,可以通过相应的镜像实现。以部署标准化的ECS为例,第二应用管理平台200可以在目标部署环境上安装操作系统镜像,然后根据ECS适配层记录的异构环境中每种环境的接入地址以及异构环境中每种环境下的资源申请接口和节点被编排时支持修改的参数等信息,调用相应的资源申请接口创建ECS实例,并根据上述参数配置该ECS实例,设置ECS实例引用的地址为相应环境的接入地址,由此实现部署标准化的ECS。
需要说明的是,如果编排节点部署到边缘云,由于已购买相应的物理服务器,无需再购买云服务器,第二应用管理平台200可以自动申请需要的资源,如计算资源、网络资源、存储资源,提升远程操作和批量部署效率。
由于第一编排文件是对标准化的服务节点编排得到,该第一编排文件能够屏蔽公有云、私有云、混合云或边缘云等异构环境的差异,如此,第二用户可以通过一次部署操作,将应用部署到不同环境,实现了应用的批量部署,降低了第二用户的部署压力。
在一些可能的实现方式中,第一用户还可以对已在应用市场上发布的应用进行更新。其中,应用的更新可以分为规格内更新和跨规格更新。规格内更新是指将应用的一个规格从一个版本更新到另一个版本,例如,将应用的第一规格的第一版本更新为第一规格的第二版本,跨规格更新是指将应用从一个规格更新为另一个规格,例如从第一规格的V2版本更新为第二规格的V1版本,或者从第一规格的V1版本更新为第二规格的V1版本。
第一用户可以基于应用已有的编排文件,来编辑生成更新后的应用的编排文件,下面分别对规格内更新和跨规格更新进行示例说明。
第一种情况,第一应用管理平台100可以获取第二规格描述信息,以及在规格编排界面中打开第一编排文件,根据第一用户对第一编排文件的修改获得第二编排文件。其中,第二规格描述信息包括第二规格,第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息。然后第一应用管理平台100可以向应用市场300提交第二编排文件以及第二规格描述信息,以便于在应用市场300更新应用的信息。
具体地,第一用户可以在应用详情界面的规格清单中找到第一规格,然后通过应用详情界面的规格创建控件触发规格创建操作,以创建第二规格。第一应用管理平台100向第一用户呈现规格创建界面,第一用户可以通过该规格创建界面配置第二规格描述信息。接着,第一应用管理平台100在规格编排界面中打开第一编排文件。第一用户可以对所述第一编排文件进行修改,例如增加或删减目标编排节点,修改目标编排节点的参数,或者是修改目标编排节点之间的连接关系,然后第一应用管理平台100根据所述第一用户对所述第一编排文件的修改,获得所述第二编排文件。
第二种情况,第一规格描述信息还包括第一规格的第一版本的版本号。第一编排文件 记录有应用在第一规格的第一版本下运行所依赖的目标编排节点和目标编排节点之间的依赖关系。第一应用管理平台100获取第三规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件。其中,第三规格描述信息包括第一规格以及所述第一规格的第二版本的版本号,第三编排文件记录有所述应用在所述第一规格的第二版本下运行所依赖的编排节点的信息。然后第一应用管理平台100可以向应用市场300提交第三编排文件以及第三规格描述信息,以便于在应用市场300更新应用的信息,例如,在相应的界面(如应用部署界面)上更新应用的规格、版本或功能说明等信息。
具体地,第一用户可以在应用详情界面的规格清单中找到第一规格的第一版本,然后通过点击等方式触发对第一规格的更新操作,第一应用管理平台100向第一用户呈现规格更新界面,第一用户可以通过该规格更新界面配置第三规格描述信息。其中,第三规格描述信息包括第一规格以及第一规格的第二版本的版本号。然后第一应用管理平台100在规格编排界面中打开第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件。
需要说明的是,应用市场300可以提供更新后的应用的软件包和/或升级包。其中,更新后的软件包用于直接部署更新后的应用,升级包用于在将应用由第一规格升级为第二规格,或者将应用由第一规格的第一版本升级为第一规格的第二版本。
相应地,第二应用管理平台200可以检测目标应用的规格或版本是否有更新。若是,则第二应用管理平台200可以根据升级策略进行自动升级或手动升级。其中,自动升级是指第二应用管理平台200直接在后台进行升级,无需人工参与。手动升级是指第二应用管理平台200获得第二用户的授权后进行升级,通常需要人工介入。
其中,当应用市场300中发布的目标应用的规格由第一规格更新为第二规格时,第二应用管理平台200可以将目标部署环境中的目标应用由第一规格升级为第二规格。当应用市场300中发布的目标应用由第一规格的第一版本更新为第一规格的第二版本时,第二应用管理平台200可以将目标部署环境中的目标应用由第一规格的第一版本升级为第一规格的第二版本。下面分别进行详细说明。
第一种情况为,应用市场300接收对部署信息的第一更新,例如是第二用户对部署信息的第一更新,该第一更新包括目标应用的第二规格描述信息,第二规格描述信息包括目标应用的第二规格。然后应用市场300可以根据第二规格描述信息从目标应用的编排文件中确定与第二规格匹配的第二编排文件,接着向目标部署环境发送上述第二编排文件。如此,第二应用管理平台200可以在目标部署环境上将目标应用由第一规格更新至第二规格。
第二种情况为,应用市场300接收对部署信息的第二更新,例如是第二用户对部署信息的第二更新,该第二更新包括目标应用的第三规格描述信息。第三规格描述信息包括目标应用的第一规格以及第一规格的第二版本的版本号。然后应用市场300根据第三规格描述信息从目标应用的编排文件中确定与第一规格的第二版本匹配的第三编排文件,该第三编排文件记录有应用在第一规格的第二版本下运行所依赖的编排节点以及编排节点之间的依赖关系。应用市场300可以向目标部署环境发送上述第三编排文件。如此,第二应用管理平台200可以在目标部署环境上将目标应用由第一规格的版本更新至第一规格的第二版 本。
为了便于理解,下面结合一具体示例对应用部署和升级的过程进行说明。
参见图8所示的应用部署及升级的流程示意图,如图8所示,标识为APPID1的应用包括三个规格。这三个规格分别表示为SPEC-CODE1、SPEC-CODE2、SPEC-CODE3。其中,SPEC-CODE1代表的规格有三个版本,分别为V1、V2和V3。规格SPEC-CODE1的三个版本分别对应三个编排文件,第二用户安装应用时,通过编排文件可以部署到环境A、环境B、环境C和环境D。其中,环境A代表第一方云(如第一方公有云)、环境B代表混合云,环境C代表智能站点,环境D代表第三方云(如第三方公有云)。
假设环境A和环境B和环境C和环境D对应安装了规格SPEC-CODE1的V1版本、V1版本、V2版本和V3版本。由于编排文件使用的编排节点为标准化的服务节点,因此在安装应用时可以采用统一方式将上述标准化的服务节点安装至异构环境,并生成应用的4个实例。这4个实例分别用instance1、instance2、instance3和instance4标识。如此,简化了安装操作,提高了应用部署的效率。
在该示例中,由于规格SPEC-CODE1已经发布到V3版本,各个环境上的第二应用管理平台200自动检测上述实例的规格或版本是否有更新,若是,则可以进入升级流程,将应用升级至V3版本。
上文结合图1至图8对本申请实施例提供的应用管理方法进行了详细介绍,下面将结合附图对本申请实施例提供的第一应用管理平台100、应用市场300和第二应用管理平台200进行介绍。
参见图1所示的第一应用管理平台100的结构示意图,该第一应用管理平台100包括编排管理子系统102,其中,编排管理子系统102具体包括:
交互模块1022,用于向用户呈现规格创建界面,接收所述用户通过所述规格创建界面配置的第一规格描述信息,所述第一规格描述信息包括应用的第一规格;
所述交互模块1022,还用于向所述用户呈现规格编排界面,所述规格编排界面承载有多个编排节点,所述多个编排节点中的第一编排节点为标准化的服务节点;
编排模块1024,用于响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,所述第一编排文件记录有所述应用在所述第一规格下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系;
所述交互模块1022,还用于向应用市场300提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场300发布所述应用。
在一些可能的实现方式中,所述第一编排节点为以下任一种:
标准化的基础设施即服务IaaS层节点、标准化的平台即服务PaaS层节点和标准化的软件即服务SaaS层节点。
在一些可能的实现方式中,所述第一应用管理平台100还包括节点管理子系统104,节点管理子系统104用于实现节点标准化。其中,节点管理子系统104包括:
标准化模块1044,用于通过标准化信息,创建所述第一编排节点。
在一些可能的实现方式中,所述第一应用管理平台100对接异构环境,所述异构环境包括公有云、私有云、混合云或边缘云中的一种或多种;
当第一编排节点为所述标准化的IaaS层节点或所述标准化的PaaS层节点时,所述标准化信息包括预先配置的第一标准化信息,所述第一标准化信息包括操作系统镜像、所述异构环境中每种环境的接入地址和所述异构环境中每种环境下的资源申请接口。
在一些可能的实现方式中,所述标准化的PaaS层节点包括标准化的应用容器引擎节点;
当所述第一编排节点为所述标准化的应用容器引擎节点时,所述标准化信息还包括第二标准化信息,所述第二标准化信息包括容器管理平台安装包、容器安装包以及容器启动参数。
在一些可能的实现方式中,所述标准化的SaaS层节点包括标准化的第三方应用服务节点;
当所述第一编排节点为所述标准化的第三方应用服务节点时,所述标准化信息包括所述第三方应用服务开放的接口。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的适用环境,所述适用环境为从所述应用管理平台对接的所述异构环境中选择得到。
在一些可能的实现方式中,所述编排模块1024具体用于:
响应于所述用户对所述目标编排节点的连接操作,获得所述目标编排节点之间的依赖关系;
根据所述目标编排节点之间的依赖关系,生成所述应用的第一编排文件。
在一些可能的实现方式中,所述编排模块1024具体用于:
响应于所述用户对所述目标编排节点的配置操作,获得所述目标编排节点的参数;
根据所述目标编排节点的参数,生成所述应用的第一编排文件。
在一些可能的实现方式中,所述第一应用管理平台100还包括:
标准化模块1044,用于将所述应用标准化得到第二编排节点,所述第二编排节点为标准化的SaaS层节点,所述第二编排节点用于创建其他应用的编排文件。
在一些可能的实现方式中,所述节点管理子系统104还包括:
交互模块1042,用于向所述用户呈现推荐页面,所述推荐页面指示推荐将所述应用标准化;
所述标准化模块1044具体用于:
响应于所述用户通过所述推荐页面触发的对所述应用的标准化操作,将所述应用标准化得到所述第二编排节点。
在一些可能的实现方式中,所述交互模块1022还用于:
获取第二规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第二编排文件,所述第二规格描述信息包括所述应用的第二规格,所述第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息;
向所述应用市场300提交所述第二编排文件以及所述第二规格描述信息,以便于在所述应用市场上更新所述应用的信息。
在一些可能的实现方式中,所述第一规格描述信息还包括所述第一规格的第一版本的版本号,所述第一编排文件记录有所述应用在所述第一规格的第一版本下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系,所述交互模块1022还用于:
获取第三规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件,所述第三规格描述信息包括所述第一规格以及所述第一规格的第二版本的版本号,所述第三编排文件记录有所述应用在所述第一规格的第二版本下运行所依赖的编排节点的信息;
向所述应用市场300提交所述第三编排文件以及所述第三规格描述信息,以便于在所述应用市场300上更新所述应用的信息。
根据本申请实施例的第一应用管理平台100可对应于执行本申请实施例中描述的方法,并且第一应用管理平台100的各个模块/单元的上述和其它操作和/或功能分别为了实现图7所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
接下来,参见图1所示的应用市场300的结构示意图,所述应用市场300包括:
交互模块302,用于向用户呈现应用部署界面;
所述交互模块302,还用于接收所述用户通过所述应用部署界面配置的目标应用的部署信息,所述目标应用为所述用户请求部署的应用,所述部署信息包括目标部署环境,所述目标部署环境包括公有云、私有云、混合云或边缘环境中的一种或多种;
所述交互模块302还用于,向所述目标部署环境发送由所述管理模块304确定的第一编排文件,所述第一编排文件记录有所述目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
在一些可能的实现方式中,所述部署信息还包括所述目标应用的第一规格描述信息,所述第一规格描述信息包括所述目标应用的第一规格;
所述管理模块304具体用于:
根据所述第一规格描述信息从所述目标应用的编排文件中确定与所述第一规格匹配的所述第一编排文件,所述第一编排文件记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。
在一些可能的实现方式中,所述管理模块304具体用于:
根据所述目标部署环境从所述目标应用的编排文件中确定所述第一编排文件,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述第一规格的适用环境包括所述目标部署环境。
在一些可能的实现方式中,所述交互模块302还用于:
接收对所述部署信息的第一更新,所述第一更新包括所述目标应用的第二规格描述信息,所述第二规格描述信息包括所述目标应用的第二规格;
所述管理模块304还用于:
根据所述第二规格描述信息从所述目标应用的编排文件中确定与所述第二规格匹配的第二编排文件,所述第二编排文件记录有所述目标应用在所述第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块302还用于:
向所述目标部署环境发送所述第二编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第二规格。
在一些可能的实现方式中,所述第一规格描述信息包括第一规格的第一版本的版本号;所述第一编排文件记录有所述目标应用在所述第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块302还用于还包括:
接收对所述部署信息的第二更新,所述第二更新包括所述目标应用的第三规格描述信息,所述第三规格描述信息包括所述目标应用的所述第一规格以及所述第一规格的第二版本的版本号;
所述管理模块304还用于:
根据所述第三规格描述信息从所述目标应用的编排文件中确定与所述第一规格的第二版本匹配的第三编排文件;所述第三编排文件记录有所述目标应用在所述第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块302还用于:
向所述目标部署环境发送所述第三编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第一规格的第二版本。
在一些可能的实现方式中,所述应用市场300还包括:
审核模块306,用于在向用户呈现应用部署界面之前,对所述应用进行审核;
所述交互模块302还用于:
当审核通过时,在所述应用部署界面呈现所述应用的应用介绍信息。
根据本申请实施例的应用市场300可对应于执行本申请实施例中描述的方法,并且应用市场300的各个模块/单元的上述和其它操作和/或功能分别为了实现图7所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
接着,参见图1所示的第二应用管理平台200的结构示意图,所述第二应用管理平台200包括:
交互模块202,用于接收目标应用的第一编排文件;
编排引擎204,用于解析所述第一编排文件,获得所述目标应用依赖的编排节点以及所述编排节点之间的依赖关系,所述目标编排节点为标准化的服务节点;
部署模块206,用于根据所述第一编排文件,依次部署所述目标应用运行所依赖的所述编排节点。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块202还用于:
接收所述目标应用的第二编排文件,所述第二编排文件记录有所述目标应用在第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述编排引擎204还用于:
根据所述第二编排文件,获得节点变更信息和/或所述依赖关系变更信息,所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化;
所述第二应用管理平台200还包括:
升级模块208,用于根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到所述第二规格。
在一些可能的实现方式中,所述第一编排文件记录有所述目标应用在第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述交互模块202还用于:
接收所述目标应用的第三编排文件,所述第三编排文件记录有所述目标应用在第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
所述第二应用管理平台200还包括:
升级模块208,用于根据所述第三编排文件,将所述目标应用从所述第一规格的第一版本升级到所述第一规格的第二版本。
在一些可能的实现方式中,所述第二应用管理平台200还包括:
连接模块,用于向应用市场发起建立连接的请求,与所述应用市场建立连接;
所述交互模块202具体用于:
通过所述连接接收所述目标应用的第一编排文件。
根据本申请实施例的第二应用管理平台200可对应于执行本申请实施例中描述的方法,并且第二应用管理平台200的各个模块/单元的上述和其它操作和/或功能分别为了实现图7所示实施例中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请实施例还提供一种计算设备集群。该计算设备集群包括至少一台计算设备,该计算设备例如可以是服务器。该计算设备集群具体用于实现如图1所示实施例中第一应用管理平台100的功能。
图9提供了一种计算设备集群的结构示意图,如图9所示,计算设备集群90包括多台计算设备900,计算设备900包括总线901、处理器902、通信接口903和存储器904。处理器902、存储器904和通信接口903之间通过总线901通信。
总线901可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器902可以为中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
通信接口903用于与外部通信。例如,通信接口903用于接收所述用户通过所述规格创建界面配置的第一规格描述信息,向应用市场300提交第一编排文件以及第一规格描述信息等等。
存储器904可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。存储器904还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,硬盘驱动器(hard disk drive,HDD)或固态驱动器(solid state drive,SSD)。
存储器904中存储有计算机可读指令,处理器902执行该计算机可读指令,以使得计算设备集群90执行前述应用管理方法(或实现前述第一应用管理平台100的功能)。
具体地,在实现图1所示系统的实施例的情况下,且图1中所描述的第一应用管理平台100的各模块如编排模块1024、标准化模块1044的功能为通过软件实现的情况下,执行图1中各模块的功能所需的软件或程序代码可以存储在计算设备集群90中的至少一个存储器904中。至少一个处理器902执行存储器904中存储的程序代码,以使得计算设备集群90执行前述应用管理方法。
图10提供了一种计算设备集群的结构示意图,该计算设备集群具体用于实现如图1所示实施例中应用市场300的功能。如图10所示,计算设备集群10包括多台计算设备1000,计算设备1000包括总线1001、处理器1002、通信接口1003和存储器1004。处理器1002、存储器1004和通信接口1003之间通过总线1001通信。
其中,总线1001、处理器1002、通信接口1003和存储器1004的具体实现可以参见图9所示实施例相关内容描述。在本实施例中,存储器1004中存储有计算机可读指令,处理器1002执行该计算机可读指令,以使得计算设备集群10执行前述应用管理方法(或实现前述应用市场300的功能)。
具体地,在实现图1所示系统的实施例的情况下,且图1中所描述的应用市场300的各模块如管理模块304、审核模块306的功能为通过软件实现的情况下,执行图1中各模块的功能所需的软件或程序代码可以存储在计算设备集群10中的至少一个存储器1004中。至少一个处理器1002执行存储器1004中存储的程序代码,以使得计算设备集群10执行前述应用管理方法。
图11提供了一种计算设备集群的结构示意图,该计算设备集群具体用于实现如图1所示实施例中第二应用管理平台200的功能。如图11所示,计算设备集群11包括多台计算设备1100,计算设备1100包括总线1101、处理器1102、通信接口1103和存储器1104。处理器1102、存储器1104和通信接口1103之间通过总线1101通信。
其中,总线1101、处理器1102、通信接口1103和存储器1104的具体实现可以参见图9所示实施例相关内容描述。在本实施例中,存储器1104中存储有计算机可读指令,处理器1102执行该计算机可读指令,以使得计算设备集群11执行前述应用管理方法(或实现前述第二应用管理平台200的功能)。
具体地,在实现图1所示系统的实施例的情况下,且图1中所描述的第二应用管理平台200的各模块如编排引擎202、部署模块206、升级模块208的功能为通过软件实现的情况下,执行图1中各模块的功能所需的软件或程序代码可以存储在计算设备集群11中的至少一个存储器1104中。至少一个处理器1102执行存储器1104中存储的程序代码,以使得计算设备集群11执行前述应用管理方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计 算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备或计算设备集群执行上述应用管理方法。
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算设备或数据中心进行传输。所述计算机程序产品可以为一个软件安装包,在需要使用前述应用管理方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备或计算设备集群上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。

Claims (36)

  1. 一种应用管理方法,其特征在于,由应用管理平台执行,所述方法包括:
    向用户呈现规格创建界面,接收所述用户通过所述规格创建界面配置的第一规格描述信息,所述第一规格描述信息包括应用的第一规格;
    向所述用户呈现规格编排界面,所述规格编排界面承载有多个编排节点,所述多个编排节点中的第一编排节点为标准化的服务节点;
    响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,所述第一编排文件记录有所述应用在所述第一规格下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系;
    向应用市场提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场发布所述应用。
  2. 根据权利要求1所述的方法,其特征在于,所述第一编排节点为以下任一种:
    标准化的基础设施即服务IaaS层节点、标准化的平台即服务PaaS层节点和标准化的软件即服务SaaS层节点。
  3. 根据权利要求2所述的方法,其特征在于,在向用户呈现规格创建界面之前,所述方法还包括:
    通过标准化信息,创建所述第一编排节点。
  4. 根据权利要求3所述的方法,其特征在于,所述应用管理平台对接异构环境,所述异构环境包括公有云、私有云、混合云或边缘云中的一种或多种;
    当第一编排节点为所述标准化的IaaS层节点或所述标准化的PaaS层节点时,所述标准化信息包括预先配置的第一标准化信息,所述第一标准化信息包括操作系统镜像、所述异构环境中每种环境的接入地址和所述异构环境中每种环境下的资源申请接口。
  5. 根据权利要求4所述的方法,其特征在于,所述标准化的PaaS层节点包括标准化的应用容器引擎节点;
    当所述第一编排节点为所述标准化的应用容器引擎节点时,所述标准化信息还包括第二标准化信息,所述第二标准化信息包括容器管理平台安装包、容器安装包以及容器启动参数。
  6. 根据权利要求3所述的方法,其特征在于,所述标准化的SaaS层节点包括标准化的第三方应用服务节点;
    当所述第一编排节点为所述标准化的第三方应用服务节点时,所述标准化信息包括所述第三方应用服务开放的接口。
  7. 根据权利要求4所述的方法,其特征在于,所述第一规格描述信息还包括所述第一规格的适用环境,所述适用环境为从所述应用管理平台对接的所述异构环境中选择得到。
  8. 根据权利要求1至7任一项所述的方法,其特征在于,所述响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,包括:
    响应于所述用户对所述目标编排节点的连接操作,获得所述目标编排节点之间的依赖关系;
    根据所述目标编排节点之间的依赖关系,生成所述应用的第一编排文件。
  9. 根据权利要求1至7任一项所述的方法,其特征在于,所述响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,包括:
    响应于所述用户对所述目标编排节点的配置操作,获得所述目标编排节点的参数;
    根据所述目标编排节点的参数,生成所述应用的第一编排文件。
  10. 根据权利要求1至9任一项所述的方法,其特征在于,所述方法还包括:
    将所述应用标准化得到第二编排节点,所述第二编排节点为标准化的SaaS层节点,所述第二编排节点用于创建其他应用的编排文件。
  11. 根据权利要求1至10任一项所述的方法,其特征在于,所述方法还包括:
    获取第二规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第二编排文件,所述第二规格描述信息包括所述应用的第二规格,所述第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息;
    向所述应用市场提交所述第二编排文件以及所述第二规格描述信息,以便于在所述应用市场上更新所述应用的信息。
  12. 根据权利要求1至10任一项所述的方法,其特征在于,所述第一规格描述信息还包括所述第一规格的第一版本的版本号,所述第一编排文件记录有所述应用在所述第一规格的第一版本下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系,所述方法还包括:
    获取第三规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第三编排文件,所述第三规格描述信息包括所述第一规格以及所述第一规格的第二版本的版本号,所述第三编排文件记录有所述应用在所述第一规格的第二版本下运行所依赖的编排节点的信息;
    向所述应用市场提交所述第三编排文件以及所述第三规格描述信息,以便于在所述应用市场上更新所述应用的信息。
  13. 一种应用管理方法,其特征在于,所述方法包括:
    向用户呈现应用部署界面;
    接收所述用户通过所述应用部署界面配置的目标应用的部署信息,所述目标应用为所述用户请求部署的应用,所述部署信息包括目标部署环境,所述目标部署环境包括公有云、私有云、混合云或边缘环境中的一种或多种;
    向所述目标部署环境发送第一编排文件,所述第一编排文件记录有所述目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
  14. 根据权利要求13所述的方法,其特征在于,所述部署信息还包括所述目标应用的第一规格描述信息,所述第一规格描述信息包括所述目标应用的第一规格;
    所述向所述目标部署环境发送第一编排文件,包括:
    根据所述第一规格描述信息从所述目标应用的编排文件中确定与所述第一规格匹配的所述第一编排文件,所述第一编排文件记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    向所述目标部署环境发送所述第一编排文件。
  15. 根据权利要求13所述的方法,其特征在于,所述向所述目标部署环境发送第一编排文件,包括:
    根据所述目标部署环境从所述目标应用的编排文件中确定所述第一编排文件,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述第一规格的适用环境包括所述目标部署环境;
    向所述目标部署环境发送第一编排文件。
  16. 根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
    接收对所述部署信息的第一更新,所述第一更新包括所述目标应用的第二规格描述信息,所述第二规格描述信息包括所述目标应用的第二规格;
    根据所述第二规格描述信息从所述目标应用的编排文件中确定与所述第二规格匹配的第二编排文件,所述第二编排文件记录有所述目标应用在所述第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    向所述目标部署环境发送所述第二编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第二规格。
  17. 根据权利要求14所述的方法,其特征在于,所述第一规格描述信息包括第一规格的第一版本的版本号;所述第一编排文件记录有所述目标应用在所述第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    所述方法还包括:
    接收对所述部署信息的第二更新,所述第二更新包括所述目标应用的第三规格描述信息,所述第三规格描述信息包括所述目标应用的所述第一规格以及所述第一规格的第二版本的版本号;
    根据所述第三规格描述信息从所述目标应用的编排文件中确定与所述第一规格的第二版本匹配的第三编排文件;所述第三编排文件记录有所述目标应用在所述第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    向所述目标部署环境发送所述第三编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第一规格的第二版本。
  18. 根据权利要求13至17任一项所述的方法,其特征在于,在向用户呈现应用部署界面之前,所述方法还包括:
    对所述应用进行审核;
    所述方法还包括:
    当审核通过时,在所述应用部署界面呈现所述应用的应用介绍信息。
  19. 一种应用管理方法,其特征在于,所述方法包括:
    接收目标应用的第一编排文件;
    解析所述第一编排文件,获得所述目标应用依赖的编排节点以及所述编排节点之间的依赖关系,所述目标编排节点为标准化的服务节点;
    根据所述第一编排文件,依次部署所述目标应用运行所依赖的所述编排节点。
  20. 根据权利要求19所述的方法,其特征在于,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述方法还包 括:
    接收所述目标应用的第二编排文件,所述第二编排文件记录有所述目标应用在第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    根据所述第二编排文件,获得节点变更信息和/或所述依赖关系变更信息,所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化;
    根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到所述第二规格。
  21. 根据权利要求19所述的方法,其特征在于,所述第一编排文件记录有所述目标应用在第一规格的第一版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系,所述方法还包括:
    接收所述目标应用的第三编排文件,所述第三编排文件记录有所述目标应用在第一规格的第二版本下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    根据所述第三编排文件,将所述目标应用从所述第一规格的第一版本升级到所述第一规格的第二版本。
  22. 根据权利要求19至21任一项所述的方法,其特征在于,在接收目标应用的第一编排文件之前,所述方法还包括:
    向应用市场发起建立连接的请求,与所述应用市场建立连接;
    所述接收目标应用的第一编排文件,包括:
    通过所述连接接收所述目标应用的第一编排文件。
  23. 一种应用管理平台,其特征在于,所述平台包括:
    交互模块,用于向用户呈现规格创建界面,接收所述用户通过所述规格创建界面配置的第一规格描述信息,所述第一规格描述信息包括应用的第一规格;
    所述交互模块,还用于向所述用户呈现规格编排界面,所述规格编排界面承载有多个编排节点,所述多个编排节点中的第一编排节点为标准化的服务节点;
    编排模块,用于响应于所述用户对所述多个编排节点中目标编排节点的操作,生成所述应用的第一编排文件,所述第一编排文件记录有所述应用在所述第一规格下运行所依赖的所述目标编排节点以及所述目标编排节点之间的依赖关系;
    所述交互模块,还用于向应用市场提交所述第一编排文件以及所述第一规格描述信息,以使所述应用市场发布所述应用。
  24. 根据权利要求23所述的平台,其特征在于,所述第一编排节点为以下任一种:
    标准化的基础设施即服务IaaS层节点、标准化的平台即服务PaaS层节点和标准化的软件即服务SaaS层节点。
  25. 根据权利要求24所述的平台,其特征在于,所述平台还包括:
    标准化模块,用于通过标准化信息,创建所述第一编排节点。
  26. 根据权利要求25所述的平台,其特征在于,所述应用管理平台对接异构环境,所述异构环境包括公有云、私有云、混合云或边缘云中的一种或多种;
    当第一编排节点为所述标准化的IaaS层节点或所述标准化的PaaS层节点时,所述标 准化信息包括预先配置的第一标准化信息,所述第一标准化信息包括操作系统镜像、所述异构环境中每种环境的接入地址和所述异构环境中每种环境下的资源申请接口。
  27. 根据权利要求23至26任一项所述的平台,其特征在于,所述平台还包括:
    标准化模块,用于将所述应用标准化得到第二编排节点,所述第二编排节点为标准化的SaaS层节点,所述第二编排节点用于创建其他应用的编排文件。
  28. 根据权利要求23至27任一项所述的平台,其特征在于,所述交互模块还用于:
    获取第二规格描述信息,以及在所述规格编排界面中打开所述第一编排文件,根据所述用户对所述第一编排文件的修改,获得第二编排文件,所述第二规格描述信息包括所述应用的第二规格,所述第二编排文件记录有所述应用在所述第二规格下运行所依赖的编排节点的信息;
    向所述应用市场提交所述第二编排文件以及所述第二规格描述信息,以便于在所述应用市场上更新所述应用的信息。
  29. 一种应用市场,其特征在于,所述应用市场包括:
    交互模块,用于向用户呈现应用部署界面;
    所述交互模块,还用于接收所述用户通过所述应用部署界面配置的目标应用的部署信息,所述目标应用为所述用户请求部署的应用,所述部署信息包括目标部署环境,所述目标部署环境包括公有云、私有云、混合云或边缘环境中的一种或多种;
    所述交互模块,还用于向所述目标部署环境发送由所述管理模块确定的第一编排文件,所述第一编排文件记录有所述目标应用运行所依赖的编排节点以及所述编排节点之间的依赖关系。
  30. 根据权利要求29所述的应用市场,其特征在于,所述部署信息还包括所述目标应用的第一规格描述信息,所述第一规格描述信息包括所述目标应用的第一规格;
    所述管理模块具体用于:
    根据所述第一规格描述信息从所述目标应用的编排文件中确定与所述第一规格匹配的所述第一编排文件,所述第一编排文件记录有所述目标应用在所述第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系。
  31. 根据权利要求30所述的应用市场,其特征在于,所述交互模块还用于:
    接收对所述部署信息的第一更新,所述第一更新包括所述目标应用的第二规格描述信息,所述第二规格描述信息包括所述目标应用的第二规格;
    所述管理模块还用于:
    根据所述第二规格描述信息从所述目标应用的编排文件中确定与所述第二规格匹配的第二编排文件,所述第二编排文件记录有所述目标应用在所述第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    所述交互模块还用于:
    向所述目标部署环境发送所述第二编排文件,以便于在所述目标部署环境上将所述目标应用更新到所述第二规格。
  32. 一种应用管理平台,其特征在于,所述平台包括:
    交互模块,用于接收目标应用的第一编排文件;
    编排引擎,用于解析所述第一编排文件,获得所述目标应用依赖的编排节点以及所述编排节点之间的依赖关系,所述目标编排节点为标准化的服务节点;
    部署模块,用于根据所述第一编排文件,依次部署所述目标应用运行所依赖的所述编排节点。
  33. 根据权利要求32所述的平台,其特征在于,所述第一编排文件记录有所述目标应用在第一规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    所述交互模块还用于:
    接收所述目标应用的第二编排文件,所述第二编排文件记录有所述目标应用在第二规格下运行所依赖的编排节点以及所述编排节点之间的依赖关系;
    所述编排引擎还用于:
    根据所述第二编排文件,获得节点变更信息和/或所述依赖关系变更信息,所述节点变更信息用于描述所述目标应用在所述第二规格下相比在所述第一规格下运行所依赖的编排节点的变化,所述依赖关系变更信息用于描述所述编排节点之间的依赖关系的变化;
    所述平台还包括:
    升级模块,用于根据所述节点变更信息和所述依赖关系变更信息中的至少一种,将所述目标应用升级到所述第二规格。
  34. 一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令,所述至少一个处理器执行所述计算机可读指令,使得所述计算设备集群执行如权利要求1至22任一项所述的方法。
  35. 一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求1至22任一项所述的方法。
  36. 一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求1至22任一项所述的方法。
PCT/CN2022/116958 2021-11-24 2022-09-05 一种应用管理方法及相关系统 WO2023093197A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202111407421.2 2021-11-24
CN202111407421 2021-11-24
CN202111535162.1A CN116166278A (zh) 2021-11-24 2021-12-15 一种应用管理方法及相关系统
CN202111535162.1 2021-12-15

Publications (1)

Publication Number Publication Date
WO2023093197A1 true WO2023093197A1 (zh) 2023-06-01

Family

ID=86418812

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/116958 WO2023093197A1 (zh) 2021-11-24 2022-09-05 一种应用管理方法及相关系统

Country Status (2)

Country Link
CN (1) CN116166278A (zh)
WO (1) WO2023093197A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117407049A (zh) * 2023-12-15 2024-01-16 广州嘉为科技有限公司 一种应用发布编排方法、装置、设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116582581B (zh) * 2023-07-13 2023-09-29 苏州浪潮智能科技有限公司 一种网络服务提供方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768688A (zh) * 2018-04-11 2018-11-06 无锡华云数据技术服务有限公司 可视化的混合云资源编排方法及装置
CN111552471A (zh) * 2020-04-07 2020-08-18 电科云(北京)科技有限公司 混合云环境下的任务编排方法及系统
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法
US20200379793A1 (en) * 2019-05-31 2020-12-03 Vmware, Inc. Managing virtual infrastructure resources in cloud environments
CN112948110A (zh) * 2021-02-23 2021-06-11 上海宽带技术及应用工程研究中心 云应用的拓扑与编排系统、方法、存储介质及电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108768688A (zh) * 2018-04-11 2018-11-06 无锡华云数据技术服务有限公司 可视化的混合云资源编排方法及装置
US20200379793A1 (en) * 2019-05-31 2020-12-03 Vmware, Inc. Managing virtual infrastructure resources in cloud environments
CN111552471A (zh) * 2020-04-07 2020-08-18 电科云(北京)科技有限公司 混合云环境下的任务编排方法及系统
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法
CN112948110A (zh) * 2021-02-23 2021-06-11 上海宽带技术及应用工程研究中心 云应用的拓扑与编排系统、方法、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117407049A (zh) * 2023-12-15 2024-01-16 广州嘉为科技有限公司 一种应用发布编排方法、装置、设备及存储介质
CN117407049B (zh) * 2023-12-15 2024-03-26 广州嘉为科技有限公司 一种应用发布编排方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116166278A (zh) 2023-05-26

Similar Documents

Publication Publication Date Title
US11138030B2 (en) Executing code referenced from a microservice registry
US11178207B2 (en) Software version control without affecting a deployed container
US10235205B2 (en) Remote management of distributed datacenters
US11321130B2 (en) Container orchestration in decentralized network computing environments
US11625281B2 (en) Serverless platform request routing
WO2023093197A1 (zh) 一种应用管理方法及相关系统
US9047107B2 (en) Applying a custom security type label to multi-tenant applications of a node in a platform-as-a-service environment
US10372433B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
US20190050680A1 (en) Supporting manifest list for multi-platform application container images
US20170293501A1 (en) Method and system that extends a private data center to encompass infrastructure allocated from a remote cloud-computing facility
CN111279309A (zh) 基于环境要求的容器部署
US9038128B2 (en) Applying security category labels to multi-tenant applications of a node in a platform-as-a-service environment
US11025623B2 (en) Updating database drivers for client applications through a database server push
US11068136B1 (en) Application fulfillment platform with automated license management mechanisms
US11086685B1 (en) Deployment of virtual computing resources with repeatable configuration as a resource set
US9747091B1 (en) Isolated software installation
CN109240837B (zh) 一种通用云存储服务api的构建方法
US9747098B2 (en) Verifying source code in disparate source control systems
US20230131898A1 (en) Techniques for building and validating database software in a shared management environment
CN116566656A (zh) 资源访问方法、装置、设备及计算机存储介质
US11966880B2 (en) Policies and controls for building and validating database software in a shared management environment
US10911371B1 (en) Policy-based allocation of provider network resources
US20210200891A1 (en) Geography Aware File Dissemination
US20230259349A1 (en) Systems and methods for generating application policies
US20240061960A1 (en) Remote management over security layer

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: 22897288

Country of ref document: EP

Kind code of ref document: A1