混合云计算系统中的使用跟踪的制作方法

文档序号:17120699发布日期:2019-03-15 23:46阅读:211来源:国知局
混合云计算系统中的使用跟踪的制作方法

远程或“云”计算通常利用远程服务器的集合来提供计算、数据存储、电子通信或其他云服务。计算机网络可以将远程服务器互连为节点以形成具有一个或多个计算集群的计算结构。在操作期间,计算结构中的多个节点可以协作以提供促进用户应用的执行的分布式计算环境,以便提供期望的云服务。



技术实现要素:

提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中被进一步描述。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也并不旨在用于限制所要求保护的主题的范围。

云计算系统可以是公共的或私有的。公共云计算系统通常向公众提供云服务的订购。公共云的示例包括microsoftamazonweb和google另一方面,公司、大学、政府实体和其他组织通常可以具有被配置为部署云服务以仅用于内部使用的专用服务器、数据中心或其他计算设施。这样的云计算系统通常被称为私有云。

私有云的一个缺点是,私有云的用户通常不能访问在公共云中被发布的应用。例如,独立软件提供者(“isv”)可以开发各种类型的应用并且“发布”应用或使应用可用于公共云中的其他用户。然后,其他用户可以在公共云中下载、购买、租用或以其他方式部署和使用所发布的应用。但是,由于私有云中的严格的访问控制,isv通常无法直接将所开发的应用发布到私有云。因此,私有云的用户通常无法使用公共云中可用的应用。

此外,实现私有云可能是昂贵的。组织通常购买和/或许可将云计算平台的昂贵的软件部署在私有服务器或数据中心中。备选成本结构是基于使用的成本结构,在该结构下,组织仅支付软件的实际使用而具有很少或没有前期成本。但是,在私有云中实现基于使用的成本结构可能很困难,因为由于私有云中的严格的访问控制,软件提供者通常无法访问私有云中的任何使用数据。

所公开的技术的若干实施例可以通过在公共云中实现可以与私有云中的连接服务对接的访问服务来解决至少一些前述缺陷。访问服务可以被配置为将公共云中的信息公开给私有云的连接服务,而无需直接访问私有云中的资源。例如,访问服务可以被配置为基于与连接服务相关联的服务订购来提供可以被部署在私有云中的公共云处可用的应用的列表。访问服务还可以被配置为促进私有云取回应用的工件(artifact)以促进应用在私有云中的发布。

在其他示例中,访问服务可以被配置为促进将应用的使用数据从私有云上传到公共云。在某些实施例中,私有云处的连接服务可以联系公共云处的访问服务以获取在公共云中的网络存储装置中存储使用数据的许可。作为响应,访问服务可以验证连接服务的凭证,并且在凭证的验证之后提供许可。通过所获取的许可,私有云然后可以将使用数据存储在网络存储装置中。然后,访问服务可以引起对网络存储装置中存储的使用数据执行复制、过滤、异常检测或其他处理。

所公开的技术的若干实施例可以允许一个或多个私有云成为公共云的扩展而不损害与私有云相关联的严格的访问控制。公共云处的访问服务不是直接访问私有云中的资源,而是公开信息并且促进对在公共云处可用的各种资源的访问。因此,私有云的管理员可以选择、取回和部署在公共云处可用的各种资源,同时保持对私有云的严格的访问控制。利用公共云的许可,私有云还可以定期地或以其他合适的方式将使用数据上传到公共云。作为结果,可以针对云计算平台的软件或被部署在私有云中的应用实现基于使用的成本结构。

附图说明

图1是根据所公开的技术的实施例的混合云计算系统的示意图。

图2a是示出根据所公开的技术的实施例的适用于图1中的混合云计算系统的云计算系统的示意图。

图2b是示出根据所公开的技术的实施例的图2a中的云计算系统的某些硬件/软件组件的示意图。

图3a至图3c是示出在从公共云计算系统向私有云计算系统发布应用的某些阶段期间图1中的混合云计算系统的某些硬件/软件组件的示意图。

图3d是示出在移除先前在私有云计算系统中被发布的所发布的应用的某些阶段期间图1中的混合云计算系统的某些硬件/软件组件的示意图。

图4是示出在将使用数据从私有云计算系统上传到公共云计算系统的某些阶段期间图1中的混合云计算系统的某些硬件/软件组件的示意图。

图5是示出在针对私有云计算系统中的连接服务配置对公共云计算系统的服务订购的某些阶段期间图1中的混合云计算系统的某些硬件/软件组件的示意图。

图6a至图6d是示出根据所公开的技术的实施例的促进公共云计算系统与私有云计算系统之间的操作的过程的各个方面的流程图。

图7是适用于图1中的混合云计算系统的某些组件的计算设备。

具体实施方式

下面描述用于促进公共云与私有云之间的操作的计算系统、设备、组件、模块、例程和过程的某些实施例。在以下描述中,包括组件的具体细节以提供对所公开的技术的某些实施例的透彻理解。相关领域的技术人员还可以理解,所公开的技术可以具有另外的实施例,或者可以在没有下面参考图1至图7描述的实施例的若干细节的情况下被实践。

