《混合云环境.pdf》由会员分享,可在线阅读,更多相关《混合云环境.pdf(21页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201280075050.5(22)申请日 2012.10.08G06F 9/44(2006.01)G06F 15/16(2006.01)(71)申请人 惠普发展公司,有限责任合伙企业地址 美国德克萨斯州(72)发明人 S. H. 梅斯 R. 巴拉赫瓦J. 拉巴 T. 格佩尔(74)专利代理机构 中国专利代理(香港)有限公司 72001代理人 王洪斌 徐红燕(54) 发明名称混合云环境(57) 摘要一种混合云环境,包括处理资源以在多个云环境上部署和管理应用程序,存储资源以存储云中间件,云中间件包括服务和部署管理器以通过处理资源在混合云基础。
2、设施上部署应用程序,其中通过把可用的混合云基础设施能力与描述应用程序的资源需求、属性和特性的应用程序模型相匹配,将应用程序部署在混合云基础设施上,以及生命周期管理模块以管理应用程序和关联的混合云基础设施的生命周期。(85)PCT国际申请进入国家阶段日2015.01.30(86)PCT国际申请的申请数据PCT/US2012/059209 2012.10.08(87)PCT国际申请的公布数据WO2014/058411 EN 2014.04.17(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书3页 说明书12页 附图5页(10)申请公布号 CN 1045086。
3、27 A(43)申请公布日 2015.04.08CN 104508627 A1/3 页21.一种混合云环境,包括 :处理资源,用于在多个云环境上部署和管理应用程序 ;存储资源,用于存储云中间件,所述云中间件包括 :服务和部署管理器,用于通过处理资源在混合云基础设施上部署应用程序其中把可用的混合云基础设施能力与描述应用程序的资源需求、属性和特性的应用程序模型相匹配,将应用程序部署在混合云基础设施上 ;以及生命周期管理模块,用于管理应用程序和关联的混合云基础设施的生命周期。2.如权利要求 1 所述的混合云环境,其中生命周期管理模块公开了多个应用程序编程接口(API)以管理混合云上的应用程序的生命周。
4、期。3.如权利要求 1 所述的混合云环境,进一步包括云消息代理以将消息发送到混合云中的多个云内和云间分布的中间件服务或单个资源并从其接收消息 ;其中,每个资源被视为端点。4.如权利要求 3 所述的混合云环境,其中云消息代理使用导致收件人从简单队列服务(SQS)接收消息的简单通知服务(SNS)交换消息 ;其中 SNS 和 SQS 两者都使用应用程序编程接口(API)作为双向消息传输以确保消息的实时传递。5.如权利要求 4 所述的混合云环境,其中所述 SQS 使用分组编号扩展将数字添加到消息并且其中该数字用于允许收件人请求消息的重传以确保可靠传递。6.如权利要求 1 所述的混合云环境,其中所述生命。
5、周期管理模块将策略和应用程序相关联以使应用程序自我管理其生命周期,所述策略描述 :应用程序如何对多个监控,管理,或安全事件,或多个发送到云中间件中的管理,监控或安全模块的请求的结果作出反应 ;自我管理的应用程序如何在对多个监控事件作出反应时实现或更新策略 ;中间件如何对多个监控,管理或安全事件,或多个发送到云中间件中的管理,监控或安全模块的请求的结果作出反应,通过 :调用多个由中间件作为中间件服务提供的应用程序编程接口(API);或触发多个在混合云上管理多个云资源的生命周期的蓝图 ;蓝图的触发导致应用程序如何自我管理其生命周期、应用程序如何使用资源、以及资源的生命周期的改变。7.如权利要求 1。
6、 所述的混合云环境,进一步包括 :防火墙,用于检查进入混合云的多个数据分组 ;应用程序检查模块,用于搜索与和中间件相关联的代码和应用程序相关联的已知问题;数据挖掘器,用于挖掘由中间件创建的和从记录器输出的日志文件其中数据挖掘器搜索指示混合云内问题的数据 ;风险标识符,用于给混合云和基础设施提供实时图形和基于报告的风险识别 ;数据中心浏览器,用于允许用户经由用户接口看到混合云上的所有可用资源 ;或其组合。8.一种系统,包括 :存储在与混合云环境相关联的云服务器的存储资源上的服务生成环境(SCE),用于接权 利 要 求 书CN 104508627 A2/3 页3收来自用户的输入以通过处理资源为应用。
7、程序建立应用逻辑 ;以及多个存储在云服务器的存储资源上的服务执行环境(SEE),用于通过处理资源执行由SCE 创建的应用程序 ;其中,应用逻辑包括使应用程序自我管理其生命周期同时部署在混合云环境上的逻辑 ;以 及其中,应用程序依赖于由在整个混合云环境上分布的云中间件提供的 API、事件和资源。9.如权利要求 8 所述的系统,进一步包括生命周期管理模块,其中生命周期管理模块将策略和应用程序相关联,一旦由服务执行环境(SEE)执行,使应用程序自我管理其生命周期,所述策略描述 :应用程序如何对多个监控,管理或安全事件,或多个发送到云中间件中的管理,监控或安全模块的请求的结果作出反应 ;自我管理的应用。
8、程序如何在对多个监控事件作出反应时实现或更新策略 ;以及中间件如何对多个监控,管理或安全事件,或多个发送到云中间件中的管理,监控或安全模块的请求的结果作出反应,通过 :调用多个由中间件作为中间件服务提供的应用程序编程接口(API);或触发多个在混合云上管理多个云服务的生命周期的蓝图 ;蓝图的触发导致应用程序如何自我管理其生命周期、应用程序如何使用资源、以及资源的生命周期的改变。10.如权利要求 8 所述的系统,其中所述云中间件进一步包括云消息代理,其中云消息代理将消息同步或异步发送到在混合云环境中的多个云内和云间分布的应用程序的单个组件并且从其接收消息。11.如权利要求 9 所述的系统,其中所。
9、述消息代理进一步包括 :简单通知服务(SNS)和简单队列服务(SQS),用于促进资源之间的消息的交换 ;以及应用程序编程接口(API),其中 SNS 和 SQS 两者都使用应用程序编程接口(API)作为双向消息传输以确保消息的实时传递 ;其中,关于在混合云中发生的事件的通知由多个端点接收并由 SQS 排队 ;其中,每个通知都接收消息分组,其中消息分组具有由 SQS 关联到它的分组编号 ;以及其中,消息的通知被发送到预期收件人。12.一种混合云上的事件驱动架构,包括 :存储在与混合云环境相关联的云服务器的存储资源上的消息代理,用于将消息发送到混合云环境中的多个云内和云间分布的单个资源并从其接收消。
10、息 ;其中,在混合云环境中的多个云内和云间分布的每个资源被视为端点。13.如权利要求 12 所述的事件驱动架构,其中所述消息代理进一步包括 :简单通知服务(SNS)和简单队列服务(SQS),用于促进资源之间的消息的交换 ;以及应用程序编程接口(API),其中 SNS 和 SQS 两者都使用应用程序编程接口(API)作为双向消息传输以确保消息的实时传递 ;其中,关于在混合云中发生的事件的通知由多个端点接收并由 SQS 排队 ;其中,每个通知都接收消息分组,其中消息分组具有由 SQS 关联到消息分组的分组编号 ;以 及权 利 要 求 书CN 104508627 A3/3 页4其中,消息的通知被发送。
11、到预期收件人。14.如权利要求 12 所述的事件驱动架构,其中所述消息代理在混合云中的多个云内和云间执行和存储在存储资源上的中间件上运行。15.如权利要求 14 所述的事件驱动架构,其中所述中间件进一步包括由用户通过公共门户可访问的服务生成环境(SCE),其中 SCE 接收来自用户的输入,以通过处理资源为应用程序建立应用逻辑 ;以及多个服务执行环境(SEE),用于执行由 SCE 创建的应用程序 ;其中,所述消息代理使通知在检测到混合云上发生的事件时被发送到受影响的单个资源。权 利 要 求 书CN 104508627 A1/12 页5混合云环境背景技术0001 使用作为服务交付的各种计算、存储和。
12、联网资源以及使用更高级别的服务(如作为服务提供的应用程序和平台)已被证明有利于多个用户。通过网络使用这些资源一般被称为云计算。使用云计算,用户也许能够基于他或她的服务在任何给定时间正在经历的流量动态并自发地发展他或她在一个或多个网络上的存在。此外,用户可以使用可用的资源来运行计算、存储数据并且分享这些资源或作为服务将这些资源提供给其他用户。然而,创建部署在基础设施上的应用程序,控制基础设施上的那些应用程序以及管理基础设施可能是昂贵且难以实现的。特别地,开发将在用户希望向其部署应用程序的云上使用的基础设施和平台上有效地执行的服务应用程序可能是困难的。更进一步,以安全的方式管理任何单个应用程序的生。
13、命周期、基础设施、域以及应用程序本身同时在云环境中实现可能是困难的。更进一步,促进支持或使用云环境的每个人(诸如应用程序开发者、用户、IT 管理员、服务提供商和操作管理者)的工作可能是困难的。附图说明0002 附图图示了本文所述原理的各种示例,并且为本说明书的一部分。所述示例不限制权利要求的范围。0003 图 1 是依据本文所述原理的一个示例的混合云环境的框图。0004 图 2 是依据本文所述原理的另一个示例的混合云环境的框图。0005 图 3 是依据本文所述原理的另一个示例的混合云环境的框图。0006 图 4 是依据本文所述原理的另一个示例的混合云环境的框图。0007 图 5 是依据本文所述。
14、原理的一个示例的描绘在混合云环境上部署和管理应用程序的方法的流程图。0008 在整个附图中,相同的附图标记指定类似的,但不一定相同的单元。具体实施方式0009 为了给用户提供友好的环境,其中应用程序在云环境上可完全由多个履行不同角色的用户自我管理,本说明书公开了混合云环境,包括处理资源以在多个云环境上部署和管理应用程序、存储资源以存储云中间件。云中间件包括服务和部署管理器以通过处理资源在混合云基础设施上部署应用程序,其中通过把可用的混合云基础设施能力与描述应用程序的资源需求、属性和特性的应用程序模型相匹配,将应用程序部署在混合云基础设施上,以及生命周期管理模块以管理应用程序和关联的混合云基础设。
15、施的生命周期。0010 更进一步,本说明书公开了系统,包括存储在与混合云环境相关联的云服务器的存储资源上的服务生成环境(SCE)以接收来自用户的输入以通过处理资源为应用程序建立应用逻辑,以及多个存储在云服务器的存储资源上的服务执行环境(SEE)以通过处理资源执行由 SCE 创建的应用程序。应用逻辑包括使应用程序自我管理其生命周期而部署在混合云环境上的逻辑,以及应用程序依赖于由在整个混合云环境中分布的云中间件提供的 API、说 明 书CN 104508627 A2/12 页6事件和资源。0011 更进一步,本说明书公开了混合云上的事件驱动架构,包括存储在与混合云环境相关联的云服务器的存储资源上的。
16、消息代理以将消息发送到混合云环境中的多个云内和云间分布的单个资源并从其接收消息。每个资源可被分布在混合云环境中的多个云内和云间,被视为端点。0012 在下列描述中,为了便于解释,阐述了许多具体的细节以提供对本系统和方法的透彻理解。然而,本设备、系统和方法可以在没有这些具体细节的情况下实施对本领域技术人员来说将是显而易见的。在本说明书中引用“示例”或类似语言表明关于那个示例描述的特定特征、结构或特性包括在如述的那个示例中,但可以不被包括在其他示例中。0013 在本说明书和所附的权利要求中,术语“云”或“云环境”意指被广义地理解为通过任何计算机环境提供资源作为服务。这些资源除了其他的之外可以包括,。
17、但不限于物理计算硬件设备(诸如处理器、存储设备和网络设备);形式为计算机可用程序代码的计算平台 ;形式为计算机可用程序代码的应用软件 ;作为服务提供的计算机数据存储 ;作为服务提供的网络平台 ;形式为计算机可用程序代码的应用程序编程接口 ;作为服务提供的生产、分期和测试环境,作为服务提供的安全平台和计算机可用程序代码。云的具体形式可包括公共云、私有云、管理云(托管或本地),以及其中以上类型的云的两个或多个结合在一起并提供所涉及的多个云类型的优点(例如混合云)的任何组合。0014 此外,在本说明书和所附的权利要求中,术语“中间件”意指被广义地理解为系统,在本说明书的一个示例中,其可以是促进在云环。
18、境上分布的应用程序的创建、部署、执行测试和生命周期管理的架构层。在另一个示例中,中间件促进云环境上现有云服务和现有云服务的组合的生命周期的管理(例如管理建立、配置和部署、执行、持续管理、报告、计量、退役等)。中间件可进一步提供另外的优点,如将在下面更详细地描述。0015 此外,在本说明书和所附的权利要求中,术语“应用程序”意指被广义地理解为组件的集合。此外,应用程序可以由一组工件(例如安装程序、代码、可执行文件、配置等)和一组被安装、执行和彼此交互的组件(例如可执行文件、中间件(MW)、数据库、操作系统(OS)等)来表征其每个组件。0016 回到图 1,依据本文所述原理的一个示例的混合云环境(。
19、100)的框图。在图 1 的示例中,云环境可以是混合云,其中将多个不同的云环境结合在一起,给混合云结构提供包括的那些云环境的优势。为了便于解释,因此本说明书将在混合云环境中使用现有中间件方面进行描述。然而,这并不意味着限制该描述并且本说明书设想在任何数量和类型的云环境中使用中间件。0017 如上所讨论的,混合云环境(100)可包括任何类型的云资源和服务以及可进一步包括那些类型的云的任何数量或组合。因此,虽然图 1 描绘了混合云环境,但本说明书设想关于此处混合云(100)描述的中间件(105)可在任何数量和类型的混合云上被分布、存储和操作。此外,本说明书设想任何数量的中间件实例可存在于任何数量的。
20、云环境上,其中每个中间件实例都能够完成下面描述的任务以及能够在多个云环境上与其他中间件(105)实例通信。0018 如将在下面更详细地描述的,混合云环境(100)包括多个应用程序编程接口(140)。本文描述的中间件(105)用来帮助编排 API(140)的使用以使多个应用程序和服务说 明 书CN 104508627 A3/12 页7部署在混合云环境(100)上并且在整个混合云环境(100)中管理它们自己的生命周期。应用程序编程接口(140)可使用存储在混合云环境(100)的基础设施内的存储资源(175)上的数据以帮助应用程序管理它们的生命周期。此数据可以包括策略(135)、模板( 0)、资源元。
21、数据(160)、应用程序模型(120)和蓝图(125)。更进一步,混合云环境(100)可进一步包括云基础设施(115),其可包括处理资源(165)和存储资源(175),其进一步允许云中间件(105)存储和执行与数据相关联的计算机可读程序代码。现在将更详细地描述混合云环境(100)。0019 云中间件(105)可以使用处理资源(165)来执行代码以完成如下描述的中间件(105)的计算目标。这些处理资源(165)作为混合云环境 (100) 的基础设施的一部分被包括。所述处理资源(165)可包括任何数量的可分布在混合云环境 (100) 的任何数量的云环境上的处理器。在一个示例中,处理资源(165)可。
22、包括多个在混合云环境(100)内的单一云环境上通信地耦合在一起的处理器。所述处理资源(165)通过中间件(105)的使用还可以促进用户创建、部署和管理多个在云基础设施(115)上部署的应用程序。0020 存储资源(175)还可以作为混合云环境(100)的基础设施的一部分被包括,以及可以由处理资源(165)和中间件(105)使用来存储数据以便由如下描述的用户和中间件(105)实现目标。此外,存储资源(175)可用来在混合云环境(100)内的多个云环境上存储中间件(105)的实例以及存储以上提到的数据作为数据即服务资源。存储资源(175)可以包括任何类型的存储设备,包括但不限于具有多条电线的电连接。
23、、便携式计算机软盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROP 或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或任何前述的适当组合。更进一步,存储资源(175)可由任何数量和类型的可通信地耦合在一起的存储设备组成。更进一步,这些存储资源(175)可被集成在整个混合云环境(100)内的多个云环境中。0021 如所提到的,混合云(100)包括中间件(105)。中间件(105)通过确定基础设施硬件和混合云(100)内的基础设施(115)的能力来提供应用程序(170)的自动部署。中间件(105)还通过分析应用程序模型 (120。
24、)来确定部署在基础设施(115)上的各种应用程序的应用需求。中间件(105)可使用服务和部署管理器(110)在混合云(100)的基础设施上服务和部署各种应用程序。服务和部署管理器(110)的功能和特征可至少部分地由在 PCT专利申请号 PCT/US2012/041625 中描述的部署管理器来实现,其主题通过引用结合到本文中。如以上简要描述的,中间件(105)的多个实例可被存储在混合云环境(100)的多个云环境上,并且在整个混合云环境(100)的多个云环境中使用分布在混合云环境(100)的单个云环境上的存储资源(175)。在一个示例中,定义中间件和与中间件相关联的模块的计算机程序代码可以是中间件。
25、(105)的安装实例。在另一个示例中,定义中间件和与中间件相关联的模块的计算机程序代码可在云中间件(105)内作为安装包被提供。在这两个示例中,存储资源(175)可以是服务器存储,从中可下载安装包或者存储资源(175)可以是存储设备存储器,在其上安装计算机可读程序代码。0022 应用程序模型 (120)可定义应用程序(170)的资源需求、属性和特性。在一个示例中,应用程序模型 (120)可包括拓扑模型,其描述了对于给定的应用程序(170),哪些应用程序组件应该被部署以及如何部署那些应用程序组件(例如在云中的哪个位置部署什么组件)。应用程序模型 (120)进一步定义在云上部署应用程序(170)所。
26、需要的资源。这里,说 明 书CN 104508627 A4/12 页8拓扑可以描述应用程序(170)的组件之间的关系以及应用程序(170)和混合云(100)内的基础设施之间的关系。该拓扑可为以后的可包括在混合云(100)上部署的其他应用程序(170)的类似特性的应用程序所重用,并因此可被存储在存储资源(175)上以便以后使用。0023 该拓扑还可以保持实例化并在现有的基础设施资源(例如在选定的拓扑 / 模板(130)中)上跨多个应用程序重用(即当新的应用程序实例被部署并且撕去相同的基础设施)。以这种方式,所述中间件(105),并且更具体而言,服务和部署管理器(110)可以更容易地指导应用程序模。
27、型 (120)和基础设施模板(130)或基础设施拓扑的匹配以在混合云(100)上部署应用程序(170)。0024 更进一步,应用程序模型 (120)可以定义用于配置和管理应用程序(170)的生命周期的配方(例如配方描述如何且何时监控来自部署的应用程序的反馈,以及如何且何时基于这种反馈调整基础设施资源)。该配方可包括对用于执行配方的多个工件的引用,诸如安装脚本、编译配方的代码等。该配方还可以被存储在云基础设施(115)的存储资源(175)上。在一个示例中,拓扑可以用标准语言和模型来表达,诸如由 Oasis 在云应用程序的拓扑和编制规范(TOSCA)中描述的那样。0025 模板(130)可描述与混。
28、合云(100)相关联的基础设施的能力和特征。特别地,模板可使用定义在整个混合云(100)中分布的硬件、软件和固件的资源元数据(160),以呈现为应用程序(170)可运行在其上的潜在资源。资源元数据(160)可存储在混合云环境(100)的存储资源(175)上并且可以随混合云环境(100)上的存储资源(175)和处理资源(165)以及其他资源改变而改变。0026 对于任何给定的应用程序来说,策略(135)可描述多个操作环境。例如,策略(135)可描述什么时候操作应用程序以及在地理上位于世界的什么服务器上将要操作该应用程序。策略(135)可进一步包含有关如何在其正在操作的服务器上保持负载平衡、应用程。
29、序将要被部署在哪一个网络域、监控需求(例如负载是否在服务器上指定的范围之间)、是否有任何安全问题以及确保在给定的时间段内没有即将到来的维护的信息。策略(135)可进一步描述如何决定把计算负载放到哪一个服务器上,基于在该服务器上操作的价格考虑。策略(135),当检测到监控或安全事件时,还可决定如何对监控或安全事件作出反应。0027 更进一步,策略(135)可描述关于在特定的云环境内把负载放在服务器上可出现的任何安全问题。在这个示例中,策略(135)可指示在哪种类型的云环境上操作哪部分应用程序以保护由正在执行的应用程序所提供的机密数据或任何后端服务。其他策略也可被定义 :可进一步描述应用程序将在何。
30、时、何地以及如何操作。0028 应用程序模型 (120)和模板(130)被匹配在一起(由用户手动或经由服务和部署管理器(110)以及使用多个算法的策略(135)自动)以描述应用程序应该运行在什么基础设施上,并且可用于动态地(或静态地)优化基础设施资源(特征在于元数据属性)并把其绑定到应用程序(170)。在一个示例中,策略( 35)可用于帮助匹配应用程序模型 (120)(其描述应用程序的需要)和模板(130)(其描述混合云(100)上的可用资源)。0029 在一个示例中,应用程序模型 (120)和模板(130)可表达为拓扑。该拓扑可被实现以表达(与动作细节一起),其中一般的应用程序模型 (120。
31、)可用来在混合云(100)上部署多个不同的应用程序(170)。这里,因为已经通过应用程序模型 (120)的使用设计了应用程序(170),所以应用程序(170)可以在不重新编码应用程序来这样做的情况下转移到另说 明 书CN 104508627 A5/12 页9一个云。在这种情况下,它在新背景下的新的环境上使用这样做所要求的拓扑被重新实例化。因此,应用程序(170)可以在异构云环境上移动(例如从一个操作系统到另一个或从一个管理程序到另一个等)。0030 此外,依据一个示例,公共门户(155)可以给用户提供即刻管理和保护在各种混合云(例如 100)上部署的应用程序的能力。通过公共门户(155),用户。
32、可在一个共同的地方查看所有混合云(100)上的所有应用程序的活动。在一个示例中,用户还可以使用公共门户(155)手动地把应用程序模型 (120)和模板(130)相匹配。0031 在另一个示例中,用户可以查看和潜在地编辑应用程序模型 (120)和模板(130)(由中间件(105)引导)的自动匹配。因此,在操作中,中间件(105)可以执行处理资源(165)以处理定义应用程序模型 (120)如何与模板(130)匹配以便部署应用程序(170)到混合云(100)上的策略(135)。中间件(105)可进一步处理描述了云(100)的云(100)资源以创建所使用的模板(130)的资源元数据(160)。中间件(。
33、105)还可以使应用程序模型 (120)与模板(130)相匹配来为混合云(100)上的给定应用程序确定操作拓扑。应用程序模型 (120)和混合云(100)上可用资源的匹配导致中间件(105)把这些资源绑定到应用程序(170)。如将在以后更详细地描述的,这些资源的绑定允许中间件(105)特别地在应用程序(170)的整个生命周期中为所述应用程序(170)留出那些资源。更进一步,中间件(105)可以基于确定的部署条件为云(100)部署给定的应用程序(170)。0032 在一个示例中,中间件(105)可进一步管理或监控(基于事件或通过查询监控 / 管理系统)来自给定应用程序(170)的反馈。例如,中间。
34、件(105)可监控从监控系统接收的反馈,监控系统连同应用程序(170)一起被建立(作为由应用程序模型或策略定义的配方的一部分)并且利用它来按比例扩大或缩减由应用程序(170)使用的资源 ;启动 / 停止应用程序(170);移动应用程序(170);启动修复(如果发生故障 - 恢复(例如,当基于会话时)或移动应用程序并重新定向流量);或支持流以维修检测到的问题。生命周期管理模块(145)可与服务和部署管理器(110)一起使用来读取来自给定应用程序的反馈,并且使服务和部署管理器(110)能够调整给定程序的各方面或增加 / 减少为应用程序的操作所提供的基础设施资源。这例如可以经由策略(135)或描述如。
35、何处理事件以及使用中间件(105)执行必要的改变的其他逻辑来指定。0033 中间件(105)通过生命周期管理模块(145)及服务和部署管理器(110)可进一步提供和交付服务来为终端用户管理现有云服务和现有云服务的组合的生命周期(例如管理建立、配置和部署、执行、持续管理、报告、计量、退役等)。更具体而言,如本文所公开的,中间件(105)编排现有云服务的应用程序编程接口(API)(140) 的使用,用于为使用蓝图(125)的用户终端系统的用户管理现有云服务和现有云服务的组合的生命周期。因此,服务和部署管理器(110)的功能和特征还可至少部分地由在PCT专利申请号PCT/US2012/045424 。
36、中描述的服务交付模块来实现,其主题通过引用结合到本文中。0034 蓝图(125)可以阐述自动化动作的结构化计划用于实例化和配置可在云(100)中提供的云能力。因此,蓝图(125)可以是一组对应于特定的可经执行以编排适当的云资源的API(140)用于管理给定应用程序的生命周期目的的生命周期管理动作的工作流程 / 配方/ 脚本。在一个示例中,蓝图(125)可用来描述应用程序模型。此外,蓝图(125)可用来指导系统将如何行动(即按比例扩大 / 缩减和向内 / 向外扩展)。在这个示例中,一旦提供给说 明 书CN 104508627 A6/12 页10应用程序的资源有改变,则网络流量可能需要相应地重路由。
37、。在另一个示例中,蓝图(125)可以描述混合云(100)如何访问混合云(100)内的各种数据库。0035 考虑到云(100)的各个组件之间的通信接口,可提供多个应用程序编程接口(API)(140)。每个 API(140)可包括程序、数据结构、对象类和变量的规范。生命周期管理模块(145)可使用 API(140)来帮助管理应用程序的生命周期。0036 用户可以使用设计者模块(150)来帮助设计将要在云(100)上实现的策略(135)、模板(130)、蓝图(125)和应用程序模型(120)。特别地,用户可以使用设计者模块(150)定义和配置用于在混合云(100)上部署和运行应用程序(170)的代码。
38、和元数据。用户可以使用公共门户(155)访问设计者模块(150)来为任何给定的应用程定义策略(135)、模板(130)和蓝图(125)。然而,在一个示例中,所述中间件(105)可为给定的应用程序自动地定义一些或全部的策略(135)、模板( 0)和蓝图(125),从而使用户摆脱必须输入该信息并决定最好的策略(135)、模板(130)和蓝图(125)来使用。使用设计者模块(150),云服务生命周期管理可独立于实现它们所需要的资源定义。与要部署的应用程序相关联的应用程序模型 (120)包含诸如通过使用设计者模块(150)选择并集成到应用程序模型(120)中的资源能力、需要的软件版本、服务质量和安全策。
39、略的信息。0037 如以上简要讨论的,生命周期管理模块(145)还可以被包括在中间件(105)上。生命周期管理模块(145)可使用蓝图(125)来编排混合云(100)中的服务的生命周期管理。在一个示例中,生命周期管理模块(145)可以安排生命周期操作,其中当前的应用程序部署由于生命周期操作已经从它们初始的部署状态改变了。例如,作为预定的生命周期操作的一部分,应用程序可被移动、复制或退役(或其关联的组件/工件可被移动、复制或退役),作为由生命周期管理模块(145)执行的生命周期操作的一部分。在一个示例中,在检测到事件后,应用程序可能被移动、复制或退役(或其关联的组件 / 工件可被移动、复制或退役。
40、)。可以通过生命周期管理模块(145)对事件进行监控,并且蓝图(125)可以包括关于如何应对这些检测到的事件的信息。生命周期管理模块(145)可以通过服务和部署管理器(110)并与之交互。再次,可以把如何应对这些检测到的事件的确定编码在策略(135)或也驱动中间件(105)作出反应的方式的逻辑中。0038 中间件(105)还可以提供工作负载管理(例如,基础设施资源的自动按比例扩大 /缩减和向内 / 向外扩展以及在混合云(100)中提供最佳资源部署)。例如,基于任何给定服务器的负载或混合云(100)上的资源(或资源池 / 云),向外 向内扩展或把应用程序移动到另一个位置(另一个资源池 / 云或云。
41、的组合)的操作可基于策略准则操作执行。这可以响应于监控事件或由生命周期管理模块(145)接收到的反馈进行或者基于通过多个 API 对这种监控系统提出的请求进行。在一个示例中,应用程序模型(120)或蓝图(125)可以描述如何在一部分用于部署给定应用程序的云基础设施(115)中,部署(或拆卸 / 取消部署)应用程序。例如,应用程序模型(120)或蓝图(125)可以识别基础设施(115)资源以及从云基础设施(115)上需要什么用于给定应用程序的部署或退役。可允许用户或设计者为部署应用程序(170)而改变蓝图(125)和 / 或应用程序模型(120)。这种部署上的改变可在另一个云配置上实现(例如,从私有云到公共云)以为执行不同配置上的应用程序提供所需的信息,即使云是基于不同的 API、网络资源等。在不同的部署上移动应用程序的示例原因例如可以包括负载平衡、从私有移动到公共配置或反之亦然、增加或减少用于应用程序的资源,说 明 书CN 104508627 A。