WO2023165471A1 - 一种云平台应用部署方法、装置、电子设备及存储介质 - Google Patents

一种云平台应用部署方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
WO2023165471A1
WO2023165471A1 PCT/CN2023/078739 CN2023078739W WO2023165471A1 WO 2023165471 A1 WO2023165471 A1 WO 2023165471A1 CN 2023078739 W CN2023078739 W CN 2023078739W WO 2023165471 A1 WO2023165471 A1 WO 2023165471A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
deployed
component
environment
cloud
Prior art date
Application number
PCT/CN2023/078739
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 WO2023165471A1 publication Critical patent/WO2023165471A1/zh

Links

Classifications

    • 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
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • the present application relates to the technical field of cloud computing, and in particular to a cloud platform application deployment method, device, electronic equipment and storage medium.
  • the deployment and delivery of applications is generally based on Kubernetes, and the application deployment based on Kubernetes generally makes the application into chart packages one by one in advance, and then uses the Helm tool to deploy the application in the Kubernetes environment .
  • Helm is only a package manager for the Kubernetes platform, it is only suitable for deploying applications based on the Kubernetes platform. It does not support public/private cloud platforms such as OpenStack and AWS, and cannot implement unified deployment of applications in multi-cloud hybrid scenarios.
  • the present application provides a cloud platform application deployment method, device, electronic equipment, and storage medium, so as to solve the defects that the existing technology cannot realize unified deployment of applications in a multi-cloud hybrid scenario.
  • the first aspect of the present application provides a cloud platform application deployment method, including:
  • composition information of the application to be deployed on the current cloud platform where the composition information represents the attribute content and composition logic of the application to be deployed;
  • composition information of the application to be deployed determine the environment attributes of each component included in the application to be deployed
  • the application to be deployed is deployed to the current cloud platform.
  • composition information of the application to be deployed determining the components included in the application to be deployed Ambient properties for components, including:
  • the environment attributes of the components included in the application to be deployed are determined.
  • the preset-based workflow engine determines the environment attributes of the components contained in the application to be deployed, including:
  • the environment attributes of each of the components are determined.
  • the method before determining the environment attributes of the components included in the application to be deployed according to the composition information of the application to be deployed, the method further includes:
  • the workflow of each component contained in the application to be deployed is determined, including:
  • the template file of the application to be deployed is converted into an application model primitive, and the application model primitive is input into the workflow engine to determine the workflow of each component contained in the application to be deployed.
  • converting the template file of the application to be deployed into an application model primitive includes:
  • the workflow of each component included in the application to be deployed is determined, including:
  • the template file of the application to be deployed is analyzed to determine the action set and specific action execution of the application to be deployed, so as to obtain the workflow of each component.
  • the environment attribute of each component is determined, including:
  • the specific environment property of each component is determined.
  • the application to be deployed is deployed to the current cloud platform based on the cloud environment plug-in of each component, including:
  • each component Based on the cloud environment plug-in of each component, it encapsulates and calls the corresponding cloud environment interface for each component;
  • the application to be deployed is deployed to the current cloud platform.
  • deploying the application to be deployed to the current cloud platform based on the cloud environment interface corresponding to each component includes:
  • the component For each component, based on the cloud environment interface corresponding to the component, the component is deployed to the corresponding cloud environment.
  • the application to be deployed after the application to be deployed is deployed on the current cloud platform, it further includes:
  • the template file of the application to be deployed is generated according to the composition information of the application to be deployed and the deployment requirement information input by the user, including:
  • a template file of the application to be deployed is generated according to the composition information of the application to be deployed and the deployment requirement information input by the user.
  • the composition information of the application to be deployed includes component names, attribute information of each component, and action information of each component.
  • the method is applied to a multi-cloud hybrid scenario.
  • the component includes any one or more of a browser and a database.
  • the environment attribute is at least classified into any cloud environment among Kubernetes (K8s), OpenStack and AWS.
  • multiple cloud environment plug-ins are preset in the multi-cloud environment configurator, and each cloud environment plug-in is suitable for different cloud environments.
  • the template file is a template file based on JSON/Yaml description language.
  • actions include component actions such as create, scale up, scale down, start, and stop.
  • the cloud environment interface is an API interface of a corresponding cloud environment.
  • the second aspect of the present application provides a cloud platform application deployment device, including:
  • the obtaining module is used to obtain the composition information of the application to be deployed on the current cloud platform; wherein, the composition information represents the attribute content and composition logic of the application to be deployed;
  • a determining module configured to determine the environmental attributes of each component contained in the application to be deployed according to the composition information of the application to be deployed;
  • the plug-in calling module is used to call the corresponding cloud environment plug-in for each component based on the preset multi-cloud environment configurator according to the environment attributes of each component;
  • the deployment module is used for deploying the application to be deployed to the current cloud platform based on the cloud environment plug-in of each component.
  • Identify modules specifically for:
  • the environment attribute of each component is determined.
  • the device also includes:
  • a modeling module configured to construct an application model of the application to be deployed according to the composition information of the application to be deployed;
  • Identify modules specifically for:
  • the template file of the application to be deployed is converted into an application model primitive, and the application model primitive is input into the workflow engine to determine the workflow of each component contained in the application to be deployed.
  • the determination module is specifically used for:
  • the determination module is specifically used for:
  • the template file of the application to be deployed is analyzed to determine the action set and specific action execution of the application to be deployed, so as to obtain the workflow of each component.
  • the determination module is specifically used for:
  • the specific environment property of each component is determined.
  • the deployment module is specifically used to:
  • each component Based on the cloud environment plug-in of each component, it encapsulates and calls the corresponding cloud environment interface for each component;
  • the application to be deployed is deployed to the current cloud platform.
  • the deployment module is specifically used to:
  • the component For each component, based on the cloud environment interface corresponding to the component, the component is deployed to the corresponding cloud environment.
  • the device is also used to:
  • the determination module is used to:
  • a template file of the application to be deployed is generated according to the composition information of the application to be deployed and the deployment requirement information input by the user.
  • the composition information of the application to be deployed includes component names, attribute information of each component, and action information of each component.
  • the method is applied to a multi-cloud hybrid scenario.
  • the component includes any one or more of a browser and a database.
  • the template file is a template file based on JSON/Yaml description language.
  • actions include component actions such as create, scale up, scale down, start, and stop.
  • the cloud environment interface is an API interface of a corresponding cloud environment.
  • a third aspect of the present application provides an electronic device, including: at least one processor and a memory;
  • the memory stores computer-executable instructions
  • At least one processor executes the computer-executed instructions stored in the memory, so that the at least one processor executes the method of the above first aspect and various possible designs of the first aspect.
  • the fourth aspect of the present application provides a non-volatile readable storage medium in which computer-executable instructions are stored.
  • the processor executes the computer-executable instructions, the first aspect and the first aspect above are realized. An approach to various possible designs.
  • the present application provides a cloud platform application deployment method, device, electronic equipment, and storage medium, the method including: obtaining the composition information of the application to be deployed on the current cloud platform; wherein, the composition information represents the attribute content and composition logic of the application to be deployed; according to Based on the composition information of the application to be deployed, determine the environment attributes of each component contained in the application to be deployed; based on the preset multi-cloud environment configurator, call the corresponding cloud environment plug-in for each component according to the environment attributes of each component; The environment plug-in deploys the application to be deployed to the current cloud platform.
  • the method provided by the above solution calls different cloud environment plug-ins for different cloud environment components according to the environment attributes of each component in the application to be deployed, and deploys the application based on the called various cloud environment plug-ins, which improves the cloud platform application.
  • the flexibility of deployment enables unified deployment of applications in multi-cloud hybrid scenarios.
  • Fig. 1 is a schematic structural diagram of the cloud platform application deployment system based on the embodiment of the present application
  • FIG. 2 is a schematic flow diagram of a cloud platform application deployment method provided by an embodiment of the present application
  • FIG. 3 is a schematic structural diagram of an exemplary application model provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a cloud platform application deployment device provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the deployment and delivery of the application is usually based on Kubernetes, and the application deployment based on Kubernetes generally makes the application into chart packages one by one in advance, and then uses the Helm tool to deploy the application in the Kubernetes environment .
  • Helm since Helm is only a package manager for the Kubernetes platform, it is only suitable for deploying applications based on the Kubernetes platform.
  • Helm does not support public/private cloud platforms such as OpenStack and AWS.
  • the industry generally uses tools such as Cloudify and Terraform to deploy applications on these cloud platforms. This will inevitably result in two types of platforms, two tools, and two technical routes, making it impossible to achieve unified deployment of applications in multi-cloud hybrid scenarios.
  • the cloud platform application deployment method, device, electronic equipment, and storage medium obtained by the embodiments of the present application obtain the composition information of the application to be deployed on the current cloud platform; wherein, the composition information represents the attribute content and composition logic of the application to be deployed ;According to the composition information of the application to be deployed, determine the environment attributes of each component included in the application to be deployed; based on the preset multi-cloud environment configurator, call the corresponding cloud environment plug-in for each component according to the environment attributes of each component; The cloud environment plug-in to deploy the application to be deployed to the current cloud platform.
  • the method provided by the above solution calls different cloud environment plug-ins for different cloud environment components according to the environment attributes of each component in the application to be deployed, and deploys the application based on the called various cloud environment plug-ins, which improves the cloud platform application.
  • the flexibility of deployment enables unified deployment of applications in multi-cloud hybrid scenarios.
  • the cloud platform application deployment method, device, electronic device, and storage medium provided in the embodiments of the present application are suitable for unified deployment of cloud platform applications in a multi-cloud hybrid scenario.
  • FIG. 1 it is a schematic structural diagram of the cloud platform application deployment system based on the embodiment of the present application, which mainly includes a cloud platform, a data collection device and a cloud platform application deployment device for application deployment on the cloud platform.
  • the data acquisition device is used to collect the composition information of the application to be deployed on the current cloud platform, and then send the collected data to the cloud platform application deployment device, so that the cloud platform application deployment device can implement the application on the cloud platform based on the obtained data.
  • the corresponding application deployment operation is used to collect the composition information of the application to be deployed on the current cloud platform.
  • the embodiment of the present application provides a cloud platform application deployment method, which is used for unified deployment of cloud platform applications in a multi-cloud hybrid scenario.
  • the execution subject of the embodiment of the present application is an electronic device, such as a server, a desktop computer, a notebook computer, a tablet computer and other electronic devices that can be used for cloud platform application deployment.
  • FIG. 2 it is a schematic flow diagram of the cloud platform application deployment method provided by the embodiment of the present application, the method includes:
  • Step 201 obtaining composition information of applications to be deployed on the current cloud platform.
  • composition information represents the attribute content and composition logic of the application to be deployed, and the application to be deployed may be a computing application or a combined application.
  • Step 202 according to the composition information of the application to be deployed, determine the environment attribute of each component included in the application to be deployed.
  • the application to be deployed may be composed of multiple components, such as a browser and a database.
  • the composition information of the application to be deployed it is determined which components the application to be deployed contains, and then according to the attributes and actions of each component currently included, the environment of the components contained in the application to be deployed is determined Attributes.
  • the environment attributes are at least divided into cloud environments such as Kubernetes (K8s), OpenStack, and AWS.
  • Step 203 based on the preset multi-cloud environment configurator, according to the environment attributes of each component, call the corresponding cloud environment plug-in for each component.
  • the multi-cloud environment configurator based on the multi-cloud environment configurator, according to the environment attributes of each component, it is possible to determine which cloud environment each component will be deployed to, and then assign a corresponding cloud environment plug-in to each component, so as to implement subsequent deployment of components.
  • Step 204 based on the cloud environment plug-in of each component, deploy the application to be deployed to the current cloud platform.
  • the cloud environment plug-in may be a specific program for implementing component deployment on the cloud platform.
  • each component can perform subsequent deployment based on its corresponding cloud environment plug-in, that is, use each component
  • the cloud environment plug-in realizes the deployment of all components.
  • the deployed components may be associated on the cloud platform, so as to finally realize the deployment of the application to be deployed.
  • composition information of the application to be deployed determine the components of the application to be deployed Environment properties, including:
  • Step 2021 generate a template file of the application to be deployed according to the composition information of the application to be deployed and the deployment requirement information input by the user;
  • Step 2022 based on the preset workflow engine, and according to the template file of the application to be deployed, determine the environment attributes of the components included in the application to be deployed.
  • the template file is a specific description method of the application to be deployed, specifically, it may be a template file based on the JSON/Yaml description language.
  • an application deployment design interface may be provided to the user before the application is deployed, that is, the deployment requirement information input by the user may be obtained.
  • the template file of the application to be deployed may be generated by combining the composition information in the initialization state of the application to be deployed and the deployment requirement information input by the user.
  • the template file of the application to be deployed can be generated based on the preset model manager according to the composition information of the application to be deployed and the deployment requirement information input by the user.
  • the workflow of each component contained in the application to be deployed can be determined according to the template file of the application to be deployed; the workflow of each component can be determined according to the actions contained in the workflow of each component. environment properties.
  • the actions include creating, expanding, shrinking, starting and stopping component actions.
  • the template file of the application to be deployed can be analyzed based on the workflow engine to determine the action set of the application to be deployed and the execution of specific actions, so as to obtain the workflow of each component. Then, according to the actions contained in the workflow of each component and the preset correspondence between each action and the environment property, the specific environment property of each component is determined.
  • the model manager can also perform addition, deletion, modification, and query operations on the application model, so as to parse the template file into model primitives, such as application name and component composition, and then convert the model primitives sent to the workflow engine.
  • model primitives such as application name and component composition
  • an application model of the application to be deployed may be constructed according to the composition information of the application to be deployed.
  • the composition information of the application to be deployed includes component names, attribute information of each component, and action information of each component.
  • Figure 3 it is a schematic structural diagram of an exemplary application model provided by the embodiment of this application, that is, by constructing an application model Type, which can display the composition information of the application to be deployed in the form of an abstract model, and then facilitate subsequent data analysis and application deployment.
  • the attribute set in FIG. 3 includes attribute information of components, and the attribute information includes environment information and load information, and the load information includes at least load types, such as virtual machines VM and Deployments.
  • the load type is generally the native resource type of K8s, such as Deployments, etc.
  • the load type is generally cloud host VM and cloud hard disk Disk.
  • the action set includes the action information of the component, and the action types are divided into creation, expansion, start and stop, etc.
  • the template file of the application to be deployed can be converted into application model primitives, and the application model primitives can be input into the workflow engine to determine the workflow of each component included in the application to be deployed.
  • the workflow engine can reconstruct the application model that meets the user's needs according to the application model primitives of the template file of the application to be deployed, and then determine the The workflow of each component that the app contains.
  • the application to be deployed is deployed to the current cloud platform, including:
  • Step 2041 based on the cloud environment plug-in of each component, encapsulate and call the corresponding cloud environment interface for each component;
  • Step 2042 based on the cloud environment interface corresponding to each component, deploy the application to be deployed to the current cloud platform.
  • the cloud environment interface may be an API interface of a corresponding cloud environment, such as an http interface.
  • the component may be deployed to a corresponding cloud environment based on the cloud environment interface corresponding to the component.
  • the corresponding cloud environment can be connected, and then management operations such as creation and deletion of different component loads can be performed in different cloud environments, so as to realize the deployment of each component.
  • the cloud platform application deployment method obtaineds the composition information of the application to be deployed on the current cloud platform; wherein, the composition information represents the attribute content and composition logic of the application to be deployed; according to the composition information of the application to be deployed, determine the application to be deployed.
  • the environment properties of each component included in the application based on the preset multi-cloud environment configurator, according to the environment properties of each component, call the corresponding cloud environment plug-in for each component; based on the cloud environment plug-in of each component, deploy the application to be deployed to the current cloud platform.
  • the method provided by the above solution calls different cloud environment plug-ins for different cloud environment components according to the environment attributes of each component in the application to be deployed, and deploys the application based on the called various cloud environment plug-ins, which improves the cloud platform application.
  • the flexibility of deployment enables unified deployment of applications in multi-cloud hybrid scenarios.
  • the abstract and unified application model the unified modeling of application concepts in a multi-cloud hybrid environment is realized, which is conducive to improving the subsequent data processing efficiency and laying a foundation for improving the efficiency of cloud platform application deployment.
  • the embodiment of the present application provides a cloud platform application deployment device, which is used to execute the cloud platform application provided by the above embodiments deployment method.
  • the cloud platform application deployment device 40 includes: an acquisition module 401 , a determination module 402 , a plug-in calling module 403 and a deployment module 404 .
  • the acquisition module is used to obtain the composition information of the application to be deployed on the current cloud platform; the composition information represents the attribute content and composition logic of the application to be deployed; the determination module is used to determine the application to be deployed according to the composition information of the application to be deployed
  • the environment attributes of each component included; the plug-in calling module is used to call the corresponding cloud environment plug-in for each component based on the preset multi-cloud environment configurator according to the environment attributes of each component; the deployment module is used for the cloud environment based on each component
  • the environment plug-in deploys the application to be deployed to the current cloud platform.
  • the determination module is specifically used to:
  • the environment attributes of the components included in the application to be deployed are determined.
  • the determination module is specifically used to:
  • the workflow engine Based on the workflow engine, according to the template file of the application to be deployed, the workflow of each component contained in the application to be deployed is determined;
  • the environment attribute of each component is determined.
  • the device also includes:
  • a modeling module configured to construct an application model of the application to be deployed according to the composition information of the application to be deployed;
  • Identify modules specifically for:
  • the template file of the application to be deployed is converted into an application model primitive, and the application model primitive is input into the workflow engine to determine the workflow of each component contained in the application to be deployed.
  • the determination module is specifically used to:
  • the determination module is specifically used to:
  • the template file of the application to be deployed is analyzed to determine the action set and specific action execution of the application to be deployed, so as to obtain the workflow of each component.
  • the determination module is specifically used to:
  • the specific environment property of each component is determined.
  • the deployment module is specifically used for:
  • each component Based on the cloud environment plug-in of each component, it encapsulates and calls the corresponding cloud environment interface for each component;
  • the application to be deployed is deployed to the current cloud platform.
  • the deployment module is specifically used for:
  • the component For each component, based on the cloud environment interface corresponding to the component, the component is deployed to the corresponding cloud environment.
  • the device is also used for:
  • the determination module is used to:
  • a template file of the application to be deployed is generated according to the composition information of the application to be deployed and the deployment requirement information input by the user.
  • the composition information of the application to be deployed includes component names, attribute information of each component, and action information of each component.
  • the method is applied to a multi-cloud hybrid scenario.
  • the component includes any one or more items of a browser and a database.
  • the template file is a template file based on the JSON/Yaml description language.
  • the actions include component actions such as creating, expanding, shrinking, starting and stopping.
  • the cloud environment interface is an API interface of a corresponding cloud environment.
  • the cloud platform application deployment device provided in the embodiment of the present application is used to implement the cloud platform application deployment method provided in the above embodiment, and its implementation method is the same as the principle, so it will not be described again.
  • An embodiment of the present application provides an electronic device configured to execute the cloud platform application deployment method provided in the foregoing embodiments.
  • the electronic device 50 includes: at least one processor 51 and a memory 52 .
  • the memory stores computer-executable instructions; at least one processor executes the computer-executable instructions stored in the memory, so that at least one processor executes the cloud platform application deployment method provided in the above embodiments.
  • An electronic device provided in an embodiment of the present application is used to execute the method for deploying a cloud platform application provided in the above embodiment.
  • the implementation method is the same as the principle and will not be repeated here.
  • An embodiment of the present application provides a non-volatile readable storage medium, in which computer-executable instructions are stored.
  • the processor executes the computer-executable instructions, the cloud as provided in any of the above embodiments is realized.
  • Platform application deployment method
  • the storage medium containing computer-executable instructions in the embodiment of the present application can be used to store the computer-executable instructions of the cloud platform application deployment method provided in the foregoing embodiments.
  • the implementation method is the same as the principle and will not be repeated here.
  • the disclosed devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or integrated. to another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • a unit described as a separate component may or may not be physically separated, and a component shown as a unit may or may not be a physical unit, that is, it may be located in one place, or may also be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units can be implemented in the form of hardware, or in the form of hardware plus software functional units.
  • the above-mentioned integrated units implemented in the form of software functional units may be stored in a computer-readable storage medium.
  • the above-mentioned software functional units are stored in a storage medium, and include several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) or a processor (processor) to execute some steps of the method in each embodiment of the present application .
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

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