如本文中使用的,术语“云计算系统”或“云”通常是指被配置为经由计算机网络提供各种云计算服务的计算机系统。云计算系统可以包括将大量远程服务器或节点彼此互连和/或与外部网络(例如,互联网)互连的多个网络设备。在一个示例中,云计算系统可以包括多个容器、机架或其他合适的机箱,每个机箱在云计算数据中心(或其部分)中保持多个服务器。术语“网络设备”通常是指网络通信组件。示例网络设备包括路由器、交换机、集线器、网桥、负载平衡器、安全网关或防火墙。“节点”通常是指被配置为实现一个或多个虚拟机、虚拟路由器、虚拟网关或其他合适的虚拟化计算组件的计算设备。例如,节点可以包括计算服务器,该计算服务器具有被配置为支持一个或多个虚拟机的管理程序。

如本文中使用的,术语“公共云”或“公共云计算系统”通常是指向公众提供云服务的订购的云计算系统。公共云的示例包括microsoftamazonweb和google相反,术语“私有云”或“私有云计算系统”通常是指由于安全性、数据保护、隐私或其他问题而用于组织的内部使用和在组织的严格的访问控制下的云计算系统。公共云或组织外部的用户通常无法访问组织的私有云。术语“混合云”通常是指云计算系统,它的一部分是与作为私有云的另一部分互连的公共云。如下面更详细讨论的,所公开的技术的若干实施例可以允许公共云与私有云之间的交互,同时通常在私有云处保持严格的访问控制。

本文中还使用的术语“云计算服务”或“云服务”通常是指通过诸如因特网的计算机网络而被提供的一个或多个计算资源。示例云服务包括软件即服务(“saas”)、平台即服务(“paas”)和基础设施即服务(“iaas”)。saas是一种软件分发技术,其中软件应用由云服务提供者托管在例如数据中心中,并且由用户通过计算机网络访问。paas通常是指提供计算机网络传送操作系统和相关服务,而无需下载或安装。iaas通常是指用于支持存储、硬件、服务器、网络设备或其他组件的外包设备,所有这些都经由计算机网络可访问。

本文中还使用的术语“资源提供者”通常是指被配置为提供公共或私有云的一个或多个资源或使其可用的云服务。一个或多个资源可以通过例如经由用户门户可访问的资源管理器而被部署和管理。在某些实施例中,资源提供者可以被配置为提供用于处理相关资源的代表性状态转移(“rest”)应用程序编程接口(“api”)。例如,资源提供者可以被配置为部署密钥保管库以存储密钥和凭据。该资源提供者可以提供用于创建密钥保管库的、被称为“保管库”的示例资源类型、以及用于在密钥保管库中创建密钥的、被称为“保管库/秘密”的另一示例资源类型。在其他实施例中,资源提供者还可以提供计算资源(例如,虚拟机)、存储资源(例如,网络存储)、网络资源(例如,虚拟网络)、数据库资源(例如,数据库服务器)或其他合适类型的资源。

私有云可以通过施加严格的访问控制来向组织的用户提供安全和/或私有的云服务。然而,这样的严格的访问控制可能有几个缺点。在一个示例中,由isv开发并且在公共云中可用的应用通常不可用于私有云中的用户。在另一示例中,基于使用的成本结构可能难以在私有云中被实现,因为软件提供者通常不能访问私有云中的任何使用数据。通过在公共云中实现访问服务以与私有云中的连接服务对接,所公开的技术的若干实施例可以解决至少一些前述缺陷。访问服务可以将公共云的各种资源公开给私有云,以及促进从私有云到公共云的数据上传。因此,可以在私有云中发布在公共云处可用的应用,并且可以将私有云中的使用数据上传到公共云以允许基于使用的成本结构的实现,如下面参考图1至图7更详细描述的。

图1是示出根据所公开的技术的实施例的混合云计算系统100的示意图。如图1中所示,混合云计算系统100可以包括经由计算机网络104与用户101的客户端设备102互连的公共云108和一个或多个私有云106。计算机网络104可以包括企业内联网、社交网络、因特网或其他合适类型的网络。下面参考图2a更详细地描述一个示例计算机网络104。

尽管图1中示出了混合云计算系统100的特定组件和相关布置,但在其他实施例中,混合云计算系统100可以包括附加的和/或不同的组件。例如,在所示实施例中,混合云计算系统100包括两个私有云,即第一私有云106a和第二私有云106b。在其他实施例中,混合云计算系统100可以包括三个、四个或任何其他合适数目的私有云106。在另外的实施例中,混合云计算系统100还可以包括web服务器、域名服务器或其他合适的组件。

客户端设备102可以单独地包括促进用户101经由计算机网络104对公共云108和/或私有云106的访问的计算设备。例如,在说明性实施例中,客户端设备102单独地包括台式计算机。在其他实施例中,客户端设备102还可以包括膝上型计算机、平板计算机、智能电话或其他合适的计算设备。尽管图1中示出了三个用户101以用于说明目的,但在其他实施例中,混合云计算系统100可以促进任何合适数目的用户101经由计算机网络104访问公共云108和/或私有云106。

公共云108和私有云106可以被单独配置为向用户101提供某些云服务的订购。如图1中所示,公共云108对公众开放。这样,所有用户101都可以访问公共云108。另一方面,私有云106可以具有严格的访问控制。这样,只有被授权的用户101才可以访问私有云106。例如,第一用户101a和第二用户101b可以被授权分别访问第一私有云106a和第二私有云106b,但不是第三用户101c。这样,第三用户101c不能在能够访问公共云108的同时还能够访问第一私有云106a或第二私有云106b中的任何一个。

