使用高级拓扑描述的多云虚拟计算环境供应制造技术

技术编号:23404543 阅读:18 留言:0更新日期:2020-02-22 16:27
本公开涉及使用高级拓扑描述的多云虚拟计算环境供应。在一个示例中,一种方法可以包括由计算装置获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述。每个计算基础设施可以使用不同的计算架构来实现,并且由不同的提供商来部署。该示例方法还可以包括:通过在计算装置上执行的规则引擎,将高级拓扑描述转换为计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,该模式可以由相应的一个计算基础设施处理,以在相应的一个计算基础设施中实现虚拟计算环境,并且输出用于配置计算基础设施的模板。

Multi cloud virtual computing environment provisioning using advanced topology description

【技术实现步骤摘要】
使用高级拓扑描述的多云虚拟计算环境供应
本公开涉及计算基础设施虚拟化,并且更具体地,涉及在计算基础设施中供应虚拟计算环境。
技术介绍
在典型的云数据中心环境中,大量互连的服务器提供计算和/或存储能力来运行各种应用程序。例如,数据中心可以包括为订户(即,数据中心的客户)托管应用程序和服务的设施。例如,数据中心可以托管所有基础设施设备,例如,网络和存储系统、冗余电源和环境控制。在典型的数据中心中,存储系统和应用服务器集群经由一层或多层物理网络交换机和路由器提供的高速交换结构互连。更复杂的数据中心为遍布全球的基础设施提供位于各种物理托管设施中的用户支持设备。虚拟机是基于机器级虚拟化的虚拟化方案。虚拟机包括在主机计算装置的管理程序上运行的客户操作系统,以模拟计算机的硬件,从而为执行应用程序提供新的计算机环境。集装箱化是一种基于操作系统级虚拟化的虚拟化方案。集装箱是轻型且便携式执行环境,用于相互隔离以及与主机隔离的应用程序。因为集装箱没有与主机硬件计算环境紧密耦接,所以应用程序可以绑定到集装箱图像,并作为单个轻型包在支持底层集装箱架构的任何主机或虚拟主机上执行。因此,集装箱解决了如何使软件在不同的计算环境中工作的问题。集装箱提供了从一个计算环境持续运行到另一虚拟或物理计算环境的承诺。由于集装箱固有的轻型特性,单个主机可以支持比传统虚拟机(VM)更多的集装箱实例。集装箱通常是短暂的,可以比VM更有效地创建和移动,并且也可以作为逻辑相关元件的组来管理(对于某些编排平台,例如,Kubernetes,有时称为“舱”)。这些集装箱特征影响了对集装箱网络解决方案的需求:网络应该是敏捷的和可扩展的。VM、集装箱和裸机服务器可能需要在同一个计算环境中共存,能够在不同部署的应用程序之间通信。集装箱网络还应该不能确知如何使用用于部署集装箱化应用程序的多种编排平台。管理应用程序执行的部署和基础设施的计算基础设施可能涉及两个主要角色:(1)编排——用于跨主机集群自动化应用程序的部署、扩展和操作,并提供计算基础设施,其可以包括以集装箱为中心的计算基础设施;以及(2)网络管理——用于在网络基础设施中创建虚拟网络,以实现在虚拟环境(例如,集装箱或虚拟机)上运行的应用程序之间以及在传统(例如,物理)环境上运行的应用程序之间的分组通信。软件定义的网络有助于网络管理。
技术实现思路
本公开描述了使用分布在多个不同计算基础设施上的多云虚拟计算环境的高级拓扑描述来实现多云虚拟计算环境的供应的技术。例如,拓扑文件使用对由网络实例和计算装置组成的项目进行编码的高级语义和语法来定义所需的多云虚拟计算环境,并定义实例之间的连通性和关系。多云虚拟计算环境可以跨越多个不同的计算基础设施,这些计算基础设施对应于均托管多云虚拟计算环境的一个或多个项目的不同计算基础设施。该一个或多个项目可以包括应用程序、租户、组织等的任意组合。计算基础设施可以是例如公共云或私有云形式的虚拟化计算基础设施或者裸机服务器系统基础设施。多云虚拟计算环境的每个项目本身是单个计算基础设施内的虚拟计算环境,并且构成要在多个不同计算基础设施中供应的整个多云虚拟计算环境的一部分。转换器可以解析拓扑文件,以从包括网络、一个或多个存储装置和包括实例的计算资源的运营商获得虚拟计算基础设施细节,并且然后应用规则数据库,来为多云拓扑创建一组模板。该组模板中的每个模板可以定义要在一组多个计算基础设施中的不同一个计算基础设施内提供的期望虚拟计算环境。控制器可以将这组模板中的每个模板应用于相应的计算基础设施,以供应符合相应计算基础设施的计算基础设施拓扑模式的模板中定义的一个或多个项目。在控制器实现了期望的虚拟计算环境之后,控制器可以分发虚拟机或其他虚拟执行元件,用于使用多云虚拟计算环境执行应用程序。在一些示例中,除了将期望的计算基础设施应用于数据中心之外,控制器可以被配置为观察数据中心的计算基础设施的当前状态。例如,控制器可以观察示例数据中心中的第一基础设施。此外,控制器可以将第一基础设施与表示示例数据中心的期望计算基础设施的第二基础设施进行比较。转换器可以创建指令(即,至少一个模板),当由控制器导出时,这些指令将把第一基础设施转换为第二基础设施。这样,控制器可以被配置为在多个计算基础设施上指示期望的基础设施。这些技术可以提供一个或多个技术优势。一般来说,计算基础设施可以因平台而异。更具体地,构建和维护计算基础设施的指令可以因公共云和私有云而异。这些技术可以使应用开发者能够使用具有符合高级描述模式的定义的拓扑文件来为一个或多个应用程序定义完整的多云虚拟计算环境。具有如本文所述的转换器的控制器可以将拓扑文件转换为用于供应相应计算基础设施的相应模板,从而使得开发者能够表达预期的多云拓扑,而不必为不同计算基础设施内的每个项目单独创建模板。例如,控制器可以使用第一模板在由第一提供商运营的第一数据中心中构建和维护计算基础设施。此外,控制器可以使用第二模板在由第二提供商运营的第二数据中心中构建和维护计算基础设施。基于使用高级语言(例如,YAML非标记语言(YAML))表达的预期多云拓扑,自动创建每个计算基础设施所需的每个模板,可以减少供应拓扑的时间,并且至少在某些情况下允许零接触供应。在一个示例中,一种方法包括:由计算装置获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述,其中,每个计算基础设施使用不同的计算架构来实现,并且由不同的提供商来部署;由在计算装置上执行的规则引擎,将高级拓扑描述转换为计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,该模式可以由相应的一个计算基础设施处理,以在相应的一个计算基础设施中实现虚拟计算环境;并且输出用于配置计算基础设施的模板。作为另一示例,一种计算系统包括:一个或多个处理器,其耦接到存储器,其中,该一个或多个处理器被配置为:获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述,其中,每个计算基础设施使用不同的计算架构来实现,并且由不同的提供商来部署;将高级拓扑描述转换为计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,该模式可以由相应的一个计算基础设施处理,以在相应的一个计算基础设施中实现虚拟计算环境;并且输出用于配置计算基础设施的模板。作为另一示例,一种非暂时性计算机介质包括指令,用于使一个或多个处理器:获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述,其中,每个计算基础设施使用不同的计算架构来实现,并且由不同的提供商来部署;将高级拓扑描述转换为计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,该模式可以由相应的一个计算基础设施处理,以在相应的一个计算基础设施中实现虚拟计算环境;并且输出用于配置计算基础设施的模板。本公开的一个或多个示例的细节在附图和以下描述中阐述。从说明书和附图以及权利要求书中,本公开的其他特征、目的和优点将变得显而易见。附图说明图1是示出根据本公开的一个或多个方面的示例网络的概念图,该示例网络包括本文档来自技高网
...