Abstract

一种云平台应用部署方法、装置、电子设备及存储介质,该方法包括:获取当前云平台待部署应用的组成信息(201);其中,组成信息表征待部署应用的属性内容和组成逻辑;根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性(202);基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件(203);基于各组件的云环境插件,将待部署应用部署到当前云平台(204)。上述方案提供的方法,通过根据待部署应用中各个组件的环境属性,分别为不同云环境组件调用不同的云环境插件,并基于调用的多种云环境插件进行应用的部署,提高了云平台应用部署的灵活性,在多云混合场景下实现了应用的统一部署。

Description

一种云平台应用部署方法、装置、电子设备及存储介质
相关申请的交叉引用
本申请要求于2022年03月01日提交中国专利局、申请号202210189966.9、申请名称为“一种云平台应用部署方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云计算技术领域,特别涉及一种云平台应用部署方法、装置、电子设备及存储介质。
背景技术
随着云计算技术的发展,开发者可以将其开发的应用部署到云平台,由云平台为应用的提供运行资源。
在现有技术中,一般是基于Kubernetes来实现应用的部署交付,而基于Kubernetes的应用部署,一般都是将应用事先做成一个个的Chart包,然后使用Helm工具,将应用部署于Kubernetes环境下。
但是,由于Helm只是Kubernetes平台的一个包管理器,所以它只适合于部署基于Kubernetes平台的应用,并不支持OpenStack和AWS等公/私有云平台,无法在多云混合场景下实现应用的统一部署。
发明内容
本申请提供一种云平台应用部署方法、装置、电子设备及存储介质,以解决现有技术无法在多云混合场景下实现应用的统一部署等缺陷。
本申请第一个方面提供一种云平台应用部署方法,包括:
获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;
根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;
基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;
基于各组件的云环境插件,将待部署应用部署到当前云平台。
在一些实施例中,所述根据所述待部署应用的组成信息,确定所述待部署应用包含的各 组件的环境属性,包括:
根据所述待部署应用的组成信息和用户输入的部署需求信息,生成所述待部署应用的模板文件;
基于预设的工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的环境属性。
在一些实施例中,所述基于预设的工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的环境属性,包括:
基于所述工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的工作流;
根据各所述组件的工作流所包含的动作,确定各所述组件的环境属性。
在一些实施例中,在根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性之前,方法还包括:
根据待部署应用的组成信息,构建待部署应用的应用模型;
基于工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的工作流,包括:
将待部署应用的模板文件转换为应用模型原语,并将应用模型原语输入到工作流引擎,以确定待部署应用包含的各组件的工作流。
在一些实施例中,将待部署应用的模板文件转换为应用模型原语,包括:
基于模型管理器,根据模板文件,对应用模型进行增、删、改和查操作中任意一项或多项操作,以将模板文件解析为应用模型原语。
在一些实施例中,基于预设的工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的工作流,包括:
基于预设的工作流引擎对待部署应用的模板文件进行分析,确定待部署应用的动作集和具体动作执行情况,以得到各组件的工作流。
在一些实施例中,根据各组件的工作流所包含的动作,确定各组件的环境属性,包括:
根据各组件的工作流所包含的动作及预设的每个动作与环境属性之间的对应关系,确定每个组件具体的环境属性。
在一些实施例中,基于各组件的云环境插件,将待部署应用部署到当前云平台,包括:
基于各组件的云环境插件,为各组件封装调用对应的云环境接口;
基于各组件对应的云环境接口,将待部署应用部署到当前云平台。
在一些实施例中,基于各组件对应的云环境接口,将待部署应用部署到当前云平台,包括:
针对每个组件,基于该组件对应的云环境接口,将该组件部署到相应的云环境。
在一些实施例中,在将待部署应用部署到当前云平台之后,还包括:
在云平台对已完成部署的组件进行相应的关联。
在一些实施例中,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件,包括:
基于预设的模型管理器,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。
在一些实施例中,待部署应用的组成信息包括组件名称、各组件的属性信息和各组件的动作信息。
在一些实施例中,方法应用于多云混合场景。
在一些实施例中,组件包括浏览器、数据库中的任意一项或多项。
在一些实施例中,环境属性至少分为Kubernetes(K8s)、OpenStack和AWS中任意一项云环境。
在一些实施例中,多云环境配置器中预置有多种云环境插件,每种云环境插件适用于不同的云环境。
在一些实施例中,模板文件为基于JSON/Yaml描述语言的模板文件。
在一些实施例中,动作包括创建、扩容、缩容、启动和停止等组件动作。
在一些实施例中,云环境接口为相应云环境的API接口。
本申请第二个方面提供一种云平台应用部署装置,包括:
获取模块,用于获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;
确定模块,用于根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;
插件调用模块,用于基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;
部署模块,用于基于各组件的云环境插件,将待部署应用部署到当前云平台。
确定模块,具体用于:
根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件;
基于预设的工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的工作流;
根据各组件的工作流所包含的动作,确定各组件的环境属性。
在一些实施例中,装置还包括:
建模模块,用于根据待部署应用的组成信息,构建待部署应用的应用模型;
确定模块,具体用于:
将待部署应用的模板文件转换为应用模型原语,并将应用模型原语输入到工作流引擎,以确定待部署应用包含的各组件的工作流。
在一些实施例中,确定模块,具体用于:
基于模型管理器,根据模板文件,对应用模型进行增、删、改和查操作中任意一项或多项操作,以将模板文件解析为应用模型原语。
在一些实施例中,确定模块,具体用于:
基于预设的工作流引擎对待部署应用的模板文件进行分析,确定待部署应用的动作集和具体动作执行情况,以得到各组件的工作流。
在一些实施例中,确定模块,具体用于:
根据各组件的工作流所包含的动作及预设的每个动作与环境属性之间的对应关系,确定每个组件具体的环境属性。
在一些实施例中,部署模块,具体用于:
基于各组件的云环境插件,为各组件封装调用对应的云环境接口;
基于各组件对应的云环境接口,将待部署应用部署到当前云平台。
在一些实施例中,部署模块,具体用于:
针对每个组件,基于该组件对应的云环境接口,将该组件部署到相应的云环境。
在一些实施例中,装置还用于:
在云平台对已完成部署的组件进行相应的关联。
在一些实施例中,确定模块用于:
基于预设的模型管理器,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。
在一些实施例中,待部署应用的组成信息包括组件名称、各组件的属性信息和各组件的动作信息。
在一些实施例中,方法应用于多云混合场景。
在一些实施例中,组件包括浏览器、数据库中的任意一项或多项。
在一些实施例中,模板文件为基于JSON/Yaml描述语言的模板文件。
在一些实施例中,动作包括创建、扩容、缩容、启动和停止等组件动作。
在一些实施例中,云环境接口为相应云环境的API接口。
本申请第三个方面提供一种电子设备,包括:至少一个处理器和存储器;
存储器存储计算机执行指令;
至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上第一个方面以及第一个方面各种可能的设计的方法。
本申请第四个方面提供一种非易失性可读存储介质,非易失性可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上第一个方面以及第一个方面各种可能的设计的方法。
本申请技术方案,具有如下优点:
本申请提供一种云平台应用部署方法、装置、电子设备及存储介质,该方法包括:获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;基于各组件的云环境插件,将待部署应用部署到当前云平台。上述方案提供的方法,通过根据待部署应用中各个组件的环境属性,分别为不同云环境组件调用不同的云环境插件,并基于调用的多种云环境插件进行应用的部署,提高了云平台应用部署的灵活性,在多云混合场景下实现了应用的统一部署。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例基于的云平台应用部署系统的结构示意图;
图2为本申请实施例提供的云平台应用部署方法的流程示意图;
图3为本申请实施例提供的示例性的应用模型的结构示意图;
图4为本申请实施例提供的云平台应用部署装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在现有技术中,通常是基于Kubernetes来实现应用的部署交付,而基于Kubernetes的应用部署,一般都是将应用事先做成一个个的Chart包,然后使用Helm工具,将应用部署于Kubernetes环境下。但是,由于Helm只是Kubernetes平台的一个包管理器,所以它只适合于部署基于Kubernetes平台的应用。而对于OpenStack、AWS等公/私有云平台,Helm并不支持,业界一般是使用诸如Cloudify、Terraform这种工具来实现应用在这些云平台上的部署。这势必就造成了两类平台、两种工具、两种技术路线,无法在多云混合场景下实现应用的统一部署。
针对上述问题,本申请实施例提供的云平台应用部署方法、装置、电子设备及存储介质,通过获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;基于各组件的云环境插件,将待部署应用部署到当前云平台。上述方案提供的方法,通过根据待部署应用中各个组件的环境属性,分别为不同云环境组件调用不同的云环境插件,并基于调用的多种云环境插件进行应用的部署,提高了云平台应用部署的灵活性,在多云混合场景下实现了应用的统一部署。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请实施例进行描述。
首先,对本申请所基于的云平台应用部署系统的结构进行说明:
本申请实施例提供的云平台应用部署方法、装置、电子设备及存储介质,适用于在多云混合场景下,进行云平台应用的统一部署。如图1所示,为本申请实施例基于的云平台应用部署系统的结构示意图,主要包括云平台、数据采集装置及用于在云平台进行应用部署的云平台应用部署装置。具体地,数据采集装置用于采集当前云平台待部署应用的组成信息,然后将采集到的数据发送到云平台应用部署装置,以基于该云平台应用部署装置根据得到的数据,在云平台进行相应的应用部署操作。
本申请实施例提供了一种云平台应用部署方法,用于在多云混合场景下,进行云平台应用的统一部署。本申请实施例的执行主体为电子设备,比如服务器、台式电脑、笔记本电脑、平板电脑及其他可用于进行云平台应用部署的电子设备。
如图2所示,为本申请实施例提供的云平台应用部署方法的流程示意图,该方法包括:
步骤201,获取当前云平台待部署应用的组成信息。
其中,组成信息表征待部署应用的属性内容和组成逻辑,待部署应用可以计算应用或组合型应用等。
步骤202,根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性。
需要说明的是,待部署应用可以由多个组件组成,如由浏览器和数据库等组件组成等。
具体地,通过对待部署应用的组成信息进行分析,确定该待部署应用包含的组件有哪些,然后再根据当前包含的各个组件的属性和动作等相关信息,确定该待部署应用包含的组件的环境属性。其中,环境属性至少分为Kubernetes(K8s)、OpenStack和AWS等云环境。
步骤203,基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件。
需要说明的是,多云环境配置器中预置有多种云环境插件,分别适用不同的云环境。
具体地,可以基于该多云环境配置器,根据各组件的环境属性,确定各组件即将部署到哪种云环境,进而为各个的组件分配相应的云环境插件,以实现组件的后续部署工作。
步骤204,基于各组件的云环境插件,将待部署应用部署到当前云平台。
需要说明的是,云环境插件可以是特定程序,用于在云平台实现组件的部署。
具体地,每个组件都可以基于其对应的云环境插件进行后续的部署工作,即利用各组件 的云环境插件,实现所有组件的部署。其中,当待部署应用的所有组件都部署到云平台后,可以在云平台对已完成部署的组件进行相应的关联,以最终实现待部署应用的部署。
在上述实施例的基础上,为了进一步提高云平台应用部署的灵活性,作为一种可实施的方式,在一实施例中,根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性,包括:
步骤2021,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件;
步骤2022,基于预设的工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的环境属性。
其中,模板文件是待部署应用的具体描述方式,具体可以是基于JSON/Yaml描述语言的模板文件。
具体地,为了保证待部署到云平台的应用能够满足的用户的实际需求,可以在应用部署之前,为用户提供应用部署设计接口,即获取用户输入的部署需求信息。具体可以结合待部署应用初始化状态下的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。具体可以基于预设的模型管理器,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。
具体地,在一实施例中,可以基于工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的工作流;根据各组件的工作流所包含的动作,确定各组件的环境属性。
其中,动作包括创建、扩容、缩容、启动和停止等组件动作。
具体地,可以基于工作流引擎对待部署应用的模板文件进行分析,以确定待部署应用的动作集和具体动作执行情况,以得到各组件的工作流。然后根据各组件的工作流所包含的动作及预设的每个动作与环境属性之间的对应关系,确定每个组件具体的环境属性。
具体地,还可以基于模型管理器根据模板文件,对应用模型进行增、删、改和查操作,以将模板文件解析为模型原语,如应用名称和组件构成等,然后再将模型原语发送到工作流引擎。
具体地,在一实施例中,在根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性之前,可以根据待部署应用的组成信息,构建待部署应用的应用模型。
其中,待部署应用的组成信息包括组件名称、各组件的属性信息和各组件的动作信息。如图3所示,为本申请实施例提供的示例性的应用模型的结构示意图,即通过构建应用模 型,可以以抽象模型的形式展现待部署应用的组成信息,以后便后续的数据分析和应用部署等。图3中的属性集包括组件的属性信息,属性信息包括环境信息和负载信息,负载信息至少包括负载类型,如虚拟机VM和Deployments等。其中,K8s类型的云环境,负载类型一般是K8s原生的资源类型,如Deployments等,OpenStack类型的私有云环境,负载类型一般是云主机VM和云硬盘Disk等。动作集包括组件的动作信息,其中动作类型分为创建、扩容、启动和停止等。
相应地,在一实施例中,可以将待部署应用的模板文件转换为应用模型原语,并将应用模型原语输入到工作流引擎,以确定待部署应用包含的各组件的工作流。
具体地,工作流引擎可以根据待部署应用的模板文件的应用模型原语,重构符合用户需求的应用模型,然后根据对重构的应用模型中的各部分之间的关联关系,确定待部署应用包含的各组件的工作流。
在上述实施例的基础上,作为一种可实施的方式,在一实施例中,基于各组件的云环境插件,将待部署应用部署到当前云平台,包括:
步骤2041,基于各组件的云环境插件,为各组件封装调用对应的云环境接口;
步骤2042,基于各组件对应的云环境接口,将待部署应用部署到当前云平台。
需要说明的是,云环境接口可以是相应云环境的API接口,如http接口等。
具体地,在一实施例中,针对每个组件,可以基于该组件对应的云环境接口,将该组件部署到相应的云环境。
具体地,可以基于每个组件对应的云环境接口,对接相应的云环境,进而在不同云环境下进行不同组件负载的创建和删除等管理操作,以实现各个组件的部署。
本申请实施例提供的云平台应用部署方法,通过获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;基于各组件的云环境插件,将待部署应用部署到当前云平台。上述方案提供的方法,通过根据待部署应用中各个组件的环境属性,分别为不同云环境组件调用不同的云环境插件,并基于调用的多种云环境插件进行应用的部署,提高了云平台应用部署的灵活性,在多云混合场景下实现了应用的统一部署。并且,通过抽象统一的应用模型,实现对多云混合环境下的应用概念的统一建模,有利于提高后续的数据处理效率,为提高云平台应用部署效率奠定了基础。
本申请实施例提供了一种云平台应用部署装置,用于执行上述实施例提供的云平台应用 部署方法。
如图4所示,为本申请实施例提供的云平台应用部署装置的结构示意图。该云平台应用部署装置40包括:获取模块401、确定模块402、插件调用模块403和部署模块404。
其中,获取模块,用于获取当前云平台待部署应用的组成信息;其中,组成信息表征待部署应用的属性内容和组成逻辑;确定模块,用于根据待部署应用的组成信息,确定待部署应用包含的各组件的环境属性;插件调用模块,用于基于预设的多云环境配置器,根据各组件的环境属性,为各组件调用对应的云环境插件;部署模块,用于基于各组件的云环境插件,将待部署应用部署到当前云平台。
具体地,在一实施例中,确定模块,具体用于:
根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件;
基于预设的工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的环境属性。
具体地,在一实施例中,确定模块,具体用于:
基于工作流引擎,根据待部署应用的模板文件,确定待部署应用包含的各组件的工作流;
根据各组件的工作流所包含的动作,确定各组件的环境属性。
具体地,在一实施例中,该装置还包括:
建模模块,用于根据待部署应用的组成信息,构建待部署应用的应用模型;
确定模块,具体用于:
将待部署应用的模板文件转换为应用模型原语,并将应用模型原语输入到工作流引擎,以确定待部署应用包含的各组件的工作流。
具体地,在一实施例中,确定模块,具体用于:
基于模型管理器,根据模板文件,对应用模型进行增、删、改和查操作中任意一项或多项操作,以将模板文件解析为应用模型原语。
具体地,在一实施例中,确定模块,具体用于:
基于预设的工作流引擎对待部署应用的模板文件进行分析,确定待部署应用的动作集和具体动作执行情况,以得到各组件的工作流。
具体地,在一实施例中,确定模块,具体用于:
根据各组件的工作流所包含的动作及预设的每个动作与环境属性之间的对应关系,确定每个组件具体的环境属性。
具体地,在一实施例中,部署模块,具体用于:
基于各组件的云环境插件,为各组件封装调用对应的云环境接口;
基于各组件对应的云环境接口,将待部署应用部署到当前云平台。
具体地,在一实施例中,部署模块,具体用于:
针对每个组件,基于该组件对应的云环境接口,将该组件部署到相应的云环境。
具体地,在一实施例中,装置还用于:
在云平台对已完成部署的组件进行相应的关联。
具体地,在一实施例中,确定模块用于:
基于预设的模型管理器,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。
具体地,在一实施例中,待部署应用的组成信息包括组件名称、各组件的属性信息和各组件的动作信息。
具体地,在一实施例中,方法应用于多云混合场景。
具体地,在一实施例中,组件包括浏览器、数据库中的任意一项或多项。
具体地,在一实施例中,模板文件为基于JSON/Yaml描述语言的模板文件。
具体地,在一实施例中,动作包括创建、扩容、缩容、启动和停止等组件动作。
具体地,在一实施例中,云环境接口为相应云环境的API接口。
关于本实施例中的云平台应用部署装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例提供的云平台应用部署装置,用于执行上述实施例提供的云平台应用部署方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种电子设备,用于执行上述实施例提供的云平台应用部署方法。
如图5所示,为本申请实施例提供的电子设备的结构示意图。该电子设备50包括:至少一个处理器51和存储器52。
存储器存储计算机执行指令;至少一个处理器执行存储器存储的计算机执行指令,使得至少一个处理器执行如上实施例提供的云平台应用部署方法。
本申请实施例提供的一种电子设备,用于执行上述实施例提供的云平台应用部署方法,其实现方式与原理相同,不再赘述。
本申请实施例提供了一种非易失性可读存储介质,非易失性可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现如上任一实施例提供的云平台应用部署 方法。
本申请实施例的包含计算机可执行指令的存储介质,可用于存储前述实施例中提供的云平台应用部署方法的计算机执行指令,其实现方式与原理相同,不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (20)

  1. 一种云平台应用部署方法,其特征在于,包括:
    获取当前云平台待部署应用的组成信息;其中,所述组成信息表征所述待部署应用的属性内容和组成逻辑;
    根据所述待部署应用的组成信息,确定所述待部署应用包含的各组件的环境属性;
    基于预设的多云环境配置器,根据各所述组件的环境属性,为各所述组件调用对应的云环境插件;
    基于各所述组件的云环境插件,将所述待部署应用部署到所述当前云平台。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述待部署应用的组成信息,确定所述待部署应用包含的各组件的环境属性,包括:
    根据所述待部署应用的组成信息和用户输入的部署需求信息,生成所述待部署应用的模板文件;
    基于预设的工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的环境属性。
  3. 根据权利要求2所述的方法,其特征在于,所述基于预设的工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的环境属性,包括:
    基于所述工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的工作流;
    根据各所述组件的工作流所包含的动作,确定各所述组件的环境属性。
  4. 根据权利要求3所述的方法,其特征在于,在根据所述待部署应用的组成信息,确定所述待部署应用包含的各组件的环境属性之前,所述方法还包括:
    根据所述待部署应用的组成信息,构建所述待部署应用的应用模型;
    所述基于所述工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的工作流,包括:
    将所述待部署应用的模板文件转换为应用模型原语,并将所述应用模型原语输入到所述工作流引擎,以确定所述待部署应用包含的各组件的工作流。
  5. 根据权利要求4所述的方法,其特征在于,所述将所述待部署应用的模板文件转换为应用模型原语,包括:
    基于模型管理器,根据所述模板文件,对所述应用模型进行增、删、改和查操作中任意一项或多项操作,以将所述模板文件解析为应用模型原语。
  6. 根据权利要求3所述的方法,其特征在于,所述基于预设的工作流引擎,根据所述待部署应用的模板文件,确定所述待部署应用包含的各组件的工作流,包括:
    基于预设的工作流引擎对所述待部署应用的模板文件进行分析,确定所述待部署应用的动作集和具体动作执行情况,以得到各组件的工作流。
  7. 根据权利要求3所述的方法,其特征在于,所述根据各所述组件的工作流所包含的动作,确定各所述组件的环境属性,包括:
    根据各组件的工作流所包含的动作及预设的每个动作与环境属性之间的对应关系,确定每个组件具体的环境属性。
  8. 根据权利要求1所述的方法,其特征在于,所述基于各所述组件的云环境插件,将所述待部署应用部署到所述当前云平台,包括:
    基于各所述组件的云环境插件,为各所述组件封装调用对应的云环境接口;
    基于各所述组件对应的云环境接口,将所述待部署应用部署到所述当前云平台。
  9. 根据权利要求8所述的方法,其特征在于,所述基于各所述组件对应的云环境接口,将所述待部署应用部署到所述当前云平台,包括:
    针对每个所述组件,基于该组件对应的云环境接口,将该组件部署到相应的云环境。
  10. 根据权利要求1所述的方法,其特征在于,在将所述待部署应用部署到所述当前云平台之后,还包括:
    在云平台对已完成部署的组件进行相应的关联。
  11. 根据权利要求1所述的方法,其特征在于,所述根据所述待部署应用的组成信息和用户输入的部署需求信息,生成所述待部署应用的模板文件,包括:
    基于预设的模型管理器,根据待部署应用的组成信息和用户输入的部署需求信息,生成待部署应用的模板文件。
  12. 根据权利要求1所述的方法,其特征在于,所述待部署应用的组成信息包括组件名称、各组件的属性信息和各组件的动作信息。
  13. 根据权利要求1所述的方法,其特征在于,所述方法应用于多云混合场景。
  14. 根据权利要求1所述的方法,其特征在于,所述组件包括浏览器、数据库中的任意一项或多项。
  15. 根据权利要求1所述的方法,其特征在于,所述模板文件为基于JSON/Yaml描述语言的模板文件。
  16. 根据权利要求1所述的方法,其特征在于,所述动作包括创建、扩容、缩容、启 动和停止等组件动作。
  17. 根据权利要求8所述的方法,其特征在于,所述云环境接口为相应云环境的API接口。
  18. 一种云平台应用部署装置,其特征在于,包括:
    获取模块,用于获取当前云平台待部署应用的组成信息;其中,所述组成信息表征所述待部署应用的属性内容和组成逻辑;
    确定模块,用于根据所述待部署应用的组成信息,确定所述待部署应用包含的各组件的环境属性;
    插件调用模块,用于基于预设的多云环境配置器,根据各所述组件的环境属性,为各所述组件调用对应的云环境插件;
    部署模块,用于基于各所述组件的云环境插件,将所述待部署应用部署到所述当前云平台。
  19. 一种电子设备,其特征在于,包括:至少一个处理器和存储器;
    所述存储器存储计算机执行指令;
    所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如权利要求1至17任一项所述的方法。
  20. 一种非易失性可读存储介质,其特征在于,所述非易失性可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至17任一项所述的方法。