如图1中所示,第一、第二和第三管理员103a-103c可以分别经由附加客户端设备102'管理第一私有云106a、第二云106b和公共云108。然而,公共云108的第三管理员103c不能访问任一私有云106。如下面更详细描述的,所公开的技术的若干实施例涉及在公共云108处实现资源提供者(以下被称为“访问服务”),该资源提供者可以与私有云106处的另一资源提供者(以下被称为“连接服务”)对接。访问服务可以允许私有云106的第一管理员103a和第二管理员103b能够访问公共云108处可用的资源以及将使用数据从私有云106上传到公共云108。这样,私有云106可以成为公共云108的扩展以便能够从公共云108向私有云106发布应用以及在私有云106中实现基于使用的成本结构。适用于公共云108或私有云106的云计算系统的示例组件在下面参考图2a至图2b更详细地描述。

图2a是示出根据所公开的技术的实施例的适用于图1的公共云108或私有云106的云计算系统110的示意图。如图2a中所示,云计算系统110可以包括将与用户101相关联的多个客户端设备102与计算结构114互连的底层网络109。虽然图2a中示出了云计算系统110的特定组件,但在其他实施例中,云计算系统110还可以包括附加的和/或不同的组成部分。例如,云计算系统110还可以包括彼此互连的附加计算结构(未示出)、网络存储设备、公用设施基础设施和/或其他合适的组件。

如图2a中所示,底层网络109可以包括将用户101和计算结构114互连的一个或多个物理网络设备113。网络设备113的示例可以包括路由器、交换机、防火墙、负载平衡器或其他合适的网络组件。尽管出于说明目的在图2a中示出了特定连接方案,但在其他实施例中,网络设备113可以按照分层、平面、“网格”或其他合适的拓扑结构可操作地耦合。

如图2a中所示,计算结构114可以包括通过网络设备113可操作地彼此耦合的多个节点105。在某些实施例中,节点105可以单独地包括处理器、物理服务器或几个物理服务器。在其他实施例中,节点105还可以包括虚拟服务器或多个虚拟服务器。节点105可以被组织成机架、可用区域、组、集合、计算集群或其他合适的划分。例如,在所示实施例中,节点105被分组为可操作地耦合到底层网络中的相应的网络设备113的三个计算集群107(分别示出为第一、第二和第三计算集群107a-107c)。尽管出于说明目的在图2a中示出了三个计算集群107,但在其他实施例中,计算结构114可以包括具有相似的或不同的组件和/或配置的一个、两个、八个、十六个或任何其他合适数目的计算集群107。

如图2a中所示,计算结构114还可以包括被配置为监测、控制或以其他方式管理计算集群107中的节点105的操作的管理控制器115。例如,在某些实施例中,管理控制器115可以包括被配置为管理计算集群107中的处理、存储、通信或其他合适类型的硬件资源以用于托管云服务的结构控制器。在其他实施例中,管理控制器115还可以包括数据中心控制器、应用传送控制器或其他合适类型的控制器。在所示实施例中,管理控制器115被示出为与计算集群107分离。在其他实施例中,管理控制器115可以包括计算集群107中的一个或多个节点105。在另外的实施例中,管理控制器115可以包括被托管在计算集群107中的一个或多个节点105上的软件服务。

在操作中,用户101可以经由例如用户门户(未示出)请求云服务的部署。例如,用户101可以请求虚拟机145的实例化(如图2b所示)。响应于从用户101接收到请求,管理控制器115可以验证用户101的订购级别,并且在验证之后提供虚拟机的实例化。然后,管理控制器115可以引起一个或多个节点105实例化所请求的虚拟机145,如下面参考图2b更详细描述的。

图2b是示出根据所公开的技术的实施例的在底层网络109上实现并且适合于图2a的云计算系统110的示例覆盖网络109'的示意图。在图2b中,为清楚起见,仅示出了图2a的底层网络109的某些组件。如图2b中所示,第一节点105a和第二节点105b各自可以包括可操作地彼此耦合的处理器131、存储器133和输入/输出组件135。处理器131可以包括微处理器、现场可编程门阵列和/或其他合适的逻辑器件。存储器133可以包括被配置为存储从处理器131接收的数据以及处理器131的指令(例如,用于执行下面参考图6a至图6d讨论的方法的指令)的易失性和/或非易失性介质(例如,rom;ram、磁盘存储介质;光学存储介质;闪存设备和/或其他合适的存储介质)和/或其他类型的计算机可读存储介质。输入/输出组件135可以包括被配置为接受来自操作者和/或自动软件控制器(未示出)的输入和向其提供输出的显示器、触摸屏、键盘、鼠标、打印机和/或其他合适类型的输入/输出设备。

第一节点105a和第二节点105b的存储器133可以包括由处理器131可执行以引起各个处理器131提供管理程序141(分别标识为第一管理程序141a和第二管理程序141b)和其他合适组件(未示出)的指令。管理程序141可以单独地被配置为发起、监测、终止和/或以其他方式本地管理被组织到租户站点143中的一个或多个虚拟机145。例如,如图2b中所示,第一节点105a可以提供分别管理第一租户站点143a和第二租户站点143b的第一管理程序141a。第二节点105b可以提供分别管理第一租户站点143a'和第二租户站点143b'的第二管理程序141b。管理程序141可以是软件、固件或硬件组件。租户站点143各自可以包括用于特定用户101的多个虚拟机145或其他合适的租户实例。例如,第一节点105a和第二节点105b都可以针对用户101托管租户站点142a和142a'。第一节点105a和第二节点105b都可以针对第二用户101b(图1)托管租户站点143b和143b'。每个虚拟机145可以执行相应的操作系统、中间件和/或应用。

