CN115705210A - 云平台管理架构及管理方法、管理设备、存储介质 - Google Patents
云平台管理架构及管理方法、管理设备、存储介质 Download PDFInfo
- Publication number
- CN115705210A CN115705210A CN202110915014.6A CN202110915014A CN115705210A CN 115705210 A CN115705210 A CN 115705210A CN 202110915014 A CN202110915014 A CN 202110915014A CN 115705210 A CN115705210 A CN 115705210A
- Authority
- CN
- China
- Prior art keywords
- capability
- application
- cloud platform
- management device
- management
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000007726 management method Methods 0.000 title claims abstract description 267
- 238000012423 maintenance Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 16
- 238000012360 testing method Methods 0.000 description 16
- 230000009471 action Effects 0.000 description 13
- 238000011161 development Methods 0.000 description 11
- 244000035744 Hura crepitans Species 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000009191 jumping Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 7
- 238000009434 installation Methods 0.000 description 6
- 241000380131 Ammophila arenaria Species 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000033748 Device issues Diseases 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000000889 atomisation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000009417 prefabrication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/084—Configuration by using pre-existing information, e.g. using templates or copying from other elements
- H04L41/0843—Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种云平台管理架构及管理方法、管理设备、计算机可读存储介质,其中,云平台管理架构,包括第一管理装置,用于基于开放应用模型定义至少一个应用能力,每个应用能力用于表征一个云平台支持的负载或者作用于负载的运维特性;第二管理装置,连接于第一管理装置,用于根据来自第一管理装置的应用能力确定与应用能力对应的能力边界,能力边界用于表征支持应用能力的各个备选云平台;应用编排和实例化装置,连接于第一管理装置,用于根据能力边界确定针对各个备选云平台的应用编排和实例化策略。本发明实施例中,能够对多个云平台的差异化场景进行管理,增强云原生应用在各个云平台之间的可移植性,优化应用编排和实例化效果。
Description
技术领域
本发明实施例涉及但不限于云原生场景应用领域,尤其涉及一种云平台管理架构及管理方法、管理设备、计算机可读存储介质。
背景技术
目前,云平台上的应用编排基本都是耦合在云平台上以进行的,使用云平台提供的原生资源编排云原生应用,由于其资源种类有限,因此当编排系统对云平台的各种资源类型进行硬编码时,无法充分利用云原生生态提供的各种资源,更不具备在各个云平台之间的可移植性,换言之,对应用开发者而言,云平台陷入了能力困境,大多数平台即服务(Platform as a Service,PaaS)系统对支持的应用类型和支持的功能进行约束,体现在不可扩展、创建自身的插件系统,并由自身的社区维护等,而这种插件机制只能为PaaS系统专属的封闭小生态能力,无法大范围地可靠利用。并且,在实践中,针对多云管理系统进行应用设计,其中,中心机房集中托管不同云平台,不同云平台之间存在一定差异,在编排时,可选的编排元素通常仅能对一些简单通用资源进行封装,不能针对特定的云平台不同的插件能力进行设计,使得编排能力完全依赖于简单资源的封装,暴露什么样的字段则完全取决于开发人员对应用的理解,后期如需要更新字段时,只能通过修改代码、重新做版本等手段进行解决,非常的不灵活,同时造成云原生生态中大量的运维相关的插件无法使用,导致无法针对复杂应用特征进行编排,使得整体上的编排效果变差。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种云平台管理架构及管理方法、管理设备、计算机可读存储介质,能够增强云原生应用在各个云平台之间的可移植性,优化应用编排和实例化效果。
第一方面,本发明实施例提供了一种云平台管理架构,包括:
第一管理装置,用于基于开放应用模型定义至少一个应用能力,每个所述应用能力用于表征一个云平台支持的负载或者作用于所述负载的运维特性;
第二管理装置,连接于所述第一管理装置,用于根据来自所述第一管理装置的所述应用能力确定与所述应用能力对应的能力边界,所述能力边界用于表征支持所述应用能力的各个备选云平台;
应用编排和实例化装置,连接于所述第一管理装置,用于根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略。
第二方面,本发明实施例还提供了一种云平台管理方法,应用于云平台管理架构,所述云平台管理架构包括第一管理装置和第二管理装置,所述第一管理装置连接于所述第二管理装置;
所述云平台管理方法,包括:
控制所述第一管理装置基于开放应用模型定义至少一个应用能力,每个所述应用能力用于表征一个云平台支持的负载或者作用于所述负载的运维特性;
控制所述第二管理装置根据来自所述第一管理装置的所述应用能力确定与所述应用能力对应的能力边界,所述能力边界用于表征支持所述应用能力的各个备选云平台;
根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略。
第三方面,本发明实施例还提供了一种云平台管理设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述第二方面的云平台管理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上所述第二方面的云平台管理方法。
本发明实施例包括:云平台管理架构,包括第一管理装置,用于基于开放应用模型定义至少一个应用能力,每个应用能力用于表征一个云平台支持的负载或者作用于负载的运维特性;第二管理装置,连接于第一管理装置,用于根据来自第一管理装置的应用能力确定与应用能力对应的能力边界,能力边界用于表征支持应用能力的各个备选云平台;应用编排和实例化装置,连接于第一管理装置,用于根据能力边界确定针对各个备选云平台的应用编排和实例化策略。根据本发明实施例提供的方案,在开放应用模型的具体场景下,通过第一管理装置定义多个应用能力,因此能够提供云原生应用的能力抽象,从而匹配性地表征各个云平台的差异化场景,增强云原生应用在各个云平台之间的可移植性,并且通过第二管理装置确定用于表征支持所定义的应用能力的备选云平台的能力边界,使得辅助应用编排和实例化装置通过能力边界确定针对各个备选云平台的应用编排和实例化策略,从而实现对多个云平台的差异化场景进行管理,达到优化应用编排和实例化的效果。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明一个实施例提供的云平台管理架构的示意图;
图2是图2是本发明一个具体示例提供的云平台管理架构示意图;
图3是本发明一个实施例提供的能力边界的示意图;
图4是本发明一个实施例提供的蓝图设计器的界面示意图;
图5是本发明一个实施例提供的云平台管理方法的流程图;
图6是本发明一个实施例提供的云平台管理方法中确定目标云平台的流程图;
图7是本发明另一个实施例提供的云平台管理方法的流程图;
图8是本发明另一个实施例提供的云平台管理方法的流程图;
图9是本发明一个实施例提供的云平台管理方法中确定能力边界的流程图;
图10是本发明实施例的云平台管理架构接入云平台的具体流程图;
图11是本发明实施例的云平台管理架构向下级云平台下发能力定义的具体流程图;
图12是本发明实施例的云平台管理架构执行应用实例化的具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要注意的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种云平台管理架构及管理方法、管理设备、计算机可读存储介质,在开放应用模型的具体场景下,通过第一管理装置定义多个应用能力,因此能够提供云原生应用的能力抽象,从而匹配性地表征各个云平台的差异化场景,增强云原生应用在各个云平台之间的可移植性,并且通过第二管理装置确定用于表征支持所定义的应用能力的备选云平台的能力边界,使得辅助应用编排和实例化装置通过能力边界确定针对各个备选云平台的应用编排和实例化策略,从而实现对多个云平台的差异化场景进行管理,达到优化应用编排和实例化的效果。
下面结合附图,对本发明实施例作进一步阐述。
如图1所示,图1是本发明一个实施例提供的云平台管理架构100的示意图。
在图1的示例中,云平台管理架构100可以包括但不限于第一管理装置200,第一管理装置200用于基于开放应用模型定义至少一个应用能力,每个应用能力用于表征一个云平台支持的负载或者作用于负载的运维特性。
具体地,本发明实施例的云平台管理架构100所应用的云平台可以以云基础设施为核心,可运行于标准化硬件设施和增强及定制化硬件设备,云平台能够对外提供虚机、裸机和容器等基础虚拟化的单一或混合资源服务,并能整合提供技术组件、网络及业务服务等,也可按需扩展,为多产品提供云原生技术栈。
在一实施例中,上述标准化硬件设施和增强及定制化设备包括但不限于通用服务器、存储器、网络设备、定制化一体机、智能网卡和加速硬件等。
具体地,在本发明实施例中,云平台可以是基于K8S平台的容器云平台,也可以是基于K8S和开放式堆栈(Openstack)的双核云平台,本发明实施例不对云平台的类型做具体限制。
在一实施例中,开放应用模型(Open Application Model,OAM)是一种用于构建和交付云原生应用的标准规范。相比于传统平台,例如PaaS封闭不能同以能力执行器(Operator)为基础的云原生生态相衔接的现状,基于OAM和K8S构建的现代云原生应用管理平台,本质上是一个“以应用为中心”的K8S,保证了这个应用平台在能够无缝接入整个云原生生态。同时,OAM可以进一步屏蔽掉容器基础设施的复杂性和差异性,为云平台的使用者带来低负担的、标准化的、一致的应用管理与交付体验。
在本发明实施例中,应用能力可以但不限于指能够组成一个完整应用的原子化功能,可以看作云平台为应用定义者提供的能力抽象,主要表述为支持的负载或者作用于这些负载上的运维特性,通过这些能力支持,应用定义者能够定义出满足业务要求的云原生应用出来。
具体地,负载包括但不限于函数、容器、云资源、虚拟机等多种不同形态的工作负载,负载用于描述以什么方式运行应用;运维特性则包括但不限于流量管理、发布策略、弹性策略、可观测性策略等多种不同的运维能力。最终,云平台本身可以通过不同负载和运维特性组合来对最终用户提供差异化的场景,帮助用户进行云原生应用定义。
在一实施例中,参照开放应用模型规范中约定的应用能力定义方式,采用标准模板定义应用能力。
在一实施例中,应用能力分为负载能力和特性能力,其中负载能力可以通过开放应用模型规范的标准模板中进行定义,例如,采用oam-kubernetes-runtime的core.oam.dev/v1alpha2.WorkloadDefinition进行定义,特性能力可以通过oam-kubernetes-runtime的core.oam.dev/v1alpha2.TraitDefinition定义,可以理解地是,负载定义(Workload Definition)和特性定义(Trait Definition)都是K8S的自定义资源(Custom Resource Definitions,CRD),所以通过CRD类型可以从云平台获取能力定义。
具体地,参照开放应用模型,根据应用能力特征,负载类型能够被分为核心负载类型(Core Workload Type)、标准负载类型(Standard Workload Type)和扩展负载类型(Extended Workload Type),特性能力范围能够被分为核心特性(Core Trait)范围、标准特性(Standard Trait范围)和扩展特性(Extended Trait)范围。
其中,核心特性范围的能力是开放应用模型预定义的能力;标准特性范围的能力是本发明实施例的装置所能够实现的应用能力,在实际应用中,可以支持在大多数的云平台运行;扩展特性范围的能力是基于本发明实施例的装置所针对的云平台用户二次开发得到的应用能力,其可以对接云平台生态,利用开源社区广泛存在的各种插件,开发应用定义所需的各种应用能力。在通常情况下,核心特性范围和标准特性范围的应用能力不作修改,扩展特性范围的应用能力可以随时更新并动态生效。
在一实施例中,在K8S云平台上的负载能力可以通过引用K8S预定义资源或者CRD定义,即,可以通过yaml文件即可定义,若需要引入一种新的CRD,则需要加入对应的能力执行器,或者底层依赖插件,若特性能力需要底层插件的支持,则也可以根据需要加入对应的能力执行器和底层插件,其中,能力定义中支持定义前导动作,以加载这些能力执行器和插件。
在一实施例中,应用能力定义本身可以通过JavaScript对象简谱(JavaScriptObject Notation,JSON)来表达,此外,应用能力定义也可以使用模板语言来开发,能够使用的模板语言包括但不限于CUELang或者Helm。
需要说明的是,第一管理装置200还用于根据目标云平台和应用能力确定目标云平台支持的目标应用能力,并且用于向目标云平台发送与目标应用能力对应的目标能力定义数据包。
在一实施例中,当一个云平台纳入第一管理装置200的管理范围时,第一管理装置200可以主动去发现此云平台支持的能力集,由于应用能力是通过开放应用模型的规范进行定义的,所以可以通过K8S原生接口查询所有的负载定义和特性定义实例,并得到对应应用能力描述、作用范围等细节信息。
在一实施例中,第一管理装置200发现的应用能力会持久化到第一管理装置200的数据库中,从而形成对应的表存储云平台和能力的对应关系,最终形成第一管理装置200管理的多个云平台各自的能力集合。
需要说明的是,针对不同的云平台实例,其能力集合可以相同,也可以不同。
在一实施例中,第一管理装置200可以支持开放应用模型规范定义的能力类型,并支持预定义能力集,这种预置的能力可以为大多数云平台默认支持的,比如通过K8S预定义的资源类型所对应的能力。
在一实施例中,第一管理装置200提供了能力定义规范,使用能力数据库维护各种能力,并提供了预置的多种能力,以及提供用户加载二次开发的能力,导入云原生社区定义的能力,所有能力定义都持久化到能力数据库中。同时,随着云平台实例的接入,对于各云平台进行能力发现和能力下发,本装置会同时在能力数据库中建立各能力和所管云平台实例的对应关系,确定各云平台支持的能力集。本发明实施例同时支持远程能力仓库,开源社区贡献的各种能力可以放置到能力仓库中,通过配置远程能力仓库,能够无缝对接云原生生态。
当一个云平台纳入第一管理装置200管理时,首先需要确保此云平台存在能力执行器,其中,能力执行器用于对所定义的应用能力进行处理,可以根据情况选择设置其规格和内容,如果不存在,则通过云原生方式下发能力执行器。接入云平台时,第一管理装置200会将预置的各种能力下发给目标云平台,从而让此云平台具备相应能力。因为能力定义是K8S CRD,所以可以通过K8S原生的方式下发这些能力定义。
同时,平台开发者后续可以通过开放应用模型的规范定义出更多的能力出来,纳入第一管理装置200管理,并指定下发给对应的云平台。也可以利用云原生社区中K8S生态下开源的各种能力,导入到第一管理装置200中,使得第一管理装置200管理的能力不断扩展。此外,如果已有能力定义发生了改变,可以重新下发此能力定义,并在对应云平台上对应更新。
需要说明的是,如果应用定义需要的能力定义包及其依赖的插件包在本装置中已经存在,则应用实例化的时候可以根据需要选择下发能力定义包到对应的云平台系统进行装载。
参照图1,本发明实施例的云平台管理架构100还包括第二管理装置300,第二管理装置300连接于第一管理装置200,用于根据来自第一管理装置200的应用能力确定与应用能力对应的能力边界,能力边界用于表征支持应用能力的各个备选云平台。
具体地,能力边界是指支持一个特定能力定义的云平台实例范围,其和能力类型关系密切,同时决定于某个云平台支持能力集。例如,对于预置的K8S平台能力,其作用范围是所有K8S类型的云平台。对于某个二次开发定义的能力或者导入的云原生社区定义的能力,其作用范围是显式下发此能力的云平台实例,或者是已经云平台上安装过此能力的云平台实例。
需要说明的是,第二管理装置300,具体用于校验来自第一管理装置200的应用能力的运行情况,并且用于根据应用能力的运行情况调节应用能力,并且用于根据调节后的应用能力确定与调节后的应用能力对应的能力边界。
此外,能力定义本身涉及对云平台资源、插件等各种操作,具有一定复杂性。需要考虑开发、测试以及上线等流程。通过K8S的网络钩(Webhook)机制,可以对能力定义进行校验,校验能力定义yaml合法性,检查能力定义模板语言的合法性,检验能力定义依赖资源和底层插件满足度。
第二管理装置300还提供一个能力测试沙箱,对刚上线的能力进行模拟测试,辅助分析测试输出,以确保能力开发满足用户需求。能力沙箱是一个能力模拟运行环境,其和生产环境隔离,对很多能力相关逻辑执行采用模拟方式,并不执行真实的资源操作动作,可以在一定程度上模拟出能力实际运行时的效果,并根据输出辅助能力开发者判定逻辑正确性。沙箱预测试通过后,能力就可以加载到正式云环境中提供服务了。并且在能力定义升级场景还可以通过webhook提供测试的能力,最开始导流部分能力创建请求到新版本能力定义实现上,根据执行效果逐渐用新版本替换老版本。
参照图1,本发明实施例的云平台管理架构100还包括应用编排装置400,应用编排装置400连接于第一管理装置200,用于根据能力边界确定针对各个备选云平台的应用编排策略。
需要说明的是,传统的应用编排系统基本采用硬编码的模式,其根据具体云平台资源类型实现硬编码编排界面,而由于其本身不具有可扩展性,造成定义的应用不具有可移植性,因此无法应对多云平台能力的差异管理。相对于传统硬编码的应用编排系统,本发明实施例的应用编排装置400可以灵活应用能力元素,根据能力定义数据库中的能力模板定义动态生成应用编排元素,并可以根据能力边界让应用定义者对应使用编排元素。同时根据不断引入的新能力定义,持续提升本装置支持应用定义的编排能力,更有效利用云原生生态。
需要说明的是,本发明实施例的应用编排装置400,具体用于根据能力边界从各个备选云平台中确定用于执行应用实例化的目标云平台。
用户编排应用的时候,可以选择预置的能力定义元素。同时,可以根据选择的云平台实例,利用能力边界使用各种扩展的能力定义,或者,可以先忽略能力边界,使用应用编排装置400管理的所有能力定义,至实例化应用的时候再作用于能力边界。
本发明实施例生成的应用定义可以通过Helm打包成CHART包,供实例化执行。
应用实例化的时候需要执行能力定义的动作。本发明定义的能力是通过K8S CRD的方式提供,对应能力CRD需要通过能力执行器来执行,能力执行器需要提供对应的控制器(Controller)实现相关逻辑。能力执行器对于负载能力是将CRD定义的能力按照能力引用定义转换到云平台原生资源或者自定义资源上,对于特性能力是根据能力模板定义执行相应逻辑,甚至可能依赖云平台上其他Operator或者控制器(Controller)以及底层插件的协助。
本发明实施例编排蓝图实例化应用的时候,可以根据能力边界选择支持此应用的云平台实例;在相应条件下,还可以选择主动下发此应用需要的能力到目标云平台,为云平台赋能,创造应用运行条件,最终目标达到确保定义的应用能在云平台正常实例化,保障应用在不同云平台间的可移植性。
可以理解的是,本发明实施例的云平台管理架构100还包括用于存储与至少一个应用能力对应的至少一个能力模板的能力数据库,能力数据库通过第一管理装置200连接于应用编排装置400;应用编排装置400还用于根据来自能力数据库的能力模板生成可编写的应用能力编排元素,应用能力编排元素与能力模板对应。
第一管理装置200所管理的云平台能力模板最终会持久化到能力数据库中,以便对能力提供持续性管理,以根据能力数据后续生成编排界面。同时,能力数据库提供能力定义模板注册、查询、更新和删除等接口,例如:
GET{apiRoot}/app_lcm/v2/capabilities定义了查询云平台上所有能力模板定义的接口,又如,GET{apiRoot}/app_lcm/v2/capabilities/:id定义了查询云平台上指定ID的能力模板信息的接口,再如,3.POST{apiRoot}/app_lcm/v2/capability定义了向云平台提交用户自定义的能力模板的接口。
在一实施例中,应用编排装置400在编排的时候,可以呈现所有预置能力,因为其能力边界是云平台全集。同时如果编排时能明确后续此定义应用运行的一个或多个云平台实例,则可以取这些云平台实例的能力的交集供应用定义者使用,从而使得定义的应用后续可以正常在目标云平台实例化。
并且,在应用编排时也可以先不关注各云平台能力集差异,因为某些云平台可能是后续才纳入本第一管理装置200管理的,此外,也可以在纳入第一管理装置200后主动在云平台实例上安装各种能力。所以可以让用户按照自己需要选择第一管理装置200管理的所有能力类型。在实例化的时候,备选目标云平台实例可以根据能力边界进行过滤。仅仅过滤出支持本应用所需的所有能力所对应的能力边界的云平台实例供用户选择。这样,也能有效确保应用在目标云平台正常实例化。
在一实施例中,第一管理装置200还可以扩大云平台实例的能力集,扩展某些能力的能力边界。如果对应的能力定义包及该能力定义包所依赖的插件包在第一管理装置200中存在,则可以选择下发能力定义包到对应云平台执行安装,从而为云平台赋能,让其能支持原本不支持的应用部署。
因此,本发明实施例在开放应用模型的具体场景下,通过第一管理装置200定义多个应用能力,因此能够提供云原生应用的能力抽象,从而匹配性地表征各个云平台的差异化场景,增强云原生应用在各个云平台之间的可移植性,并且通过第二管理装置300确定用于表征支持所定义的应用能力的备选云平台的能力边界,使得辅助应用编排装置400通过能力边界确定针对各个备选云平台的应用编排策略,从而实现对多个云平台的差异化场景进行管理,达到优化应用编排的效果。
为了更清楚地阐述以上各个实施例的工作原理,以下给出具体示例进行说明。
示例一:
参照图2,图2是本发明一个具体示例提供的云平台管理架构示意图。
在图2的示例中,第一云平台包括能力管理器和能力执行器,能力管理器是能力管理控制面,用于能力管理;能力执行器,是能力管理数据面,用于能力装载,执行和应用包实例化,例如第二云平台和第三云平台中的应用实例。同时,第一云平台也具备数据面功能。
其中,能力管理控制面通过参照开放应用模型规范中约定的能力定义方式,采用标准模板提供能力定义;通过能力抽象出支持应用定义的元素,通过对多个下级云平台上能力的差异化管理,明确各云平台的能力范围,并将各云平台上的能力持久化在能力定义数据库中,最终提供完整的能力管理;通过在接入下级云平台时,将预置能力和用户自定义的扩展能力集下发给目标云平台,提供能力下发;通过K8S查询所有的负载定义和特性定义详情,并得到对应能力描述,作用范围等细节信息,从而提供多云平台能力发现。
能力管理控制面在接入各下级云平台时,为数据面下发并装载能力执行器,使得下级云平台具备在接收控制面下发的能力模板定义时,检查能力定义模板语言的合法性和依赖云平台资源、底层插件的满足度的能力。同时,能力执行器提供能力测试沙箱模块,对刚上线的能力进行模拟测试,辅助分析测试输出,以确保能力开发满足用户需求,最后顺利装载能力。此外,能力执行器为能力定义升级场景提供测试的能力,导流部分能力创建请求到新版本能力定义实现上,根据执行效果逐渐用新版本替换老版本。蓝图编排器从能力管理控制面获取能力定义数据库中的能力模板定义,动态生成应用编排元素,并可以根据能力边界让应用定义者灵活的选择编排元素。用户使用编排器向控制面发布应用包文件。实例化时,控制面根据能力边界确定可用部署的云平台,下发应用包到下级云平台,下级云平台在收到蓝图编排的应用包后,通过数据面的能力执行器将应用定义所使用的各能力转换为云平台CRD、K8S原生资源,从而实例化应用包。
示例二:
参照图3,图3是本发明实施例的能力边界的示意图。
在图3的示例中,根据运维和工作负载的能力特征,将能力分为三种,分别是核心(Core Capability,CC)能力、标准能力(Standard Capability,SC)和扩展能力(ExtendedCapability,EC)。
其中,CC是开放应用模型预定义的能力;SC是本发明实施例的云平台管理架构默认实现的能力,能支持在大多数云平台运行;EC是基于本发明实施例的云平台管理架构,云平台用户二次开发出的能力,其可以对接云平台生态,利用开源社区广泛存在的各种插件,开发应用定义所需的各种能力。CC和SC能力不允许修改,EC可以更新,并动态生效。
因此,对于多云平台而言,其各平台具有的CC和SC是相同的,即图3中,第四云平台、第五云平台和第六云平台都具有相同的第一核心能力、第二核心能力和第三核心能力。本发明实施例将CC和SC的全集称为预置能力集,其能力边界为所有云平台,在图3中为第四云平台、第五云平台和第六云平台。
此外,由于EC一般是用户二次开发,根据用户下发情况和云平台基础设施的不同,不同云平台在实际运行中,可能具有不同或相同的EC。所以从能力边界而言,不同的EC可能具有相同或不同的能力边界。以图3为例:第一扩展能力和第四扩展能力的能力边界为第四云平台和第五云平台;第二扩展能力和第三扩展能力的能力边界为第四云平台;第五扩展能力的能力边界为第五云平台;第六扩展能力、第七扩展能力、第九扩展能力的能力边界为第六云平台。
示例三:
参照图4,图4是本发明实施例提供的蓝图设计器的界面示意图。蓝图设计器由编排元素栏、能力筛选和能力全集单选框、属性输入框,以及画布和必要的按键组成。
其中,左边的编排元素栏主要呈现本发明实施例的云平台管理架构支持的各种能力,包括预置能力和扩展能力,即应用定义所需元素。
能力筛选支持在编写应用包时,根据能力边界指定包可部署的云平台。当选中能力筛选框时,其能力筛选栏列出本发明实施例的云平台管理架构所接入的所有下级云平台供选择,根据选择情况,编排元素栏的扩展能力部分展示所选所有云平台扩展能力集的交集。这种场景编排的应用可以直接在这些所选云平台实例化,因为所需能力都已支持。
同时,蓝图设计器也支持在编写包时,不根据能力边界指定云平台,即能力全集选择框。当勾选能力全集框时,本发明实施例的云平台管理架构在能力选择栏的扩展能力部分展示所有云平台扩展能力集的并集,应用定义可以最大化使用本发明实施例的云平台管理架构管理的能力。其能力边界在使用该包部署应用时作用。
最后,在蓝图设计器画布中选中具体的能力定义时,设计器根据能力定义数据库中的能力定义动态在属性栏中显示可编写的能力定义参数。
下面是使用本发明实施例定义应用的过程,例如要定义一个5G边缘业务的虚拟内容分发网络(virtual Content Delivery Network,vCDN)内容服务应用(Application,App),其通用特性包括以容器方式运行、对外暴露web服务和支持弹缩等;业务特性包括要设置合适的边缘路由。
前置动作包括接入各个边缘云,以支持vCDN App运行,这些边缘云的能力被发现到本发明实施例的云平台管理架构,比如支持边缘应用分流的特定能力。
编排过程包括:
打开本发明实施例的云平台管理架构的应用蓝布编排器开始定义应用;可以通过能力选择器选择vCDN App可能运行的边缘云平台;蓝布编排器根据能力数据库和能力边界呈现编排元素栏,编排元素包括通用的能力,比如容器负载,弹缩特性以及边缘云特定能力及扩展能力,比如分流能力;根据vCDN App需要,拖拽编排器的容器负载、弹缩特性、入口(Ingress)能力和分流能力到画布上定义应用,对于具体的能力,可以根据能力定义在编排器最右边设置对应属性。同时用户要上载业务容器镜像,并对应在容器负载的镜像(Image)属性中配置镜像名称;定义好vCDN App后点击保存,即可以发布App蓝图了,即用户定义的应用。
在一实施例中,可以选择vCDN App蓝图,以及选择具体的云平台,执行应用实例化动作,最终在指定的边缘云上部署此App,App可以修改流量规则,导流边缘侧的内容服务请求到本APP,可以缓存各种内容信息,就近为用户服务。同时此App通过Ingress为运维用户提供管理界面。
综上,相对传统的应用编排系统多数是硬编码、本身不具有可扩展性、定义的应用不具有可移植性以及无法应对多云平台能力的差异等特点,基于本发明实施例的云平台管理架构可以灵活应用能力元素,根据能力定义数据库中的能力模板定义动态生成应用编排元素,并可以根据能力边界让应用定义者灵活的选择编排元素。同时根据不断引入新的能力元素,持续提升本发明实施例的云平台管理架构支持应用定义的编排能力,更有效利用云原生生态,换言之,本发明实施例针对现有云平台上应用定义能力的困境,利用开放应用模型和成熟的云原生生态对云平台能力进行定义,明确提出对能力进行相应管理、划分能力类型以及提供预置能力等操作。尤其是在多云场景下,通过主动发现各云平台支持的应用负载、运维特性等应用定义能力,同时支持基于云平台现有各种插件开发各种应用能力,集中下发给各云平台,并且为云平台赋能,需要强调的是,本发明实施例还提出了能力边界的概念,用于管理各云平台之间的能力差异,并且基于应用能力和能力边界而动态生成应用编排界面,能够辅助应用开发者在多云平台上进行应用蓝图编排和部署,进一步优化应用编排的效果。
基于上述云平台管理架构,提出本发明的云平台管理方法的各个实施例。
如图5所示,图5是本发明一个实施例提供的云平台管理方法的流程图,可以应用于如图1所示实施例中的云平台管理架构,该云平台管理方法包括但不限于步骤S100至S300。
步骤S100,控制第一管理装置基于开放应用模型定义至少一个应用能力,每个应用能力用于表征一个云平台支持的负载或者作用于负载的运维特性;
步骤S200,控制第二管理装置根据来自第一管理装置的应用能力确定与应用能力对应的能力边界,能力边界用于表征支持应用能力的各个备选云平台;
步骤S300,根据能力边界确定针对各个备选云平台的应用编排策略。
在开放应用模型的具体场景下,通过第一管理装置定义多个应用能力,因此能够提供云原生应用的能力抽象,从而匹配性地表征各个云平台的差异化场景,增强云原生应用在各个云平台之间的可移植性,并且通过第二管理装置确定用于表征支持所定义的应用能力的备选云平台的能力边界,使得辅助应用编排装置通过能力边界确定针对各个备选云平台的应用编排策略,从而实现对多个云平台的差异化场景进行管理,达到优化应用编排的效果。
在一实施例中,第一管理装置提供了能力定义规范,使用能力数据库维护各种能力,并提供了预置的多种能力,以及提供用户加载二次开发的能力,导入云原生社区定义的能力。所有能力定义都持久化到能力数据库中。同时,随着云平台实例的接入,对于各云平台进行能力发现和能力下发,本装置会同时在能力数据库中建立各能力和所管云平台实例的对应关系,确定各云平台支持的能力集。本发明实施例同时支持远程能力仓库,开源社区贡献的各种能力可以放置到能力仓库中,通过配置远程能力仓库,能够无缝对接云原生生态。
在一实施例中,能力定义本身涉及对云平台资源,插件的各种操作,具有一定复杂性。需要考虑开发,测试,上线等流程。通过K8S的网络钩(Webhook)机制,可以对能力定义进行校验,校验能力定义yaml合法性,检查能力定义模板语言的合法性,检验能力定义依赖资源和底层插件满足度。
在一实施例中,在编排应用时,可以选择预置的能力定义元素。同时,可以根据选择的云平台实例,利用能力边界使用各种扩展的能力定义。甚至可以先忽略能力边界,使用应用编排装置管理的所有能力定义,实例化应用的时候再作用于能力边界。
本发明实施例生成的应用定义通过Helm打包成CHART包,供实例化执行。
应用实例化的时候需要执行能力定义的动作。本发明定义的能力是通过K8S CRD的方式提供,对应能力CRD需要通过能力执行器来执行,能力执行器需要提供对应的控制器(Controller)实现相关逻辑。能力执行器对于负载能力是将CRD定义的能力按照能力引用定义转换到云平台原生资源或者自定义资源上,对于特性能力是根据能力模板定义执行相应逻辑,甚至可能依赖云平台上其他Operator或者控制器(Controller)以及底层插件的协助。
本发明实施例编排应用蓝图实例化应用的时候,可以根据能力边界选择支持此应用的云平台实例;在条件具备的情况下,还可以选择主动下发此应用需要的能力到目标云平台,为云平台赋能,创造应用运行条件。最终目标都是确保定义的应用能在云平台正常实例化,保障应用在不同云平台间的可移植性。
可以理解的是,本发明实施例的云平台管理架构还包括用于存储与至少一个应用能力对应的至少一个能力模板的能力数据库,能力数据库通过第一管理装置连接于应用编排装置;应用编排装置还用于根据开放应用模型生成可编写的应用能力编排元素,应用能力编排元素与能力模板对应。
如图6所示,图6是图5中云平台管理方法的步骤S300的具体流程图。
在图6的示例中,步骤S300包括但不限于步骤S310。
步骤S310,根据能力边界从各个备选云平台中确定用于执行应用实例化的目标云平台。
在一实施例中,应用编排装置在编排的时候,可以呈现所有预置能力,因为其能力边界是云平台全集。同时如果编排时能明确后续此定义应用运行的一个或多个云平台实例,则可以取这些云平台实例的能力的交集供应用定义者使用,从而使得定义的应用后续可以正常在目标云平台实例化。
并且,在应用编排时也可以先不关注各云平台能力集差异,因为某些云平台可能是后续才纳入本第一管理装置管理的,此外,也可以在纳入第一管理装置后主动在云平台实例上安装各种能力,所以可以让用户按照自己需要选择第一管理装置管理的所有能力类型。在实例化的时候,备选目标云平台实例可以根据能力边界进行过滤。仅仅过滤出支持本应用所需的所有能力所对应的能力边界的云平台实例供用户选择。这样,也能有效确保应用在目标云平台正常实例化。
在一实施例中,第一管理装置还可以扩大云平台实例的能力集,扩展某些能力的能力边界。如果对应的能力定义包及盖能力定义包所依赖的插件包在第一管理装置中存在,则可以选择下发能力定义包到对应云平台执行安装,从而为云平台赋能,让其能支持原本不支持的应用部署。
如图7所示,图7是本发明另一实施例提供的云平台管理方法的流程图。
在图7的示例中,本发明实施例的云平台管理方法还包括但不限于步骤S400。
步骤S400,控制第一管理装置根据目标云平台和应用能力确定目标云平台支持的目标应用能力。
在图8的示例中,本发明实施例的云平台管理方法还包括但不限于步骤S410。
步骤S410,控制第一管理装置向目标云平台发送与目标应用能力对应的目标能力定义数据包。
在一实施例中,当一个云平台纳入第一管理装置的管理范围时,第一管理装置会主动去发现此云平台支持的能力集。因为能力是通过开放应用模型的规范进行定义的,所以可以通过K8S原生接口查询所有的负载定义和特性定义实例,并得到对应能力描述,作用范围等细节信息。
第一管理装置发现的能力会持久化到第一管理装置的数据库中,所以会有对应的表存储云平台和能力的对应关系。最终形成第一管理装置管理的多个云平台各自的能力集合。
需要说明的是,不同的云平台实例,其能力集合可以相同也可以不同。
在一实施例中,第一管理装置会支持开放应用模型规范定义的能力类型,并支持预定义能力集,这种预置的能力是大多数云平台默认就支持的,比如通过K8S预定义的资源类型所对应的能力。
当一个云平台纳入第一管理装置管理时,首先要确保此云平台存在能力执行器,如果不存在,则通过云原生方式下发能力执行器。接入云平台时,第一管理装置会将预置的各种能力下发给目标云平台,从而让此云平台具备相应能力。因为能力定义是K8S CRD,所以可以通过K8S原生的方式下发这些能力定义。
同时,平台开发者后续可以通过开放应用模型的规范定义出更多的能力出来,纳入第一管理装置管理,并指定下发给对应的云平台。也可以利用云原生社区中K8S生态下开源的各种能力,导入到第一管理装置中,使得第一管理装置管理的能力不断扩展。此外,如果已有能力定义发生了改变,可以重新下发此能力定义,并在目标云平台上对应更新。
需要说明的是,如果应用定义需要的能力定义包及其依赖的插件包在本装置中已经存在,则应用实例化的时候可以根据需要选择下发能力定义包到目标云平台系统装载。
如图9所示,图9是图5中云平台管理方法的步骤S200的具体流程图。
在图9的示例中,步骤S200包括但不限于步骤S210。
步骤S210,控制第二管理装置校验来自第一管理装置的应用能力的运行情况,并且控制第二管理装置根据应用能力的运行情况调节应用能力,并且控制第二管理装置根据调节后的应用能力确定与调节后的应用能力对应的能力边界。
在一实施例中,通过能力测试沙箱对刚上线的能力进行模拟测试,辅助分析测试输出,以确保能力开发满足用户需求。能力沙箱是一个能力模拟运行环境,其和生产环境隔离,对很多能力相关逻辑执行采用模拟方式,并不执行真实的资源操作动作,可以在一定程度上模拟出能力实际运行时的效果,并根据输出辅助能力开发者判定逻辑正确性。沙箱预测试通过后,能力就可以加载到正式云环境中提供服务。并且在能力定义升级场景还可以通过webhook提供测试的能力,最开始导流部分能力创建请求到新版本能力定义实现上,根据执行效果逐渐用新版本替换老版本。
值得注意的是,由于本实施例中的云平台管理方法与上述实施例中的云平台管理架构属于同一发明构思,因此本实施例中的云平台管理方法的具体实施方式,可以参照上述实施例中的云平台管理架构的具体实施例,具有上述实施例中的云平台管理架构的全部改进,在此不作赘述。
本发明实施例的云平台管理方法,还包括但不限于步骤S420。
步骤S420,根据开放应用模型生成可编写的应用能力编排元素,应用能力编排元素与能力模板对应。
在一实施例中,通过开放应用模型生成应用能力编排元素,可供用户对应地灵活使用应用能力编排元素,从而进一步优化应用编排的效果。
值得注意的是,由于本实施例中的云平台管理方法与上述实施例中的云平台管理架构属于同一发明构思,因此本实施例中的云平台管理方法的具体实施方式,可以参照上述实施例中的云平台管理架构的具体实施例,具有上述实施例中的云平台管理架构的全部改进,在此不作赘述。
示例四:
参照图10,图10是本发明实施例的云平台管理架构接入云平台的具体流程图。
在图10的示例中,本发明实施例的云平台管理架构接入云平台的具体流程包括:
步骤S500,发起接入云平台实例操作;
步骤S510,通过Helm客户端下发能力执行器,在目标云平台装载能力执行器;
步骤S520,判断能力执行器是否装载成功;如果是,则继续向下执行步骤S530,否则,执行步骤S521;
步骤S521,提示接入云平台失败;
步骤S530,通过Helm客户端下发装载预制能力模板Chart,同时装载预制模板所需的各种插件;
步骤S540,判断预制能力是否装载成功;如果是,则继续向下执行步骤S550,否则,执行步骤S541;
步骤S541,卸载能力执行器,提示接入云平台失败;
步骤S550,通过能力发现,发现此新接入云平台支持的能力;
步骤S560,在能力定义数据库中建立此云平台支持的能力集数据;
步骤S570,更新能力管理边界。
示例五:
参照图11,图11是本发明实施例的云平台管理架构向下级云平台下发能力定义的具体流程图。
在图11的示例中,本发明实施例的云平台管理架构向下级云平台下发能力定义的具体流程包括:
步骤S600,能力管理器发起能力定义下发操作;
步骤S601,判断当前能力定义在目标云平台是否存在;如果是,则跳到步骤S610;否则,继续向下执行;
步骤S602,判断当前能力定义包在本装置是否存在;如果是,则下发能力定义包到目标平台,并向下执行;否则,跳到步骤S609;
步骤S603,目标云平台能力执行器校验能力定义模板,判断是否通过校验;如果是,则继续向下执行;否则,跳到步骤S609;
步骤S604,目标云平台能力执行器解析能力定义模板,判断是否存在前导动作initAction定义;如果是,则继续向下执行;否则,跳到步骤S609;
步骤S605,目标云平台能力执行器根据能力定义中的initAction描述,为云平台装载能力所依赖的插件;
步骤S606,目标云平台在沙箱中加载能力定义,同时执行能力沙箱测试;
步骤S607,判断能力定义是否通过沙箱测试;如果是,则继续向下执行;否则,跳到步骤S609;
步骤S608,目标平台装载能力定义,同时反馈能力下发成功;
步骤S609,提示能力定义加载失败并反馈原因;
步骤S610,提示下发能力成功。
示例六:
参照图12,图12是本发明实施例的云平台管理架构进行应用实例化的具体流程图。
在图12的示例中,本发明实施例的云平台管理架构进行应用实例化的具体流程包括:
步骤S700,执行实例化应用操作;
步骤S701,判断编排应用包时,是否选择了云平台实例;如果是,跳转到步骤S710;否则,继续向下执行;
步骤S702,分析该应用包中,应用定义所使用的所有能力定义元素,根据能力边界得出支持此应用的云平台实例;
步骤S703,根据云平台实例,判断是否有云平台可以部署此应用;如果是,跳转到步骤S710;否则,继续向下执行;
步骤S704,判断是否选择高级功能进一步部署此应用包;如果是,则继续向下执行,否则,跳转到步骤S711;
步骤S705,展示所有接入的云平台实例;
步骤S706,指定部署此应用包的云平台实例;
步骤S707,根据能力边界,计算目标云平台要部署此应用还差的能力集合,并判断所差的能力集是否有对应能力安装包;如果是,则继续向下执行;否则,跳转到步骤S711;
步骤S708,下发对应能力安装包到目标云平台执行能力安装,并判断安装是否成功;如果是,则继续向下执行,否则,跳转到步骤S711;
步骤S709,在目标云平台上执行应用实例化动作,并判断是否实例化成功;若实例化失败,提示跳转到步骤S711;
步骤S710,呈现应用支持的云平台列表供用户选择;
步骤S711,提示应用实例化失败。
值得注意的是,由于本实施例中的云平台管理方法与上述实施例中的云平台管理架构属于同一发明构思,因此本实施例中的云平台管理方法的具体实施方式,可以参照上述实施例中的云平台管理架构的具体实施例,具有上述实施例中的云平台管理架构的全部改进,在此不作赘述。
另外,本发明的一个实施例还提供了一种云平台管理设备,该管理设备包括:如图1所示实施例中的云平台管理架构或者如图2实施例所示的云平台管理架构。
其中,实现上述实施例的云平台管理方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例的云平台管理方法,例如,执行以上描述的图5中的方法步骤S100至步骤S300、图6中的方法步骤S310、图7中的方法步骤S400、图8中的方法步骤S410、图9中的方法步骤S210、图10中的方法步骤S500至步骤S570、图11中的方法步骤S600至S610、图12中的方法步骤S700至S711或方法步骤S420。
需要说明的是,本实施例中的云平台管理设备,可以应用于如图1所示实施例中的云平台管理架构或者如图2实施例所示的云平台管理架构,这些实施例均属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本发明的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被处理器或控制器执行,例如,被上述设备实施例中的处理器执行,可使得上述处理器执行上述实施例中的云平台管理方法,例如,执行以上描述的图5中的方法步骤S100至步骤S300、图6中的方法步骤S310、图7中的方法步骤S400、图8中的方法步骤S410、图9中的方法步骤S210、图10中的方法步骤S500至步骤S570、图11中的方法步骤S600至S610、图12中的方法步骤S700至S711或方法步骤S420。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本发明的较佳实施方式进行的具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (15)
1.一种云平台管理架构,其特征在于,包括:
第一管理装置,用于基于开放应用模型定义至少一个应用能力,每个所述应用能力用于表征一个云平台支持的负载或者作用于所述负载的运维特性;
第二管理装置,连接于所述第一管理装置,用于根据来自所述第一管理装置的所述应用能力确定与所述应用能力对应的能力边界,所述能力边界用于表征支持所述应用能力的各个备选云平台;
应用编排和实例化装置,连接于所述第一管理装置,用于根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略。
2.根据权利要求1所述的云平台管理架构,其特征在于,所述应用编排和实例化装置,具体用于根据所述能力边界从各个所述备选云平台中确定用于执行应用编排和实例化的目标云平台。
3.根据权利要求2所述的云平台管理架构,其特征在于,所述第一管理装置,还用于根据所述目标云平台和所述应用能力确定所述目标云平台支持的目标应用能力。
4.根据权利要求3所述的云平台管理架构,其特征在于,所述第一管理装置,还用于向所述目标云平台发送与所述目标应用能力对应的目标能力定义数据包。
5.根据权利要求1至4任意一项所述的云平台管理架构,其特征在于,所述第二管理装置,具体用于校验来自所述第一管理装置的所述应用能力的运行情况,并且用于根据所述应用能力的所述运行情况调节所述应用能力,并且用于根据调节后的所述应用能力确定与调节后的所述应用能力对应的所述能力边界。
6.根据权利要求1所述的云平台管理架构,其特征在于,还包括用于存储与至少一个所述应用能力对应的至少一个能力模板的能力数据库,所述能力数据库通过所述第一管理装置连接于所述应用编排和实例化装置。
7.根据权利要求6所述的云平台管理架构,其特征在于,所述应用编排和实例化装置,还用于根据所述开放应用模型生成可编写的应用能力编排元素,所述应用能力编排元素与所述能力模板对应。
8.一种云平台管理方法,应用于云平台管理架构,所述云平台管理架构包括第一管理装置和第二管理装置,所述第一管理装置连接于所述第一管理装置;
所述云平台管理方法,包括:
控制所述第一管理装置基于开放应用模型定义至少一个应用能力,每个所述应用能力用于表征一个云平台支持的负载或者作用于所述负载的运维特性;
控制所述第二管理装置根据来自所述第一管理装置的所述应用能力确定与所述应用能力对应的能力边界,所述能力边界用于表征支持所述应用能力的各个备选云平台;
根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略。
9.根据权利要求8所述的云平台管理方法,其特征在于,所述根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略,包括:
根据所述能力边界从各个所述备选云平台中确定用于执行应用编排和实例化的目标云平台。
10.根据权利要求9所述的云平台管理方法,其特征在于,所述根据所述能力边界确定针对各个所述备选云平台的应用编排和实例化策略之后,还包括:
控制所述第一管理装置根据所述目标云平台和所述应用能力确定所述目标云平台支持的目标应用能力。
11.根据权利要求10所述的云平台管理方法,其特征在于,所述控制所述第一管理装置根据所述目标云平台和所述应用能力确定所述目标云平台支持的目标应用能力之后,还包括:
控制所述第一管理装置向所述目标云平台发送与所述目标应用能力对应的目标能力定义数据包。
12.根据权利要求8至11任意一项所述的云平台管理方法,其特征在于,所述控制所述第二管理装置根据来自所述第一管理装置的所述应用能力确定与所述应用能力对应的能力边界,包括:
控制所述第二管理装置校验来自所述第一管理装置的所述应用能力的运行情况,并且控制所述第二管理装置根据所述应用能力的所述运行情况调节所述应用能力,并且控制所述第二管理装置根据调节后的所述应用能力确定与调节后的所述应用能力对应的所述能力边界。
13.根据权利要求8所述的云平台管理方法,其特征在于,所述云平台管理架构还包括用于存储与至少一个所述应用能力对应的至少一个能力模板的能力数据库,所述能力数据库通过所述第一管理装置连接于所述应用编排和实例化装置;
所述云平台管理方法,还包括:
根据所述开放应用模型生成可编写的应用能力编排元素,所述应用能力编排元素与所述能力模板对应。
14.一种云平台管理设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求8至13中任意一项所述的云平台管理方法。
15.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求8至13中任意一项所述的云平台管理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915014.6A CN115705210A (zh) | 2021-08-10 | 2021-08-10 | 云平台管理架构及管理方法、管理设备、存储介质 |
EP22854983.8A EP4369183A4 (en) | 2021-08-10 | 2022-05-07 | ARCHITECTURE, METHOD AND APPARATUS FOR MANAGING A CLOUD PLATFORM AND STORAGE MEDIUM |
JP2024505368A JP2024527103A (ja) | 2021-08-10 | 2022-05-07 | クラウドプラットフォーム管理アーキテクチャ、管理方法、管理機器、及び記憶媒体 |
PCT/CN2022/091530 WO2023015988A1 (zh) | 2021-08-10 | 2022-05-07 | 云平台管理架构及管理方法、管理设备、存储介质 |
US18/293,627 US20240348501A1 (en) | 2021-08-10 | 2022-05-07 | Architecture, method and device for managing cloud platform, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915014.6A CN115705210A (zh) | 2021-08-10 | 2021-08-10 | 云平台管理架构及管理方法、管理设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115705210A true CN115705210A (zh) | 2023-02-17 |
Family
ID=85179551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110915014.6A Pending CN115705210A (zh) | 2021-08-10 | 2021-08-10 | 云平台管理架构及管理方法、管理设备、存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240348501A1 (zh) |
EP (1) | EP4369183A4 (zh) |
JP (1) | JP2024527103A (zh) |
CN (1) | CN115705210A (zh) |
WO (1) | WO2023015988A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234545A (zh) * | 2023-11-16 | 2023-12-15 | 深圳万物安全科技有限公司 | 应用程序安装方法、装置、终端设备以及存储介质 |
CN117234882A (zh) * | 2023-09-28 | 2023-12-15 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10521286B2 (en) * | 2017-03-23 | 2019-12-31 | Rathinasabapathy Arumugam | System and method for interoperable cloud DSL to orchestrate multiple cloud platforms and services |
KR101826498B1 (ko) * | 2017-05-02 | 2018-02-07 | 나무기술 주식회사 | 클라우드 플랫폼 시스템 |
US20190281112A1 (en) * | 2018-03-08 | 2019-09-12 | Nutanix, Inc. | System and method for orchestrating cloud platform operations |
CN109347663B (zh) * | 2018-09-28 | 2021-01-12 | 南京易捷思达软件科技有限公司 | 一种OpenStack云平台中资源可视化编排方法 |
CN110704164A (zh) * | 2019-09-30 | 2020-01-17 | 珠海市新德汇信息技术有限公司 | 一种基于Kubernetes技术的云原生应用平台构建方法 |
CN112799789B (zh) * | 2021-03-22 | 2023-08-11 | 腾讯科技(深圳)有限公司 | 一种节点集群管理方法、装置、设备及存储介质 |
-
2021
- 2021-08-10 CN CN202110915014.6A patent/CN115705210A/zh active Pending
-
2022
- 2022-05-07 US US18/293,627 patent/US20240348501A1/en active Pending
- 2022-05-07 EP EP22854983.8A patent/EP4369183A4/en active Pending
- 2022-05-07 JP JP2024505368A patent/JP2024527103A/ja active Pending
- 2022-05-07 WO PCT/CN2022/091530 patent/WO2023015988A1/zh active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234882A (zh) * | 2023-09-28 | 2023-12-15 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
CN117234882B (zh) * | 2023-09-28 | 2024-04-16 | 哈尔滨工业大学(威海) | 一种在线应用云资源供应软件定义模型构建方法及终端机 |
CN117234545A (zh) * | 2023-11-16 | 2023-12-15 | 深圳万物安全科技有限公司 | 应用程序安装方法、装置、终端设备以及存储介质 |
CN117234545B (zh) * | 2023-11-16 | 2024-03-08 | 深圳万物安全科技有限公司 | 应用程序安装方法、装置、终端设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20240348501A1 (en) | 2024-10-17 |
EP4369183A1 (en) | 2024-05-15 |
JP2024527103A (ja) | 2024-07-19 |
WO2023015988A1 (zh) | 2023-02-16 |
EP4369183A4 (en) | 2024-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10891121B2 (en) | Application blueprints based on service templates to deploy applications in different cloud environments | |
US10860339B2 (en) | Autonomous creation of new microservices and modification of existing microservices | |
US9858068B2 (en) | Methods and systems for planning application deployment | |
EP4369183A1 (en) | Cloud platform management architecture, method and device, and storage medium | |
US10003514B2 (en) | Method and system for determining a deployment of applications | |
CN108710949A (zh) | 用于创建机器学习建模模板的方法及系统 | |
US11681656B2 (en) | Database systems and methods for automated database modifications | |
CN112639734A (zh) | 仿真任务调度方法、执行方法、仿真实现方法及装置 | |
US20220222623A1 (en) | System and method of industrial automation multi-developer control code change commits | |
Krupitzer et al. | FESAS IDE: An integrated development environment for autonomic computing | |
US20220236697A1 (en) | Industrial automation multi-developer control code synchronization | |
CN114936019A (zh) | 一种组件及策略联动方法、装置、设备、系统及存储介质 | |
US11880680B2 (en) | Industrial automation distributed project control with milestone rollback | |
US20240272624A1 (en) | Notifications from an industrial automation development environment | |
CN117289904A (zh) | 人工智能模型构建方法、系统、设备及存储介质 | |
CN117311778A (zh) | 应用管理方法及装置 | |
CN107203471A (zh) | 联调方法、服务平台及计算机存储介质 | |
CN114500268B (zh) | chart资源的部署方法、装置、服务器及存储介质 | |
CN114721931B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
US12056467B2 (en) | Multiple controller smart object allocation in industrial design environment | |
US20210224644A1 (en) | Artificial intelligence-driven method and system for simplified software deployments | |
US20240176631A1 (en) | Wizard based gateway onboarding to cloud | |
US20240176919A1 (en) | Smart object controller allocation in industrial design environment | |
US20240005268A1 (en) | Network architecture provisioning using build sheets | |
Kushtov | Serverless CI/CD pipeline based on Google Cloud Platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |