在不同分布式网络上针对消费服务的集成API和UI的制作方法

文档序号:12287814阅读:190来源:国知局
在不同分布式网络上针对消费服务的集成API和UI的制作方法与工艺

云计算服务可从多个不同的服务提供商获得,在所述云计算服务中用户在托管分布式服务器网络的虚拟机上运行应用。云计算服务可被托管在公共云上,诸如托管多个租户用户的远程数据中心。云计算服务还可被托管在私有云上,诸如可供与企业相关联的有限用户池使用的企业数据中心。每个云计算服务提供必须被使用才能访问特定公共或私有云上的服务的其自己的专属用户界面(UI)和应用编程接口(API)。

概述

提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。

本发明的实施例提供连接到不同云的能力以提供集成UI体验和集成API体验。UI集成通过在同一浏览器窗口中托管多个UI扩展来实现,每个UI扩展为不同的云服务提供UI。每个UI扩展用关于对应的云服务的所有必要的上下文信息来初始化,诸如来自该云的订阅列表和用于访问云中的数据的必要的安全令牌。

在API层面,特殊的连接器服务代理跨云调用,并且经由单个管理服务能够展示来自所有云的所有服务。一个云服务上的资源、使用和订阅可由其他云服务经由连接器直接访问,而无需用户动作。

通过联合各身份提供商,单一的登录体验是可能的。不同的云可被连接使得来自远程云的订阅可被导入到本地云中。替代地,远程云上的资源可被链接到本地云上的现有订阅中。UI和API集成允许用户查看来自不同云的资源和服务,就像它们来自一个“集成的”云。

附图

为了进一步阐明本发明的各实施例的以上和其他优点和特征,将参考附图来呈现本发明的各实施例的更具体的描述。可以理解,这些附图只描绘本发明的典型实施例,因此将不被认为是对其范围的限制。本发明将通过使用附图用附加特征和细节来描述和解释,附图中:

图1是向企业用户提供对本地、场所内资源和远程或公共资源的访问的系统的高级框图。

图2是根据一个实施例的提供云计算服务或分布式计算服务的数据中心的框图。

图3是例示用于提供针对多个云服务的集成用户界面和一致API的系统的一个实施例的框图。

图4例示了使用集成UI和集成API来链接多个云服务的系统。

详细描述

图1是向企业用户提供对本地、场所内资源和远程或公共资源的访问的系统的高级框图。本地企业终端101允许用户经由场所内网络103直接访问场所内数据中心102。位于企业100外部的用户可使用远程终端104访问场所内数据中心102。终端101和104可以是例如台式、膝上型、笔记本或平板计算机。其他设备(诸如专用终端、智能电话、个人数字助理(PDA)等)也可被用作终端101和104。

防火墙105为企业100提供网络安全系统,并且控制传入和传出的网络流量。外部终端104可经由互联网106或任何公共或专用网络连接到企业场所内网络103。如果终端104提供适当的凭证和认证,则防火墙105允许终端104访问场所内数据中心102。终端101和104处的企业用户也可经由互联网106访问公共数据中心107。

场所内数据中心102和公共数据中心107可向企业100和其他用户提供“云计算”服务。通过使企业用户免于管理信息技术(IT)基础设施,云计算以低成本提供几乎无限的计算、存储和网络资源,同时允许服务按需扩展。

图2是根据一个实施例的提供云计算服务或分布式计算服务的数据中心200的框图。多个服务器201由数据中心管理控制器202管理。负载平衡器203将请求和工作负载分布到各服务器201,以避免单个服务器201变得不堪重负的情况并且最大化数据中心200中的资源的可用容量和性能。路由器/交换机204经由外部网络205来支持服务器201之间以及数据中心200与外部资源和用户之间的数据流量,在企业场所内数据中心102的情况下,其可以是局域网(LAN),或者在公共数据中心(107)的情况下,其可以是因特网。

服务器201可以是传统的独立计算设备和/或它们可被配置成许多服务器设备的机架中的单个片。服务器201具有管理与其他数据库实体的通信的输入/输出(I/O)连接器。每个服务器201上的一个或多个主机处理器运行支持多个虚拟机(VM)的主机操作系统(O/S)。每个VM可运行其自己的O/S,使得服务器上的每个VM O/S不同,或相同,或两者的混合。VM O/S可以是例如相同O/S的不同版本(例如,运行不同的当前和旧版本的操作系统的不同的VM)。作为补充或替代,VM O/S可由不同的制造商提供(例如,一些VM运行操作系统,而其他VM运行操作系统)。每个VM随后可运行一个或多个应用(App)。每个服务器还包括可由主机处理器和VM访问并使用的存储(例如,硬盘驱动器(HDD))和内存(例如,RAM)。

云计算是计算能力作为服务的交付,使得访问IT资源(如计算能力、网络和存储等)如同从水龙头取水那样便利。与任何实用程序一样,您通常只需要为您使用的云计算付费。通过接入云服务,您可以利用海量数据中心的力量,而无需构建、管理或维护昂贵、复杂的IT构建块。借助云,IT的大部分复杂性被抽象出来,让您只专注于对您的业务至关重要的基础架构、数据和应用开发。

数据中心200提供池化资源,客户或租户可根据需要动态地提供和缩放应用,而不必添加更多服务器或附加的网络。这允许租户获得他们需要的计算资源,而不必在每个应用的自组织基础上获得、提供并管理基础设施。云计算数据中心200允许租户动态地扩展或缩减资源以满足其业务的当前需求。附加地,数据中心运营商可向租户提供基于使用的服务,以便当租户需要使用服务时,租户只需要为他们使用的资源付费。例如,租户可最初使用服务器201-1上的一个VM来运行他们的应用。当需求增加时,数据中心可根据需要激活在相同服务器和/或在新服务器201-N上的附加的VM。如果需求稍候下降,则这些附加的VM可被停用。

数据中心200可提供得到保证的可用性、灾难恢复以及备份服务。例如,数据中心可将服务器201-1上的一个VM指定为租户的应用的主要位置,并且可激活相同或不同的服务器上的第二个VM作为备用或备份,以防第一个VM或服务器201-1出故障。数据库管理器202自动地将传入用户请求从主VM移动到备份VM,而无需租户干预。虽然数据中心200被例示成单个位置,但是将理解到服务器201可被分布到全球的多个位置以提供附加的冗余和灾难恢复能力。

数据中心运营商可向租户提供不同级别的云计算服务。借助基础设施即服务(IaaS)产品,较低级别的IT堆栈被作为服务递送,从而使开发人员摆脱提供物理机和配置网络的大部分复杂性。借助IaaS,租户可在高度可扩展和可用的云环境中轻松地提供虚拟机,开发并测试解决方案,然后将应用部署到生产中。借助平台即服务(PaaS)产品,从网络连接到运行时的一切被提供。PaaS通过向应用服务和操作系统的管理(包括更新)提供附加的支持来使开发变得容易。借助PaaS,租户可专注于应用的业务逻辑,并快速将应用从概念移动到发布。借助软件即服务(SaaS)产品,单个完成的应用或应用套件可通过Web浏览器被递送给客户,从而消除了他们管理IT堆栈的底层组件(包括应用代码)的需求。

再次参考图1,企业可使用公共数据中心或公共云计算服务以利用成本节省、减少的管理需求或所提供的特定服务。另一方面,例如,企业还可使用场所内数据中心或私有云服务来确保数据安全或使用专属应用。将理解到,企业不必使用场所内数据中心以利用私有云服务。相反,私有云服务可由限制对企业的访问的数据中心来提供。企业使用公共云服务和私有云服务通常被称为混合云。

不同的云计算服务将需要不同的API和不同的UI。在混合云的情况下,其中一些服务由(例如在场所内数据中心上运行的)私有云计算提供,并且其他服务由公共云提供,企业必须管理这些不同的API和UI并且确保他们针对每个云使用正确的API和UI。当前的云提供商使得他们的各个云服务能够被消费,但是目前不可能经由单个一致的用户体验和单个一致的API来消费来自多个云的服务。相反,当前服务仅在其自己的主机云中提供。结果,当在不同的云中提供相同的服务时,目前不可能将现有的私有云或场所内服务扩展到公共云中,使得可以以集成的方式使用相同的服务UI和API来跨越不同的云访问资源。

本发明的实施例集成来自不同云的服务,并允许一个服务将其自身配置成使用另一服务。例如,托管在私有云中的数据库服务可被配置成备份到公共云中,而企业用户只需要访问一个界面。较早的系统无法实现这一点,而是要求用户打开两个UI应用并使用两种不同的安全机制对不同的云进行不同的API调用。

图3是例示用于为多个云服务(诸如公共或远程云301以及私有或本地云302)提供一个用户界面和一致的API的系统300的一个实施例的框图。两个云都可提供类似的服务(诸如数据库服务),但是每个云上的服务将具有不同的身份。数据库服务可具有类似的UI,但是插入UI中的服务对于每个云而言将是不同的。本发明的实施例以这样的方式来连接不同的云,使得用户访问UI(诸如经由浏览器303),并且消费来自两个云的服务,就好像它们被托管在一个云上一样。集成的UI对用户隐藏云边界,使得用户可在一个UI下访问和管理不同的云服务。用户可为所选服务选择所需接口,诸如使用私有云301的数据库服务UI来访问来自每个云的数据库服务。虽然用户正在访问不同云上的不同的服务,但是UI提供了不同云之间的无缝集成。

多个云的集成具有两个部分-集成的UI和集成的API。图3中的示例系统例示了在浏览器303上提供集成的UI。然而,将理解到集成的UI可经由访问两个云上的服务或数据的其他应用(诸如集成开发环境(IDE)或其他工具)来提供。

浏览器303加载和初始化壳程序304,壳程序304加载用户的云服务订阅的列表。壳程序304可以是例如从网站加载的基于订阅,壳程序可确定用户注册使用哪些资产和服务以及这些资产和服务位于公共云301或私有云302中的位置。例如,用户可被注册以管理VM、网站和/或SQL数据库服务。这些服务中的一些可由公共云301提供,并且其他服务由私有云302本地提供。

壳程序304在浏览器中创建框架305、306,并将框架指向不同的网站,这些网站为用户订阅的不同服务提供扩展。框架(例如,HTML框架)可在浏览器中被使用以提供云服务之间的隔离。公共云扩展305服务来自公共云301的网站的UI,而私有云扩展306服务来自私有云302的网站的UI。每个框架305、306接收其相应的信息,并且壳程序304将框架协调到统一的UI中,该统一的UI是不同扩展的集合。每个扩展加载自不同的云并且被适配成针对该云启用特定的安全上下文,诸如标识和认证。壳程序304用作预期云扩展的某种实现或格式的基本操作系统。只要兼容扩展可被创建,壳程序304就可创建用于任何云的框架。例如,不同的扩展可被创建来访问在Microsoft Azure、Windows Azure Pack(WAP)、Amazon Web服务(AWS)、Google云平台等上运行的云服务。壳程序304提供用于多个不同的同构和/或异构云服务的UI的汇聚。UI允许从用户抽象出云边界以达到这种程度,使得用户可被提供混合计划(其中服务或服务区域被跨云边界提供),而用户甚至没有在视觉上注意到云边界。

壳程序304提供可跨云边界进行本地和无缝扩展的云管理用户体验。公共云301和私有云302可提供相同和不同的服务。壳程序304加载用于跨云边界管理单个服务的本地UI扩展。用于管理每个云服务的适当版本由扩展加载。例如,与为私有云302加载的VM管理服务的版本相比,较新版本的VM管理服务可为公共云301加载。

尽管图3例示了使用公共和私有云的系统,但是将理解到本发明可与云服务的任何组合一起使用。例如,浏览器303可向两个私有云或两个公共云提供UI。壳程序304加载用户注册的云服务的适当扩展。在其他实施例中,多于两个的云服务可使用浏览器303来访问。每个云的更新速率将有所不同,使得一些云将具有比其他云更新近的服务版本。壳程序304可使用扩展来快速更新,使得当UI在一个云中改变时,UI的最新版本可由壳程序304提供给用户。

壳程序304的服务不可知部分可从不同的云加载一些部分。壳程序304标识哪个云具有UI的最新版本并且加载该最新版本。连同最新版本,壳程序加载一个“沙箱”,其可加载较旧版本的UI。沙箱使旧版本出现在壳程序中,就像该旧版本是最新的版本一样。这可通过针对UI的改变执行适当的API转换来实现。虽然较旧版本的API与具有旧版本的云被一起使用,但是壳程序为用户加载较新版本的服务UI。结果,即使当导航到其他云上的服务的较旧版本时,用户也可被呈现更新的UI版本。

在浏览器303上所呈现的主题可在不同的云之间被标准化。例如,当较新版本的UI从公共云301被加载时,浏览器304仍可使用与私有云304相关联的本地主题,即使该主题是针对服务的较旧版本来创建的。针对所有云而言,这允许一个云的样式和定制被呈现给用户。

在其他实施例中,当相同的服务被同时提供公共云301和私有云302时,浏览器303可使用单个UI扩展来跨两个云管理资源。即使所部署的服务是不同的版本,该单个UI扩展也可被使用。

浏览器303管理用户身份,使得使用私有云302的登录允许用户同样访问公共云301上的和跨越所有云边界的资源。

每个云具有由加载在浏览器304上的扩展所访问的门户。公共云门户307提供适合于跨因特网308将公共云扩展305连接到公共云301的API框架。防火墙309为公共云301提供安全性。扩展305被配置成根据需要穿过防火墙309以访问公共云301。私有云门户310提供适合于跨网络311将私有云扩展306连接到私有云302的API框架。如果浏览器303和私有云302在相同的位置,则网络311可以是LAN或企业网络。如果浏览器303位于私有云302的远程,则网络311可以是因特网。防火墙312为私有云302提供安全性,诸如当浏览器303通过因特网或其他公共网络访问服务时。

门户307和310提供对每个云上的资源管理器、使用管理器和订阅管理器的访问。资源管理器协调资源提供商,资源提供者可提供例如VM、网站和数据库资源的实例。使用管理器监视资源消耗以计费。订阅管理器维护租户订阅,租户订阅包括连接器、连接的服务和配额。

云301和302可使用基于角色的访问控制(RBAC)来控制哪些是管理员和租户能够做的,并且基于企业内单个用户的角色来限制对被授权用户的访问。浏览器303适当地连接到身份/认证管理器313或314以验证用户并确定用户在每个云上应被提供哪些访问。身份/认证管理器313、314还可彼此通信。这允许用户访问一个门户,然后查看两个云。身份/认证管理器313可在一个实施例中使用Azure活动目录(Azure Active Directory)作为综合身份并且访问用于公共云301的管理解决方案。私有云302中的身份/认证管理器314可以是例如安全令牌服务(STS),该安全令牌服务充当安全网关以认证用户并发出携带描述用户的声明的安全令牌。

与集成UI一样,集成API为云提供了一个通用接口。这例如通过使用私有云中的连接器资源提供商315来实现,连接器资源提供商315负责连接到远程的公共云301。连接器资源提供商315转换云301的本地API,使得它与另一云中的资源提供商合同相兼容。连接器资源提供商315具有与私有云302上的其他资源提供商相同的接口,但还包括到远程云301的链接。

连接器资源提供器315将私有云302上的资源管理器API转换成在公共云301上所使用的资源管理器API。连接器资源提供器315还将私有云302上的使用API转换成在公共云301上所使用的使用API。这允许例如对在私有云处使用远程云上的资源消耗进行汇总计费。连接器资源提供器315还将私有云302上的订阅管理API转换成在公共云301上所使用的订阅管理API。这允许私有云302来配置经由连接器资源提供商315在公共云301中所实施的配额。

借助连接器315,当私有云302中的用户命中本地API端点时,他们将看到可从私有云302和公共云301两者获得的资源的列表,就像资源被本地注册,即便资源物理上位于远程的云上。

例如,用户可在私有云上具有数据库服务,而公共云可提供附加的数据库服务。使用连接器315,用户将能够访问私有云上的那些附加的数据库服务,就好像它们在本地存在一样。

在API层面使用此特殊连接器服务,连接器315代理跨云调用并且经由单个管理服务能够展示来自所有云的所有服务。

连接器315跨云301和302联合身份以向用户提供单个登录过程。每个云可使用不同的身份提供商313、314来连接到API。连接器315允许用户登录到私有云302并且消费来自公共云301的服务,而不必再次在公共云302上登录。在一个实施例中,这可以通过同步身份和认证目录313和314来实现。

在一个实施例中,存在用于提供跨云连接的受管理的和不受管理的选项。每个选项建立不同云之间的关系,使得用户可访问两个云上的资源。用户具有对两个云的订阅或需要来自两个云的服务,并且需要管理该连接。