还如图2b中所示,云计算系统110可以包括覆盖网络109',覆盖网络109'具有跨越多个节点105互连租户站点143a和143b的一个或多个虚拟网络147。例如,第一虚拟网络147a互连第一节点105a和第二节点105b处的第一租户站点143a和143a'。第二虚拟网络147b互连第一节点105a和第二节点105b处的第二租户站点143b和143b'。尽管单个虚拟网络147被示出为对应于一个租户站点143,但在其他实施例中,多个虚拟网络147(未示出)可以被配置为对应于单个租户站点143。

即使虚拟机145位于不同节点105上,虚拟网络147上的虚拟机145也可以经由底层网络109(图2a)彼此通信。可以将每个虚拟网络147的通信与其他虚拟网络147隔离。在某些实施例中,可以允许通信通过安全网关从一个虚拟网络147跨越到另一虚拟网络,或以其他方式以受控方式跨越。虚拟网络地址可以对应于特定虚拟网络147中的虚拟机145之一。因此,不同的虚拟网络147可以使用相同的一个或多个虚拟网络地址。示例虚拟网络地址可以包括ip地址、mac地址和/或其他合适的地址。

在某些实施例中,被托管在一个或多个节点105上的虚拟机145可以用于执行一个或多个用户请求的任务。在其他实施例中,云计算系统110的虚拟机145或其他合适的组件也可以用于实现公共云108(图1)的访问服务或各个私有云106的连接服务(图1)。访问服务可以被配置为将公共云108处的可用资源的信息提供给私有云106的连接服务。访问服务还可以被配置为促进私有云106对公共云108中的网络存储装置的访问。在某些实施例中,访问服务或连接服务可以单独被实现为云服务,例如,通过在计算结构115中的所选择的节点105(图2a)上的一个或多个虚拟机145中执行合适的指令或代码。在其他实施例中,访问服务和/或连接服务可以由专用服务器或经由其他合适的技术来提供。下面参考图3a至图5更详细地描述访问服务和连接服务的示例组件和操作。

图3a至图3c是示出在从公共云向私有云发布应用的某些阶段期间图2a中的计算系统100的某些硬件/软件组件的示意图。在图3a至图3c中,为清楚起见,省略了混合云计算系统100的某些组件。例如,出于说明目的,图3a至图3c中仅示出了一个私有云106。其他的和/或另外的私有云可以具有与图3a至图3c所示的类似的组件和相关操作。

另外,在图3a至图3c和本文中的其他图中,各个软件组件、对象、类、模块和例程可以是以c、c++、c#、java和/或其他合适的编程语言作为源代码而编写的计算机程序、过程或进程。组件可以包括但不限于一个或多个模块、对象、类、例程、属性、进程、线程、可执行文件、库或其他组件。组件可以是源或二进制形式。组件可以包括编译之前的源代码的各方面(例如,类、属性、过程、例程)、编译的二进制单元(例如,库、可执行文件)、或者在运行时实例化和使用的工件(例如,对象、进程、线程)。在某些实施例中,下面描述的各种组件和模块可以利用动作者而被实现。在其他实施例中,应用和/或相关服务的生成还可以使用单片应用、多层应用或其他合适组件来实现。

系统内的组件可以在系统内采用不同的形式。作为一个示例,包括第一组件、第二组件和第三组件的系统可以包括但不限于包含以下系统:其中第一组件是源代码形式的属性,第二组件是二进制编译库,并且第三组件是在运行时创建的线程。计算机程序、过程或进程可以被编译成对象、中间或机器代码并且被呈现以用于由个人计算机、网络服务器、膝上型计算机、智能电话和/或其他合适的计算设备的一个或多个处理器执行。同样,组件可以包括硬件电路。

本领域普通技术人员将认识到,硬件可以被认为是石化软件,并且软件可以被认为是液化硬件。仅作为一个示例,组件中的软件指令可以被刻录到可编程逻辑阵列电路,或者可以被设计为具有适当集成电路的硬件电路。同样,硬件可以由软件模拟。源、中间和/或目标代码和相关数据的各种实现可以被存储在计算机存储器中,该计算机存储器包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、闪存设备和/或除了传播信号之外的其他合适的计算机可读存储介质。

如图3a中所示,公共云108可以包括被配置为促进对公共云108处的各种资源的管理的资源管理器122。公共云108还可以包括被配置为提供各种资源的各种资源提供者121。例如,在所示实施例中,公共云108可以包括可操作地彼此耦合的认证服务124、发布服务126和访问服务128。上述服务中的每个服务可以是由计算结构114(图2a)经由一个或多个节点105(图2a)上的合适指令的执行而提供的云服务。公共云108还可以包括包含应用112和使用数据114的记录的存储库111。存储库111可以包括公共云108中的数据库或其他合适的网络存储装置。即使图3a中示出了公共云108的特定组件,但在其他实施例中,公共云108还可以包括存储服务、计算服务、web服务、数据库服务或其他合适类型的资源提供者。