【技术保护点】
1.一种方法,包括:/n由计算装置获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述,其中,每个所述计算基础设施使用不同的计算架构来实现,并且由不同的提供商来部署;/n通过在所述计算装置上执行的规则引擎,将所述高级拓扑描述转换为针对所述计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,所述模式能够由相应的一个计算基础设施处理,以在所述相应的一个计算基础设施中实现所述虚拟计算环境;并且/n输出用于配置所述计算基础设施的所述模板。/n

【技术特征摘要】
20180814 US 62/718,869;20180914 US 16/132,2091.一种方法,包括:
由计算装置获得要在多个计算基础设施中供应的虚拟计算环境的高级拓扑描述,其中,每个所述计算基础设施使用不同的计算架构来实现,并且由不同的提供商来部署;
通过在所述计算装置上执行的规则引擎,将所述高级拓扑描述转换为针对所述计算基础设施的相应模板,每个模板以符合模式的格式描述虚拟计算环境的拓扑,所述模式能够由相应的一个计算基础设施处理,以在所述相应的一个计算基础设施中实现所述虚拟计算环境;并且
输出用于配置所述计算基础设施的所述模板。


2.根据权利要求1所述的方法,
其中,所述虚拟计算环境的所述高级拓扑描述包括用人类可读数据串行化语言编码的文本文件,并且
其中,所述虚拟计算环境的所述高级拓扑描述包括虚拟网络、存储器和由虚拟计算环境提供的服务中的至少一个。