PCT/CN2023/078739 2022-03-01 2023-02-28 一种云平台应用部署方法、装置、电子设备及存储介质 WO2023165471A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210189966.9A CN114253557B (zh) 2022-03-01 2022-03-01 一种云平台应用部署方法、装置、电子设备及存储介质
CN202210189966.9 2022-03-01

Publications (1)

Publication Number Publication Date
WO2023165471A1 true WO2023165471A1 (zh) 2023-09-07

Family

ID=80800134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/078739 WO2023165471A1 (zh) 2022-03-01 2023-02-28 一种云平台应用部署方法、装置、电子设备及存储介质

Country Status (2)

Country Link
CN (1) CN114253557B (zh)
WO (1) WO2023165471A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253557B (zh) * 2022-03-01 2022-05-20 苏州浪潮智能科技有限公司 一种云平台应用部署方法、装置、电子设备及存储介质
CN116225464B (zh) * 2023-05-09 2023-07-11 霖济智云科技(苏州)有限公司 一种平台的快速部署方法
CN117270888B (zh) * 2023-11-24 2024-04-16 之江实验室 一种云端应用部署方法、系统、装置及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3128418A1 (en) * 2015-08-03 2017-02-08 Wipro Limited System and method for provisioning and deployment of application environment on hybrid cloud platform
CN108614688A (zh) * 2016-12-30 2018-10-02 上海华讯网络系统有限公司 应用于混合云环境的可视化应用编排及方法
CN110413288A (zh) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 应用部署方法、装置、服务器及存储介质
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法
CN114253557A (zh) * 2022-03-01 2022-03-29 苏州浪潮智能科技有限公司 一种云平台应用部署方法、装置、电子设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150180949A1 (en) * 2012-10-08 2015-06-25 Hewlett-Packard Development Company, L.P. Hybrid cloud environment
CN113687912A (zh) * 2021-07-30 2021-11-23 济南浪潮数据技术有限公司 容器集群管理方法、装置、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3128418A1 (en) * 2015-08-03 2017-02-08 Wipro Limited System and method for provisioning and deployment of application environment on hybrid cloud platform
CN108614688A (zh) * 2016-12-30 2018-10-02 上海华讯网络系统有限公司 应用于混合云环境的可视化应用编排及方法
CN110413288A (zh) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 应用部署方法、装置、服务器及存储介质
CN111580832A (zh) * 2020-04-29 2020-08-25 电科云(北京)科技有限公司 应用于异构多云环境的应用发布系统及方法
CN114253557A (zh) * 2022-03-01 2022-03-29 苏州浪潮智能科技有限公司 一种云平台应用部署方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114253557B (zh) 2022-05-20
CN114253557A (zh) 2022-03-29