资源管理器122可以被配置为部署、监测和/或管理公共云108中可用于订户(例如,图1中的用户101)的资源。资源管理器122可以允许订户与作为组的可用资源交互。例如,资源管理器122可以允许在协调操作中部署、更新或删除一个或多个可用资源。资源管理器122还可以被配置为提供安全性、审计和标记特征以促进在部署之后管理资源。尽管公共云108在图3a中示出为具有资源管理器122,但在其他实施例中,可以省略资源管理器122。在这样的实施例中,订户可以单独地、分别地或以其他合适的方式管理公共云108中的各种可用资源。

认证服务124可以被配置为支持各种认证和授权协议。例如,在某些实施例中,认证服务124可以被配置为支持单密钥或多密钥认证。在其他实施例中,认证服务124还可以被配置为支持密钥翻转(keyrollover)。在其他实施例中,认证服务124还可以被配置为通过编排用户与服务之间的批准交互或者通过允许用户自己获取有限访问来支持准许对http或其他合适服务的有限访问。一个示例认证服务124是由华盛顿州雷蒙德市的微软公司提供的activedirectory服务。在一个实施例中,认证服务124可以是公共云108的云计算平台的一部分。在其他实施例中,认证服务124可以是独立服务、应用或其他合适的组件。

发布服务126可以被配置为从isv或其他合适的源接收并且向公共云108的用户101(图1)提供应用112的访问。在某些实施例中,isv可以开发saas应用并且向发布服务126提交所开发的saas应用。发布服务126又可以被配置为验证所提交的saas应用以确保与云计算平台的兼容性、不存在恶意软件或其他合适的目的。发布服务126还可以被配置为对应用112的一个或多个特征进行分类、归类或以其他方式标识。

然后,发布服务126可以被配置为将应用112的各种工件的一个或多个副本存储在例如公共云108中的存储库111或其他合适的网络存储装置(未示出)中。如本文中使用的,术语“工件”通常是指在软件的开发时产生的副产品。例如,用例、类图、其他统一建模语言(uml)模型、需求、设计文档或其他合适类型的工件可以帮助描述应用112的功能、架构和/或设计。其他工件可以包含与应用的开发过程相关的信息,诸如项目计划、业务案例和风险评估。

在某些实施例中,发布服务126还可以将某些应用112的工件发布到访问服务128。例如,在一个实施例中,当isv提交应用112时,isv可以选择使应用112也发布到私有云106。响应于接收到提交应用112,发布服务126然后可以通知、发布或以其他方式使访问服务128知道所提交的应用112。在其他实施例中,所有提交的应用112可以默认被发布到访问服务128。在另外的实施例中,某些类别、种类、组或类型的应用112可以默认自动被发布到私有云106。

访问服务128可以被配置为与私有云106中的连接服务134对接。访问服务128可以被配置为将公共云108的各种可用资源公开给私有云106以及促进从私有云106到公共云108的使用数据上传。例如,在某些实施例中,访问服务128可以被配置为向连接服务134提供应用列表112。列表中的应用112可用于在私有云106中被发布,如下面更详细描述的。

如图3a中所示,私有云106可以包括资源管理器122'、连接服务134、计算服务136、图库服务138、以及可操作地耦合到存储库111'的使用跟踪服务140。资源管理器122'和存储库111'通常可以类似于公共云108的那些。例如,资源管理器122'可以被配置为促进管理员103部署、监测和/或管理私有云106中的资源。存储库111'可以被配置为存储在私有云106中被发布的应用112'的记录以及私有云106中的使用数据114'。

连接服务134可以被配置为与公共云108的访问服务128对接,同时保持对私有云106的严格的访问控制。在某些实施例中,连接服务128可以与对公共云108的访问服务128的订购相关联。基于订购,连接服务134可以被认证并且连接到访问服务128以执行各种操作。例如,连接服务134可以取回可用于在私有云106中被发布的应用列表112。连接服务134还可以被配置为从公共云108取回应用112的细节(例如,可执行文件)并且促进应用112在私有云106中的发布,如下面参考图3b和3c更详细描述的。计算服务136可以被配置为向用户101和/或私有云106的其他服务提供计算资源。例如,在一个实施例中,计算服务136可以被配置为实例化用于从公共云108取回应用112的细节的虚拟机,如下面参考图3b和3c更详细描述的。

图库服务138可以被配置为提供促进与存储库111'中的应用112'单独地对应的图库项目的生成、发布和/或修改的资源。例如,在一个实施例中,图库服务138可以基于来自连接服务134的请求来创建一个或多个图库项目。在其他实施例中,图库服务138还可以基于来自管理员103或其他合适实体的输入来创建、修改图库项目或对图库项目或执行其他操作。

使用跟踪服务140可以被配置为跟踪私有云106中的应用112'和/或其他软件的使用(例如,经过的使用时间)。例如,在一个实施例中,用户101(图1)可以在私有云106中部署和执行所发布的应用112'。使用跟踪服务140可以跟踪与应用112'相关的使用的持续时间并且在存储库111'中创建或更新使用数据114'的记录。在其他实施例中,使用跟踪服务140还可以被配置为将累积的使用数据114'报告给公共云108,如下面参考图4更详细描述的。