3.根据权利要求2所述的方法,其中,所述人类可读数据串行化语言包括YAML非标记语言(YAML)。


4.根据权利要求1所述的方法,其中,输出所述模板包括:
使用所述模板的相应模板供应每个所述计算基础设施,以实现所述虚拟计算环境;并且
将一个或多个虚拟执行元件部署到所述虚拟计算环境。


5.根据权利要求1所述的方法,
其中,所述拓扑为每个所述计算基础设施定义一个或多个项目,并且
其中,针对计算基础设施的所述一个或多个项目中的每个项目定义了要在所述计算基础设施中供应的相应虚拟私有云。


6.根据权利要求1所述的方法,其中,获得所述高级拓扑描述包括获得包括多个字段的所述高级拓扑描述,所述多个字段包括提供商、组织、项目和至少一个实例中的至少一个。


7.根据权利要求6所述的方法,其中,所述至少一个实例包括名称、角色、供应、用户名、接口、协议、可用性区域、机器ID、实例类型、子网、安全组和体积大小中的至少一个。


8.根据权利要求1所述的方法,其中,将所述高级拓扑描述转换为所述模板,包括基于所述高级拓扑描述创建相应模板,其中,基础设施即代码(IaC)软件被配置为使用所述模板在所选择的一个计算基础设施中实现所述虚拟计算环境。


9.根据权利要求8所述的方法,其中,IaC软件包括Terraform。


10.根据权利要求1所述的方法,其中,所述提供商包括亚马逊网络服务(AWS)、谷歌云平台(GCP)和微软Azure中的至少一个。


11.根据权利要求1至10中任一项所述的方法,其中,将所述高级拓扑描述转换为所述模板包括基于所述规则引擎的一组规则将所述高级拓扑描述转换为所述模板。


12.根据权利要求11所述的方法,其中,基于所述一组规则将所述高级拓扑描述转换为所述模板包括:
对于所述一组规则中的规则,将一组条件应用于所述高级拓扑描述,
对于所述一组条件中的每个应用条件,确定相应条件...

【专利技术属性】
技术研发人员:圣胡·C·亚伯拉罕
申请(专利权)人:丛林网络公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1