Similar Documents

Publication Publication Date Title
WO2023165471A1 (zh) 一种云平台应用部署方法、装置、电子设备及存储介质
WO2018086580A1 (zh) 一种可扩展的异构云平台适配方法及其系统
CN112068936B (zh) 一种工作流管理平台及工作流管理系统
WO2019015288A1 (zh) 数据持久化处理的方法、装置、系统及可读存储介质
WO2021238271A1 (zh) 基于容器云的应用创建方法、装置及电子设备和存储介质
US20190095270A1 (en) Tailoring diagnostic information in a multithreaded environment
CN113010827B (zh) 页面渲染方法、装置、电子设备以及存储介质
WO2023065707A1 (zh) 一种页面显示方法及装置
CN107526623B (zh) 一种数据处理方法及装置
CN103685564B (zh) 引入插件化应用能力层的行业应用在线运营云平台系统
CN106874028A (zh) 应用部署方法和装置
CN112527455A (zh) 业务容器的部署方法、计算机设备和存储介质
CN110955434A (zh) 软件开发包处理方法、装置、计算机设备和存储介质
CN116662039B (zh) 基于共享内存的工业信息并行检测方法、装置及介质
WO2023143545A1 (zh) 资源处理方法、装置、电子设备及计算机可读存储介质
CN117389647A (zh) 插件生成方法、应用程序开发方法、装置、设备及介质
CN112685023A (zh) 基于基础库的前端开发处理方法、装置、设备和存储介质
JP2014191422A (ja) ログ関連性提示システム、ログ関連性提示方法及びコンピュータプログラム
CN112991505B (zh) 一种线上3d渲染方法
CN113419806B (zh) 图像处理方法、装置、计算机设备和存储介质
CN107368377A (zh) 一种Android应用程序中网络请求处理方法及装置
CN109218063B (zh) 一种展示网络拓扑的方法和装置
CN114254232A (zh) 云产品页面生成方法、装置、计算机设备和存储介质
CN107566181B (zh) 一种网络管理方法及虚拟化管理平台
CN113220282B (zh) 小程序的开发处理方法、设备和存储介质

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18711056

Country of ref document: US