图3a示出了从公共云108取回适合于在私有云106中发布的应用列表112的操作。如图3a中所示,在操作中,isv(未示出)可以向公共云108提交应用112。响应于接收到所提交的应用112,发布服务126可以验证和发布应用112以供公共云108的用户101可访问。发布服务126还可以发布适合于在私有云106中被发布到访问服务128的一个或多个应用112。作为响应,访问服务128将应用112的各种工件存储在存储库111中。

在某些实施例中,私有云106的管理员103可以通过向例如资源管理器122'提交取回请求142来发起对应用列表112的取回过程。然后,资源管理器122'可以调用连接服务134以访问公共云108。作为响应,连接服务134可以利用密钥、密码或其他合适的凭证向公共云108传输认证请求144。作为响应,公共云108处的认证服务124可以认证连接服务134并且在认证之后向连接服务134传输访问令牌146。

如图3b中所示,连接服务134然后可以使用访问令牌在公共云108处调用资源管理器122以取回应用列表112。作为响应,在验证访问令牌146之后,资源管理器122调用访问服务128以获取应用列表112。然后,访问服务128可以将应用列表154提供给连接服务134,连接服务134又可以向管理员103显示或以其他方式输出应用列表154,例如,在客户端设备102'上。

然后,管理员103可以选择应用列表154中的一个、一些或全部应用112,并且向资源管理器122'发出下载命令152以发起下载过程以取回所选择的应用112。作为响应,连接服务134可以向公共云108处的资源管理器122传输细节请求158以创建与应用112相关的注册资源,并且请求下载应用112的应用细节156。所请求的应用细节可以包括连接信息,诸如共享访问签名(“sas”)密钥、网络位置、下载大小或与应用112相关的其他合适的参数。

响应于接收到细节请求158,访问服务128生成所请求的应用细节156。在一个示例中,访问服务128可以创建到存储库111中与要下载的应用112相关的存储帐户的sas密钥。在其他实施例中,访问服务128可以按照其他合适的方式来生成应用细节156的其他合适数据。然后,访问服务128可以将所生成的应用细节156提供给私有云106中的连接服务134。

然后,连接服务134可以在私有云106处的资源管理器122'中创建计算资源(例如,虚拟机),并且将应用细节156(例如,sas密钥)传递给所创建的计算资源。利用应用细节156,计算服务136然后可以利用创建计算资源来从公共云108的存储库111下载应用112的各种工件(例如,应用图像、扩展等)并且将所下载的工件存储在私有云106的存储库111'中。

然后,连接服务134可以在私有云106的资源管理器122'中创建图库项目资源,并且将应用细节156传递给图库服务138。利用应用细节156,图库服务138然后可以从公共云108处的存储库111下载一个或多个图库项目160,并且将下载的图库项目160与被存储在私有云106处的存储库111'中的应用112'相关联。可选地,连接服务134还可以向公共云108处的资源管理器122传输状态更新(未示出)以用成功或失败结果来更新注册资源。

因此,所公开的技术的若干实施例可以允许私有云106访问公共云108中的所发布的应用112,而不会损害私有云106中的字符串访问控制。如上所述,公共云108不能够在私有云106中的上述发布过程期间直接访问私有云106中的任何资源。相反,访问服务128仅公开公共云108处的可用资源的某些信息,并且允许私有云106决定是否和/或哪些应用112将在私有云106中被发布。

公共云108的访问服务128还可以促进私有云106中的所发布的应用112'的删除或“未发布”。如图3d中所示,isv可以向公共云108提交移除请求113以从公共云108中移除应用112之一。响应于接收到移除请求113,发布服务126可以向访问服务128通知应当删除应用112。然后,访问服务128可以从公共云108处的存储库111中删除与应用112相关的所有工件。访问服务还可以将与所删除的应用112相关的注册资源的状态设置为退役状态。在从私有云106处的连接服务134随后认证认证请求144之后,连接服务134可以发现与所删除的应用112相关的注册资源已经被设置为退役状态。作为响应,连接服务134分别从图库服务138和计算服务136中删除与所删除的应用112对应的图库项目和计算机资源。

图4是示出在从私有云106向公共云108上传使用数据的某些阶段期间图1中的混合云计算系统100的某些硬件/软件组件的示意图。在以下描述中,为清楚起见,省略了某些操作的讨论。例如,图3a所示的认证操作未在图4中示出,但是每当连接服务134访问公共云108处的访问服务128时执行这样的操作。虽然下面的讨论使用公共云108与私有云106之间的交互来说明公开技术的各个方面,但在其他实施例中,下面讨论的操作也可以应用于例如由不同的管理实体管理或以其他方式隔离的两个或更多个公共云108(未示出)之间的交互。

在所示实施例中,管理员103可以通过发出传输请求166来请求从私有云106到公共云108的使用数据传输。作为响应,连接服务134可以向公共云108处的资源管理器122传输数据存储请求168以请求访问以在公共云108中存储使用数据114'。在其他实施例中,连接服务134或私有云106的其他组件可以周期性地、连续地或在其他合适的基础上发起这样的使用数据上传。在某些实施例中,使用数据114'可以包括被部署在私有云106中的软件的使用的一个或多个持续时间,例如,被部署在私有云106中的云计算平台的软件和/或在私有云106中的云计算平台上执行以向私有云106的用户101提供各种云服务的一个或多个应用。在其他实施例中,使用数据114'还可以包括数字签名或以其他方式与数字签名相关联以向公共云109指示使用数据114'确实来自私有云106。示例数字签名可以经由例如加密散列函数生成,以将全部或部分使用数据114'转换为字符串、数字或其他合适的标识符。分析这样的数字签名可以向公共云108提供不可否认性以跟踪、验证和证明所上传的使用数据114'确实是从私有云106接收的并且使用数据114'在传输期间不会更改。