对于不受管理的访问,终端用户被提供对来自本地云的门户的远程云中的订阅的不限定范围的、不受约束的访问。与远程云提供商的计费关系被终端用户拥有。远程订阅服务、配额和资源不与本地订阅绑定。终端用户对来自本地云提供商的订阅和来自远程云提供商的分开的订阅知情。终端用户向本地云提供商注册远程订阅,使得远程云中的服务可被访问。

对于收管理的访问,终端用户被提供对来自本地云的门户的远程云中的订阅的限定范围的、受约束的访问。与远程云的计费关系由本地云提供商处理,并且与提供商的计费关系由终端用户处理。远程预订的服务、配额和资源被加载或被附加到本地预订的服务、配额或资源中。终端用户只对一个订阅知情,该订阅来自本地云提供商。

管理API 316被用来向本地私有云302注册远程公共云301。管理API 316被用来使私有云302知晓公共云301,使得私有云302可从公共云301引入外部资源。管理API 316允许用户将私有云302上的现有订阅链接到公共云301上可用的服务。替代地,私有云门户310是租户API,该租户API可被用来从公共云301导入现有订阅以提供对私有云302上可用的服务的访问。被导入的订阅向私有云302注册,使得用户可访问来自两个云的服务。这允许用户将他们自己的现有公共云订阅带到私有云帐户。订阅是本地注册的,以允许用户访问远程服务。公共云301上的使用管理器然后可将来自私有云302的资源使用与特定订阅相关联以用于计费。

为了简化,上述示例仅使用两个云服务-本地或私有云以及远程或公共云。然而,应当理解,对于以这种方式可以连接多少不同的云没有限制。连接器或连接器资源提供商的多个实例可被用来将一个云服务链接到一个或多个附加的云服务。

图4例示了使用集成UI和集成API来链接三个云服务的系统400。在该示例中,用户具有对来自云服务401、402、403的服务的订阅。这些云服务401-403可以是私有和/或公共云的任何组合。云服务401-403可由不同的服务提供商(诸如为受限用户组维护私有云服务的企业IT部门或维护许多租户可用的公共云服务的远程服务提供商)所支持。云服务401-403可定位在彼此远离并且由相同或不同的提供商维护的数据中心中。替代地,云服务401-403可位于同处,但是云服务401-403是相同数据中心的隔离的子部分。

用户使用浏览器404访问云服务。在不同的实施例中,浏览器404可在远离所有云服务401-403的机器上运行,或者与一个或多个服务同处,诸如与私有云位于同处的企业机。浏览器404加载壳程序405,壳程序405加载用户的云服务订阅的列表。基于订阅,壳程序可确定用户注册哪些资产和服务以及这些资产和服务位于云服务401-403中的位置。壳程序405然后分别加载对应于云服务401-403的本地UI扩展406、407、408。壳程序405和云扩展406-408可被加载,例如从本地托管的网页或从云服务401-403中的一个所托管的远程网页。云扩展406-408中的每一个被适配成连接到用于对应云服务401-403的云门户409、410、411。

壳程序405在浏览器404中创建框架并将该框架指向用户订阅的云服务的云扩展。每个框架接收其相应的信息,并且壳程序405将框架协调到用户的统一UI中。每个云的扩展406-408被适配成启用该云的特定安全上下文。

云门户409-411提供适合于跨网络412来连接云门户409-411各自的云扩展和云服务的API框架,网络412可以是企业LAN或公共互联网,这取决于运行浏览器404和每个云服务401-403的机器的位置。门户409-410提供对每个云服务上的资源、使用和订阅413、414、415的访问。

连接器416提供转换每个云服务的本地API的集成API,使得本地API与其他云服务中的资源提供商合同兼容。连接器416将云服务401上的资源管理器API转换成在云服务402和403上所使用的资源管理器、使用和订阅管理API。这允许用户看到在所有云服务401-403中可用的已订阅资源的列表。这些资源对于用户来而言起来就好像它们在云服务401上被本地注册一样,即使资源在物理上位于远程云402、403上。

连接器416或连接器416的多个实例可被用来将一个云服务链接到多个其他云服务。在其他实施例中,远程云服务402上的连接器417可被用来链接远程云服务402与403之间的服务和资源。这将允许用户在云服务402上预订的资源直接访问云服务403上的相关资源,而不需要将来自是该事务的第三方的云服务401的动作。

尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1