响应于接收到数据存储请求168,访问服务128可以生成访问令牌146',以准许连接服务134访问以在公共云108中存储数据。在一个示例中,访问令牌146'可以包括连接信息,诸如sas密钥。在其他示例中,访问令牌146'可以包括访问代码、密码或其他合适的标记。然后,连接服务134可以将接收的访问令牌146'传递给使用跟踪服务140,使用跟踪服务140又将存储库111'中的一些或全部使用数据114'上传到公共云108的存储库111的与连接服务134相关联的存储帐户下。

然后,访问服务128可以从与连接服务134相关联的存储帐户复制、移动或以其他方式获取上传的数据114,并且将使用数据114存储在与公共云108处的访问服务128相关联的另一存储帐户中。然后,访问服务128可以引起对所获取的使用数据114执行各种后处理操作。例如,访问服务128可以引起对于访问服务128相关联的另一存储账户中的使用数据114执行过滤、排序、分类、异常检测、遥测或其他合适的操作。在另一示例中,当公共云108处的使用数据114由于例如公共云108和私有云106中的不同的改变/更新时间表而变为与私有云106处的使用数据114'不同步时,访问服务128还可以引起所上传的使用数据114的变换。示例变换可以包括基于时间戳或其他合适的标记重新对准使用数据114和114',删除重复条目,组合某些条目,或者其他合适的操作。

然后,访问服务128可以将经过后处理的使用数据114推送或以其他方式传送到其他合适的服务以用于进一步处理。例如,公共云108中的计费服务可以针对私有云106的用户101生成费用或账单以用于使用云计算平台的软件和/或在私有云106中的云计算平台上执行的应用。在其他示例中,当一个或多个账单过期,接收到服务暂停请求或者在其他合适的条件下时,服务暂停服务可以暂停与私有云106的连接服务134相关联的服务订购。

图5是示出在针对私有云106中的连接服务134配置对公共云108的服务订购的某些阶段期间图1中的混合云计算系统100的某些硬件/软件组件的示意图。如图5中所示,管理员103可以通过提供订购凭证170(例如,订购密码、密钥等),调用电源外壳脚本或执行其他合适的操作来发起配置过程。作为响应,连接服务134利用账户请求172在公共云108处调用认证服务124以基于服务凭证170为连接服务134创建服务账户。响应于接收的账户请求172,认证服务124在认证订购凭证170之后向私有云106处的连接服务134提供身份访问174。基于身份访问174,连接服务134可以被配置用于访问公共云108处的资源管理器122。随后,可以在访问服务128处创建用于连接服务134的注册资源。

图6a至图6d是示出根据所公开的技术的实施例的促进图1的公共云108与私有云106之间的操作的过程的各个方面的流程图。尽管下面参考图1至图5的混合云计算系统100描述这些过程,但在其他实施例中,可以在具有附加的和/或不同的组件的其他计算系统中执行过程的实施例。

图6a是示出根据所公开的技术的实施例的向私有云106提供公共云108处的可用应用列表的过程200的流程图。如图6a中所示,过程200可以包括在阶段202从isv或其他合适的实体接收要在公共云108中被发布的一个或多个应用。可以开发应用以在公共云和私有云106两者共有的云计算平台上提供解决方案。在某些实施例中,可以将一些或所有应用标记为默认发布到公共云108和私有云106两者。在其他实施例中,isv或其他合适的实体可以选择是否将应用发布到私有云106。

过程200还可以包括在阶段204将应用发布到公共云108处的访问服务。在某些实施例中,将应用发布到公共云108处的访问服务包括向访问服务提供应用的各种工件,访问服务又可以将接收的工件存储在诸如图3a中的存储库111等网络存储装置中。过程200还可以包括在阶段206从私有云106中的连接服务接收取回请求。连接服务可以与对公共云108的服务订购相关联。响应于接收的取回请求,过程200还可以包括在阶段208基于与私有云106的连接服务相关联的服务订购经由公共云108的访问服务标识和传输可用于私有云106的应用列表。

图6b是示出根据所公开的技术的实施例的从公共云108取回可用应用列表的过程210的流程图。如图6b中所示,过程210可以包括在阶段212认证对公共云108的服务订购。在某些实施例中,认证服务订购包括向公共云108提交各种类型的订购凭证。在其他实施例中,服务订购可以经由其他合适的方式来认证。过程210还可以包括在阶段214在认证之后传输对可用应用列表的请求。作为响应,过程210可以包括从公共云108接收私有云106处的可用应用列表。

图6c是示出根据所公开的技术的实施例的从公共云108下载应用的过程220的流程图。如图6c中所示,过程220可以包括在阶段222从公共云108处的可用应用列表接收对一个或多个应用的选择。然后,过程220可以包括在阶段224传输下载所选择的应用的请求。过程220还可以包括在阶段226从公共云108接收所选择的应用的产品细节。在某些实施例中,产品细节可以包括与所选择的应用相关联的sas密钥或大块(blob)。在其他实施例中,产品细节可以包括与所选择的应用相关联的其他合适信息。然后,过程220可以包括在阶段228基于接收的产品细节来下载所选择的应用。在某些实施例中,下载所选择的应用可以包括实例化虚拟机,以及利用实例化的虚拟机来取回所选择的应用。在其他实施例中,下载所选择的应用可以包括其他合适的文件取回技术。

图6d是示出根据所公开的技术的实施例的将使用数据从私有云106上传到公共云108的过程230的流程图。如图6d中所示,过程230可以包括在阶段232请求上传使用数据的许可。在某些实施例中,请求许可可以包括向公共云108提交订购凭证。在其他实施例中,请求许可可以包括向公共云108提交其他合适的凭证。然后,过程230可以包括在阶段134从公共云108接收访问权限。在一个实施例中,访问权限可以包括授予对公共云108中的网络存储装置中的存储帐户的有限访问的sas密钥。存储帐户与私有云106相关联。在其他实施例中,访问权限可以包括访问令牌或其他合适类型的许可。然后,过程230可以包括使用接收的访问权限将私有云106处的使用数据上传到公共云108的网络存储装置。

尽管针对图6a至图6d所示的过程示出了特定操作,但在其他实施例中,某些操作可以组合成单个操作。例如,在图6d的过程230中,通过从私有云106(图4)向公共云108(图4)提交具有相关凭证的数据存储请求168(图4)和使用数据114'(图4)作为单个分组,阶段236的上传使用数据的操作可以与阶段232的上传数据的请求相结合。在认证期间,公共云108可以将所上传的使用数据114'保存在临时存储空间、缓冲器或其他合适的位置中。在认证之后,公共云108可以将接收的使用数据114'存储在与私有云106的连接服务134(图4)相关联的账户中。

图7是适合于图1中的混合云计算系统100的某些组件的计算设备300。例如,计算设备300可以适用于图1的节点105或客户端设备102。在非常基本的配置302中,计算设备300可以包括一个或多个处理器304和系统存储器306。存储器总线308可以用于处理器304与系统存储器306之间的通信。

根据期望的配置,处理器304可以是任何类型,包括但不限于微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)或其任何组合。处理器304可以包括一个或多个级别的高速缓存(诸如一级高速缓存310和二级高速缓存312)、处理器核314和寄存器316。示例处理器核314可以包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核(dsp核)或其任何组合。示例存储器控制器318也可以与处理器304一起使用,或者在一些实现中,存储器控制器318可以是处理器304的内部部分。

根据期望的配置,系统存储器306可以是任何类型,包括但不限于易失性存储器(诸如ram)、非易失性存储器(诸如rom、闪存等)或其任何组合。系统存储器306可以包括操作系统320、一个或多个应用322和程序数据324。该描述的基本配置302在图8中由内部虚线内的那些组件示出。

计算设备300可以具有附加特征或功能以及附加接口以促进基本配置302与任何其他设备和接口之间的通信。例如,总线/接口控制器330可以用于促进基本配置302与一个或多个数据存储设备332之间经由存储接口总线334的通信。数据存储设备332可以是可移除存储设备336、不可移除存储设备338或它们的组合。可移除存储设备和不可移除存储设备的示例包括诸如软盘驱动器和硬盘驱动器(hdd)等磁盘设备、诸如压缩盘(cd)驱动器或数字通用盘(dvd)驱动器等光盘驱动器、固态驱动器(ssd)和磁带驱动器等。示例计算机存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。术语“计算机可读存储介质”或“计算机可读存储设备”不包括传播信号和通信介质。

系统存储器306、可移除存储设备336和不可移除存储设备338是计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字通用盘(dvd)或其他光学存储器、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储期望的信息并且可以由计算设备300访问的任何其他介质。任何这样的计算机可读存储介质可以是计算设备300的一部分。术语“计算机可读存储介质”不包括传播信号和通信介质。

计算设备300还可以包括接口总线340以用于促进经由总线/接口控制器330从各种接口设备(例如,输出设备342、外围接口344和通信设备346)到基本配置302的通信。示例输出设备342包括可以被配置为经由一个或多个a/v端口352与诸如显示器或扬声器等各种外部设备通信的图形处理单元348和音频处理单元350。示例外围接口344包括可以被配置为经由一个或多个i/o端口358与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其他外围设备(例如,打印机、扫描仪等)等外部设备通信的串行接口控制器354或并行接口控制器356。示例通信设备346包括可以被布置为促进经由一个或多个通信端口364通过网络通信链路与一个或多个其他计算设备362的通信的网络控制器360。

网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其他传输机制)中的其他数据来实施,并且可以包括任何信息传递介质。“调制数据信号”可以是使得能够在信号中对信息进行编码的方式设置或改变它的一个或多个特征的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、射频(rf)、微波、红外(ir)和其他无线介质等无线介质。本文中使用的术语计算机可读介质可以包括存储介质和通信介质。

计算设备300可以被实现为小型便携式(或移动)电子设备的一部分,诸如蜂窝电话、个人数字助理(pda)、个人媒体播放器设备、无线web手表设备、个人耳机设备、专用设备、或包括任何上述功能的混合设备。计算设备300还可以被实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。

从前述内容可以理解,本文中已经出于说明的目的描述了本公开的特定实施例,但在不脱离本公开的情况下可以进行各种修改。另外,除了或代替其他实施例的元件,一个实施例的很多元件可以与其他实施例组合。因此,除了所附权利要求之外,本技术不受限制。

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