专利名称:用于n层应用程序的云计算生命周期管理的制作方法
技术领域:
本发明的方法、装置以及系统总体上涉及计算机、信息技术、虚拟化以及云计算领域。更为具体地,本发明的方法、装置以及系统涉及对软件应用程序所使用的云计算环境的管理。
背景技术:
虚拟化技术促成了对单个物理服务器系统内的多个虚拟服务器进行操作,以使得每个虚拟服务器可在其自身独有的系统环境(例如,操作系统、应用程序)内运行。从用户角度而言,虚拟服务器与物理服务器是同等的。虚拟服务器的用户能够在该虚拟服务器上安装任何操作系统、应用程序等,而不需要影响到运行于同一物理服务器系统内的其他虚拟服务器的用户。可使用云计算来杠杆影响(leverage)资源(例如数据中心的资源)的虚拟化。云供应商(该云供应商可对诸如数据中心资源和/或其他信息技术相关的性能进行操作)可通过给用户(该用户可远离所述云供应商)提供对他们的资源的访问来促成对这些资源的使用。这些潜在的可访问资源被通称为“云计算环境”或“云环境”。
发明内容
本发明的用于对软件应用程序所使用的云计算环境进行管理的方法的实施方式可包含基于用户定义的供应信息,确定被请求的初始云环境;基于该被请求的初始云环境,发送初始化事件;发送应用程序数据,该应用程序数据被配置为促使所述应用程序开始于初始云环境配置内执行;接收监测环境数据,该监测环境数据表示当前云环境状态;基于该监测环境数据,确定被请求的调节后云环境;以及基于该被请求的调节后云环境,发送云环境调节事件。“应用程序”可包含“应用程序软件”,该“应用程序软件”可包含一个或多个功能单元(例如,具有电子邮件功能的门户网站、数据库程序、文字处理程序、记账程序、存货管理程序、数值分析程序)。“应用程序”还可包含“服务”,该“服务,,可包含一个逻辑功能单元 (例如,负责数据转换、存储和/或检索的自主单元,诸如数据库管理服务或数据库API服务)。所述被请求的初始云环境可为N层(N-tier)计算环境。所述初始化事件可被配置为促使初始云环境配置可用于应用程序。所述被请求的调节后云环境可为N层计算环境。 所述云环境调节事件可被配置为促使调节后云环境配置可用于所述应用程序。在一些实施方式中,所述应用程序数据可包括对所述将于初始云配置内被执行的应用程序进行定义的计算机可使用代码。在一些实施方式,在发送所述应用程序数据之前, 所述定义应用程序的计算机可使用代码可以并不存在于云环境内。在一些实施方式中,所述初始云配置、调节后云配置、以及定义应用程序的计算机可使用代码在应用程序执行完成之后被移除。在一些实施方式中,所述定义应用程序的计算机可使用代码可被配置为在非云计算环境内被执行(例如,物理计算机环境),且可在不针对用于云计算环境而被修改或优化的情况下,在初始云配置内执行。在一些实施方式中,所述初始云环境配置可包括初始第一云配置,第一云供应商使该初始第一云配置变得可用。所述被请求的调节后云环境配置可包括被请求的第二云调节后配置。所述调节后云环境配置可包括调节后第二云配置。所述云环境调节事件可包括基于所述被请求的第二云调节后配置的第二云调节事件。该第二云调节事件可被配置为促使第二云供应商使调节后第二云配置变得可用。在一些实施方式中,所述被请求的初始云环境可包括被请求的第一云初始配置和被请求的第二云初始配置。所述初始云环境配置可包括初始第一云配置和初始第二云配置。所述初始化事件可包括基于所述被请求的第一云初始配置的第一云初始化事件和基于所述被请求的第二云初始配置的第二云初始化事件。所述第一云初始化事件可被配置为促使第一云供应商使初始第一云配置变得可用。所述第二云初始化事件可被配置为促使第二云供应商使初始第二云配置变得可用。在一些实施方式中,所述被请求的调节后云环境配置可包括被请求的第一云调节后配置和被请求的第二云调节后配置。所述调节后云环境配置可包括调节后第一云配置和调节后第二云配置。所述云环境调节事件可包括基于所述被请求的第一云调节后配置的第一云调节事件和基于所述被请求的第二云调节后配置的第二云调节事件。所述第一云调节事件可被配置为促使所述第一云供应商使调节后第一云配置变得可用。所述第二云调节事件可被配置为促使所述第二云供应商使调节后第二云配置变得可用。在一些实施方式中,用户定义的供应信息可通过使用需求分析算法和/或接收自用户接口的用户输入来确定。在一些实施方式中,用户定义的供应信息可包括地理数据。在一些实施方式中,用户定义的供应信息可包括服务水平协议数据。本发明方法的一些实施方式还可包括对未来与所述应用程序一起使用的最佳云环境进行预测。在一些实施方式中,该对所述最佳云环境进行预测可基于所述监测环境数据。本发明方法的一些实施方式还可包括对与执行所述应用程序相关联的未来开销进行预测。在一些实施方式中,该对所述未来开销进行预测可基于所述监测环境数据。在一些实施方式中,对所述未来开销进行预测可包括使用服务水平协议数据。本发明方法的一些实施方式还可包括接收安全信息(security information); 基于所述安全信息,确定被请求的安全动作;和/或基于所述被请求的安全动作,发送安全事件。本发明的用于对软件应用程序所使用的云计算环境进行管理的系统的实施方式可包含与存储器进行通信的处理器。所述存储器可存储处理器可执行程序代码。该系统的实施方式可被配置为结合处理器可执行程序代码进行操作,以执行上面描述的本发明方法中的任意方法。本发明的计算机可读媒介的实施方式可具有计算机可使用程序代码,该计算机可用程序代码是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。一些实施方式可具有可执行的计算机可使用程序代码,以执行上面描述的本发明方法中的任意方法。本发明的第一计算机可读媒介的实施方式可具有第一计算机可使用程序代码,该第一计算机可使用程序代码是可执行的以安装第二计算机可读介质上的第二计算机可使用程序代码,其中该第二计算机可使用程序代码是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。在一些实施方式中,所述第二计算机可使用程序代码是可执行的,以执行本发明上述方法中的任意方法。本发明的方法、装置(例如,计算机可读媒介)以及系统中的任意一者的任意实施方式均可由上述功能、步骤和/或特征构成,或主要由上述功能、步骤和/或特征构成(而
不是包括/包含/含有/具有)。因此,在任意权利要求中,术语“由......构成”或“主
要由......构成”可被替换为上述任意开放式联系动词,以根据使用开放式联系动词时的
范围来改变给定权利要求的范围。术语“发送”及其变形被定义为包含直接传送和间接(例如,通过中间部件进行传递)传送,以及直接发送和间接发送。类似地,术语“通信”及其变形被定义为包含直接通信和间接通信。 术语“服务器”包含虚拟服务器和物理服务器。术语“计算机系统”包含虚拟计算机系统和物理计算机系统。术语“基于”指定关系或依赖性,但并不局限于所述关系或依赖性为排他性的情形。例如,“X”基于“Y”并不局限于X等于Y或X等于Y的常数倍的关系。相反地,需要依赖于Y来确定X,但在确定χ的过程中还可能涉及其他变量。术语“包括(comprise) ”(以及任意形式的“包括”,例如“包括(comprises) ”和“包括(comprising)”)、“具有(have)“(以及任意形式的“具有”,例如“具有(has)”和“具有 (having) ”)、“包含(include)”(以及任意形式的“包含”,例如“包含(includes) ”和“包含 (including)")以及“含有(contain)” (以及任意形式的“含有”,例如“含有(contains)” 和“含有(containing)”)均为开放式联系动词。从而,包括某些步骤的方法为包含至少所列举的步骤的方法,但并不局限于仅拥有所列举的步骤的方法。同样地,包括某些元件的装置或系统包含至少所列举的元件,但并不局限于仅拥有所列举的元件的装置或系统。类似地,“包括(comprising) ”用于执行某些步骤的计算机可使用程序代码的计算机可读介质为具有用于执行至少所列举的步骤的计算机可使用指令的计算机可读介质,而且还覆盖了具有用于执行其他未列举的步骤的计算机可使用指令的媒介。此外,被配置为执行至少某些功能的计算机系统并不局限于仅执行所列举的功能,而且假设该系统被配置为执行所列举的功能则该系统还可以以未指定的一种或多种方式进行配置。术语“一个(a)”和“一(an)”被定义为一个或多个,除非本申请明确指明。术语 “另一”被定义为至少另一个或更多个。
以下附图用于进行示例性说明,而非用于进行限制。相同的参考标记并不一定指代相同的结构、系统或显示。相反地,同一参考标记可用于指代类似的特征或具有类似功能的特征。并未将每个实施方式的每个特征都标示于该实施方式出现的每个附图中,以保持附图清楚。
图1为绘示了本发明的用于对云环境进行管理的系统的一实施方式的示意图;图2A-图2C为绘示了本公开的实施方式所执行的云环境管理的各个方面的示意图;图3为绘示了一可能的配置的示意图,该可能的配置包含本发明的系统的实施方式、本发明的系统的终端用户、在云环境中执行的应用程序的终端用户、配置于云环境中的各个单层(individual tier)以及针对各个单层配置的各个防火墙;图4和图5为绘示了用于对软件应用程序所使用的云计算环境进行管理的系统的两个实施方式;图6为绘示了本发明的计算机可读介质的实施方式的示意框图;图7为用于对软件应用程序所使用的云计算环境进行管理的方法的一实施方式的操作流程图;图8绘示了用于对软件应用程序所使用的云计算环境进行管理的N层配置生命周期管理引擎的一实施方式中所使用的各个模块。
具体实施例方式在一个方面,本公开提供了用于对软件应用程序所使用的云计算环境进行管理的方法的实施方式。在另一方面,本公开提供了用于对软件应用程序所使用的云计算环境进行管理的系统的实施方式。本公开的另一方面提供了具有计算机可使用程序代码的计算机可读媒介,该计算机可使用程序代码是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。本公开的再一实施方式提供了具有第一计算机可使用程序代码的第一计算机可读介质,该第一计算机可使用程序代码是可执行的,以安装第二计算机可读媒介上的第二计算机可使用程序代码,其中该第二计算机可使用程序代码是可执行的, 以执行用于对软件应用程序所使用的云计算环境进行管理的操作。图1绘示了本发明的用于对软件应用程序所使用的云计算环境进行管理的方法的实施方式。在该实施方式中,系统10被配置为执行对云环境100进行管理的方法。系统 10可远离云环境100。系统10可发送云环境初始化事件210至云环境100,以促使应用程序云环境配置110可由应用程序所使用(例如,作为用于运行该应用程序的环境)。本公开中使用的术语“应用程序”包含“应用程序软件”以及“服务”,所述“应用程序软件”可包含一个或多个功能单元(例如,具有电子邮件功能的门户网站、数据库程序、文字处理程序、 记账程序、存货管理程序、数值分析程序),所述“服务”可包含一个逻辑功能单元(例如,负责数据转换、存储和/或检索的自主单元,诸如数据库管理服务或数据库API服务)。应用程序云环境配置110可包含N层计算环境(该N层计算环境可通过云环境 100而为应用程序所用),且可依赖于云环境初始化事件210中所包含的信息。云环境初始化事件210可促使应用程序云环境配置110可用,该应用程序云环境配置110包含具有任意数量的层(例如,针对通用功能类型的部件的逻辑分组(logical grouping))的环境。例如,云环境初始化事件210可被配置为促使应用程序云环境配置110可用,该应用程序云环境配置110包含含有表示层(representation tier)、应用层(application tier)(例如, 逻辑或事务逻辑层)以及数据库层的环境。云环境初始化事件210的其他配置可促使应用程序云环境配置110可用,该应用程序云环境配置110可包含含有1、2、3、4、5、6、7、8、9、10、
1211、12、13、14、15、16、17、18、19、20 或更多个层的环境。在一些实施方式中,发送云环境初始化事件210至云环境100可包括传送一个或多个软件对象,所述软件对象含有有关云环境100向应用程序云环境配置110供应资源的信息(例如,将在N个层中的每一层中启动的服务器的数量、用于安全性的防火墙的配置、 中间件需求数据、需求的相关应用程序数据)。在一些实施方式中,发送云环境初始化事件 210至云环境100可包括应用程序编程接口(API)调用、或多个API调用的集合。云环境100可含有一个云配置或多个云配置,该多个云配置可共同地提供应用程序云环境配置110。参见图2A,所示的实施方式含有M个云配置(111-115),该M个云配置共同地提供应用程序云环境配置110。所述M个云配置可由M个唯一(unique)云供应商提供(例如,每个单独的云配置可由不同的实体提供)。可选择地,所述M个云配置可由少于 M个唯一云供应商来提供,其中一个或多个云供应商提供所述M个云配置中的多个云配置。 每一单独的云配置可为“私有”云(例如,该“私有”云的运营商可为所述云供应商的相关实体,而且至该云供应商的通路并不可以一般地由外部实体进行访问)或“共有”云(例如, 所述云供应商可一般地由某些外部实体进行访问)。每个云供应商均可以远离其他云供应商以及远离系统10。每个单独的云配置可对应用程序云环境配置110的N层配置中的每个单独的层的所有部分、一部分作出贡献(contribute)或一点都不作出贡献。例如,应用程序云环境配置110的实施方式可包含应用层(该应用层含有来自云配置111和112的服务器(例如,虚拟服务器、物理服务器))以及数据库层(该数据库层含有来自云配置112-115的服务器)。 在另一示例性实施方式中,应用程序云环境配置110的所有N个层均可含有来自M个云配置中每个云配置的服务器。本公开的实施方式还可包含由系统10发送至云环境100的云环境初始化事件 210。在图1和图2A所绘示的实施方式中,云环境初始化事件210被直接从系统10发送至云环境100。在其他实施方式中,云环境初始化事件210可通过可介于系统10与云环境100 之间的其他部件被间接地从系统10发送至云环境100。在一些实施方式中,所述介于其间的其他部件可在云环境初始化事件210到达云环境100之前,修改云环境初始化事件210。 例如,所述介于其间的其他部件可通过调整格式或添加时间戳信息来修改云环境初始化事件 210。云环境初始化事件210可基于被请求的初始云环境而被配置,该被请求的初始云环境可继而基于用户定义的供应信息来确定。被请求的初始云环境可表示适用于用户定义的供应信息的云环境配置。云环境初始化事件210可被配置为促使这种云环境可用。在本公开的一些实施方式中,用户定义的供应信息可通过使用接收自用户接口的用户输入来确定。在一些实施方式中,用户输入可由另一计算机系统提供。可包括用户定义的供应信息的信息的示例包含地理优先级(例如,数据和/或应用程序的位置的地理限制)、服务水平需求(例如,可用性)、定价信息、层定义(例如,层数、每层所需的计算资源、每层的安全需求)、安全需求(例如,数据加密需求)、审计/备份需求(例如,备份频率、数据保留规范) 以及特别监测/警报请求(例如,当防火墙规则被破坏时进行提醒、当给定层中在给定时间内平均CPU利用率达到或超过阈值时进行提醒)。在一些实施方式中,配置输入文件可包括全部或部分的用户定义的供应信息。配置输入文件数据可存储于存储器内,或可存储于其他存储介质上。配置输入文件可便于模块之间信息的模块化及共享。在一些实施方式中,可对用户输入施加需求分析算法,以生成配置输入文件。在一些实施方式中,配置输入文件可为工业标准软件语言格式。本公开结束处的附件中呈现了以XML(可扩展标记语言)编写的配置输入文件的示例。在本公开的基于接收自用户接口的用户输入来生成配置输入文件的一些实施方式中,配置输入文件可被复制并存储,以便重复使用。云环境初始化事件210的后续等同配置可通过利用所存储的配置输入文件来进行配置,从而避免了对来自用户接口的用于云计算初始化事件210的重复等同配置的用户输入进行收集的需求。在一些实施方式中,所存储的配置输入文件可被修改。在一些实施方式中,可在不使用用户接口的情况下,生成所述配置输入文件(例如,配置输入文件可由用户以工业标准语言进行编写)。云环境初始化事件210可被配置成促使应用程序云环境配置110可用于执行应用程序。应用程序云环境配置Iio的N层配置可基于云环境初始化事件210的配置而变得可用。图2A绘示了云环境初始化事件210包含M个云初始化事件011-215)的实施方式,这 M个云初始化事件(211-215)被配置成促使M个云配置(111-115)共同地提供应用程序云环境配置110。云环境初始化事件210可被配置成基于诸如地理优先级及依赖性、服务水平协议 (SLA)数据、云供应商优先级以及收集到的云供应商性能数据(例如,服务质量数据)来优化应用程序云环境配置110的配置。服务水平协议数据可包含例如用户的期望服务水平 (例如,地理冗余、系统可用性)以及向每一云供应商要求的服务水平(例如,与云供应商规范相比,被监测的云供应商性能)。再次参见图1所绘示的实施方式,系统10可被配置为发送应用程序数据220至云环境100,以促使应用程序在应用程序云环境配置110中开始执行。应用程序数据220可包含例如应用程序的规范/配置数据、或应用程序的计算机可使用代码。在一些实施方式中,应用程序数据220可基本上包含应用程序的整个计算机可使用代码(例如,用于执行网络应用程序、数据库应用程序、数值分析应用程序或电子邮件服务的全部计算机可使用应用程序代码)。在一些此类实施方式中,由在系统10将应用程序数据220发送至云环境 100之前,定义应用程序的计算机可使用代码可不存在于云环境100或应用程序云环境配置110中。在一些实施方式中,定义应用程序的计算机可使用代码在该应用程序的生命周期结束之后可不存在于云环境100内。例如,云环境100初始可不含有定义应用程序的计算机可使用代码,该代码可之后作为应用程序数据220的一部分(或全部)而被发送至云环境100,以便于在应用程序云环境配置110内执行该应用程序。在该应用程序执行结束之后,应用程序云环境配置110的资源可被返回给云环境100,且定义应用程序的计算机可使用代码可从所述云环境100中移除(例如,在应用程序的生命周期结束之后,应用程序云环境配置110所提供的虚拟环境以及定义应用程序的计算机可使用代码的实例(该实例作为应用程序数据220的一部分)被移除)。在一些实施方式中,定义应用程序的计算机可使用代码(该代码可作为应用程序数据220的一部分或全部而被发送)可被配置为在非云计算环境内执行。在这些实施方式中,所述计算机可使用代码可在不被修改或优化以用于云计算环境的情况下,在应用程序云环境配置110内执行。换句话说,一些实施方式允许对应用程序云环境配置110进行定制,以与用于应用程序的现有配置的所需环境相匹配。因此,不需要对应用程序进行重新配置,或不需要使用其他中间件来适应应用程序云环境配置110内应用程序的使用。例如,系统10和应用程序云环境配置110可被配置为执行之前已被配置和/或优化以用于在用户的现有传统物理计算机环境内执行的应用程序版本。系统10可通过促使应用程序云环境配置110被提供为基本上与用户的现有传统物理计算机环境(针对该环境对应用程序进行配置和/或优化)相匹配,来便于此类应用程序的使用。应用程序输入/输出250和应用程序输入/输出251绘示了本公开的一些实施方式的应用程序的输入和输出数据的传输。在一些实施方式中,应用程序输入/输出250可在在应用程序云环境配置110内执行的应用程序与系统10之间进行传输。在一些实施方式中,应用程序输入/输出251可在在应用程序云环境配置110内执行的应用程序与并非系统10的用户的应用程序终端用户309之间进行传输。继续参见图1的实施方式,系统10可被配置为接收来自云环境100的监测数据 230。监测数据230可包含例如与CPU利用率、存储器利用率、I/O利用率以及应用程序云环境配置110的其他性能相关的标准相关的数据,云环境100内每一单独的云供应商的云可用性数据,以及网络可用性/性能。监测数据230还可包含接收自云环境100的安全信息(例如,来自防火墙扫描器/监测器的消息)。本公开的一些实施方式可包含基于监测数据230,对用于应用程序的未来执行的最佳云环境进行推测性预测。对最佳云环境的推测性预测可通过使用诸如神经网络、时间序列算法以及回归分析等技术来执行,以对未来时间的预测时间段内(例如,下一 10分钟、 小时、天、周、月、下一季度、年)所需的资源进行推测。所采用的预测算法可在其他数据可用时得到改善和更新。在一些实施方式中,对与执行应用程序相关联的未来开销进行推测性预测可基于监测数据230来执行。例如,可使用来自对最佳云环境的推测性预测的信息以及当前定价/ 账单信息来对与在各个时间段执行应用程序相关联的未来开销(例如,在下一个月末处的预测的账单)进行预测。图2B绘示了具有监测数据230的实施方式,该监测数据230包括多个云环境配置监测数据031-235),该多个云环境配置监测数据(231-23 分别与M个共同地提供应用程序云环境配置110的云配置(111-115)中的每一云配置相对应。在这种实施方式中,云环境配置监测数据231-235可被同步或异步地接收。再次参见图1的实施方式,系统10可被配置为发送云环境调节事件240至云环境 100,以促使调节可由应用程序使用的应用程序云环境配置110(例如,通过增加、减少或改变资源来对运行应用程序的环境进行调节)。在一些实施方式中,发送云环境调节事件MO 至云环境100可包括传递一个或多个软件对象,所述软件对象包含与云环境100为应用程序云环境配置110供应资源相关的信息(例如,将在N个层中的每一层中启动服务器的数量、用于安全性的防火墙的配置、中间件需求数据、需求的相关应用程序数据)。在一些实施方式中,发送云环境初始化事件240至云环境100可包括API调用、或多个API调用的集
口 O
15
再次参见图2C,对应用程序云环境配置110的调节可包含对共同地提供应用程序云环境配置110的云配置(111-11 和/或N层计算环境的云供应商的数量进行调节。对应用程序云环境配置110的调节可依赖于包含于云环境调节事件MO内的信息。在所绘示的实施方式中,云环境调节事件240包含M个云调节事件041- ,该M个云调节事件 (241-245)可被配置为对共同地提供应用程序云环境配置110的M个云配置(111-115)进行调节。云配置可被重新配置、添加、删减和/或被其他云配置替换。类似地,云供应商可被重新配置、添加、删减和/或被其他云供应商替换。添加的云配置可为私有云或公有云。 本公开的一些实施方式可同步或异步地发送云环境调节事件240至云环境100。云环境调节事件240可在应用程序的执行生命周期中被多次发送。由云环境调节事件240所促使的对应用程序云环境配置110的调节以及对M个云配置(111-11 的调节可以是同步的或异步的。在图1和图2C所绘示的实施方式中,云环境调节事件240可被直接从系统10发送至云环境100。在其他实施方式中,云环境调节事件240可通过可介于系统10与云环境 100之间的通信路径中的其他部件而被间接地从系统10发送至云环境100。在一些实施方式中,介于其间的其他部件可在云环境调节事件240到达云环境100之前,修改云环境调节事件M0。例如,介于其间的其他部件可通过调整格式或添加时间戳信息来修改云环境调节事件M0。云环境调节事件240可基于被请求的调节后云环境而被配置,该被请求的调节后云环境继而基于监测数据230来确定。在本公开的一些实施方式中,被请求的调节后云环境可通过使用监测数据230来确定,以基于诸如地理优先级及依赖性、SLA数据、云供应商优先级以及收集到的云供应商性能数据(例如,服务质量数据)等标准,来优化应用程序云环境配置110的配置。例如,如果监测数据230指示一个云供应商不符合需求的服务水平 (例如,SLA定义的标准),则被请求的调节后云环境可被确定,该被请求的调节后云环境代表了通过将有缺陷的云供应商替换为不同的云供应商而解决了所述不足的云环境。基于被请求的调节后云环境,云环境调节事件240可被配置为促使对应用程序云环境配置110的调节,该调节将有缺陷的云供应商提供的云配置替换为来自不同的云供应商的新的实体化 (instantiated)云配置。图3绘示了本公开的具有连接至系统10的终端用户301-303的实施方式,其被配置为执行用于管理云环境100的方法。系统10可远离云环境100。在此实施方式中,终端用户301-303为系统10的终端用户(例如,对软件应用程序所使用的云环境100进行管理的用户),且可远离系统10及云环境100。在云计算环境内执行的应用程序的终端用户可不同于系统10的终端用户301-303,或者他们可以是公共用户(common)。例如,应用程序终端用户309可以是在云环境100内执行的网络应用程序的终端用户。终端用户301-303 可为系统10的终端用户(该终端用户对网络应用程序所使用的云计算环境的管理进行监管),而非在云环境100内执行的网络应用程序的终端用户。在图3的实施方式中,云环境100包含云环境配置,该云环境配置包括层304-306 以及监测模块307。层304包含运行于两个不同数据中心(两个不同的云配置)内的高可用性负荷均衡器。层305包含运行于两个不同数据中心(两个不同的云配置)内的JBoss 应用程序服务器集群。层306包含运行于两个不同数据中心(两个不同的云配置)内的MySQL数据库集群。监测模块307可位于层304-306所利用的云配置中的其中一个云配置中,或其可单独放置。所绘示的实施方式包含为每一层以及为监测模块提供定制化安全的层专用防火墙。图4示出了用于对软件应用程序所使用的云计算环境进行管理的系统10的一个实施方式。系统10可包含服务器402、数据存储装置404、网络408以及用户接口装置410。 在另一实施方式中,系统10可包含存储控制器406或存储服务器,以用于对数据存储装置 404与服务器402之间或数据存储装置404与和网络408进行通信的其他部件之间的数据通信进行管理。在可选实施方式中,存储控制器406可耦合至网络408。在一般实施方式中,系统10可被配置为是可操作的(例如,与处理器可执行程序代码结合起来),以对软件应用程序所使用的云计算环境进行管理。在一个实施方式中,用户接口装置410泛指且意欲涵盖适宜的基于处理器的装置,诸如台式计算机、便携式计算机、个人数字助理(PDA)、移动通信装置或可访问网络408 的备忘录(organizer)装置。系统10可被配置为使得用户接口软件(例如,图形化用户接口软件)可结合用户装置410而被使用。网络408可促成服务器402与用户接口装置410之间的数据通信。网络408还可促成服务器402与云计算环境之间的数据通信。网络408可包含任意类型的通信网络,包含但不限于,PC至PC的直接连接、局域网(LAN)、广域网(WAN)、调制解调器至调制解调器的连接、因特网、上述网络或连接的组合、或目前已知的或网络领域内未来开发出的允许两个或更多个计算机相互通信的任意其他通信网络。图5示出了用于对软件应用程序所使用的云计算环境进行管理的系统10的另一实施方式。中央处理单元(CPU) 502耦合至系统总线504。CPU 502可以是通用CPU或微处理器。本发明的实施方式并不受CPU 502的体系结构的限制,只要CPU 502支持在此所述的操作即可。CPU 502可根据本发明的实施方式,执行各种逻辑指令。例如,CPU 502可根据以下参考图7所述的示例性操作来执行机器级指令。系统10还可包含随机存取存储器(RAM) 508,该随机存取存储器(RAM) 508可为 SRAM、DRAM、SDRAM等。计算机系统500可利用RAM 508来存储被配置为对软件应用程序所使用的云计算环境进行管理的软件应用程序所使用的各种数据结构。系统10还可包含只读存储器(ROM) 506,该只读存储器(ROM) 506可为PROM、EPROM、EEPROM等。ROM可存储用于启动计算机系统500的配置信息。RAM 508及ROM 506可保存用户及系统10的数据。系统10还可包含输入/输出(1/0)适配器510、通信适配器514、用户接口适配器 516以及显示适配器522。在某些实施方式中,1/0适配器510和/或用户接口适配器516 使得用户能够与计算机系统500进行交互,以输入用于认证用户、识别个体的信息、或接收健康档案(health profile)信息。在另一实施方式中,显示适配器522可显示与用于对云计算环境进行管理的基于软件或网络的应用程序相关联的图形用户界面。1/0适配器510可连接至一个或多个存储装置512,诸如硬盘驱动器、光盘(⑶)驱动器、软盘驱动器以及磁带驱动器中的一者或多者。通信适配器514可适于将计算机系统 500耦合至网络,该网络可以是例如LAN、WAN以及因特网中的一者或多者。用户接口适配器516可耦合用户输入装置,诸如键盘520和定点设备518。显示适配器522可由CPU 502 驱动,以控制显示装置5M上的显示。
本发明的实施方式并不局限于图4或图5的架构。例如,任何适宜的基于处理器的装置均可被利用,包含但不限于个人数字助理(PDA)、计算机游戏控制台以及多处理器服务器。此外,本发明的实施方式可在专用集成电路(ASIC)或超大规模集成电路(VLSI)上实施。实际上,本领域普通技术人员可利用能够执行根据所述实施方式的逻辑操作的任意数量的适宜结构。本公开的一些实施方式包含具有计算机可使用程序代码的计算机可读介质,所述计算机可使用程序代码是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。计算机可读媒介包含能够存储或传输信息的任何物理介质。这种实施方式的特征在于具有(或编码有)用于执行特定步骤的计算机可使用(例如,机器可读)指令的有形的计算机可读媒介,包含但不限于,硬盘驱动媒介、光媒介、RAM、SRAM、DRAM、SDRAM、ROM、 EPR0M、EEPR0M、磁带媒介、盒式磁带媒介(cartridge media)、闪存和/或存储棒等。一些实施方式可包含具有第一计算机可使用程序代码的第一计算机可读介质,该第一计算机可使用程序代码是可执行的,以安装第二计算机可读介质上的第二计算机可使用程序代码,其中该第二计算机可使用程序代码是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。参见图6,计算机可读介质610含有安装软件610。 安装软件610的执行可促使在计算机可读介质620上安装云管理软件621。云管理软件621 是可执行的,以执行用于对软件应用程序所使用的云计算环境进行管理的操作。图7的操作流程图绘示了用于对软件应用程序所使用的云计算环境进行管理的方法的实施方式。方法700可包括基于用户定义的供应信息,确定被请求的初始云环境, 其中被请求的初始云环境为N层计算环境(框701);基于被请求的初始云环境,发送初始化事件,其中该初始化事件被配置为促使初始云环境配置可由应用程序使用(框702);发送应用程序数据,该应用程序数据被配置为促使应用程序在初始云环境配置内开始执行 (框70 ;接收监测环境数据,该监测环境数据表示当前云环境状态(框704);基于所述监测环境数据,确定被请求的调节后云环境,其中被请求的调节后云环境为N层计算环境(框 705);基于被请求的调节后云环境,发送云环境调节事件,其中云环境调节事件被配置为促使调节后云环境配置可由应用程序使用(框706);对应用程序未来使用的最佳云环境进行预测,其中预测最佳云环境是基于监测环境数据的(框707);对与执行应用程序相关联的未来开销进行预测,其中预测未来开销是基于监测环境数据的(框708);接收安全信息 (框709);基于所述安全信息,确定被请求的安全动作(框710);以及基于被请求的安全动作,发送安全事件(例如,关闭服务器、生成警报或通知)(框711)。图7的操作流程图仅用作示例,且本领域普通技术人员可以意识到,在可选实施方式中,各个框的操作顺序是可变的,某些框可并行执行,某些操作框可完全省略,且可添加其他操作框。因此,本发明的实施方式并非意欲仅局限于图7的操作流程图,而是此操作流程图仅用作示例,该示例使得本公开可使许多其他用于实施用户接口的操作流程图成为可能。例如,在一些实施方式中,可省略框707-711中的部分或全部。示例以下示例用于说明本公开的特定实施方式。本领域技术人员应该理解,在此示例中公开的技术表示在本公开的实施中发挥很好作用的技术。然而,鉴于本公开的内容,本领域技术人员应该理解,在不背离所公开的实施方式的范围的情况下,可对所公开的具体实CN 102216922 A
说明书
11/17 页
施方式作出各种改变,且依旧可获得相同或类似的结果。例如,可以理解的是,可添加或省略一些所描述的模块。还可以理解的是,所描述的示例性模块的一些功能可由其他模块来执行,或可被省略。受益于本公开的本领域技术人员可理解的是,本公开的各种实施方式均可含有各种不同的设计选择,以解决例如由模块所执行的功能的选择及排列的问题。在此所述的模块可在软件中实施,以由各种类型的处理器执行。可执行代码的被识别的模块可例如包括计算机指令的一个或多个逻辑块或物理块,所述逻辑块或物理块可例如被组织为对象、程序或函数。尽管如此,被识别的模块的执行并不需要物理上位于一起,而是可以包括存储于不同位置中的不同指令,当这些不同指令在逻辑上结合在一起时, 可包括所述模块并实现该模块的规定目的。实际上,可执行代码模块可为单条指令或多条指令,并且甚至可分布于多个不同的代码段上、分布于不同的程序中以及分布于多个存储装置上。类似地,操作数据可被识别并在此被示于模块内,且可被实现为任何适宜形式并被组织于任何适宜类型的数据结构中。所述操作数据可被聚集为单个数据集,或可被分布于包含不同存储装置的不同位置。模块还可被实施为硬件电路,包括定制VLSI电路或门阵列、现成的半导体(诸如, 逻辑芯片、晶体管、或其他分立部件)。模块还可被实施于可编程硬件装置内,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。参见图8,描述了用于对软件应用程序所使用的云计算环境进行管理的N层配置生命周期管理引擎的实施方式的各种模块。这些模块中的每一模块都可被部署在单个服务器上,或可被部署在多个服务器上(例如,监测模块可具有运行于不同服务器上的两个或多个部件)。1、用户接口处理模块用户接口处理模块801可采集用户输入及需求(例如,多少服务器、什么类型的服务器、地理限制、每一层的最小/最大服务器限制、服务器规格),并将该数据输入至各种引擎模块所使用的应用程序数据库中。用户接口处理模块801允许用户指定与部署相关的高级需求(例如,应用程序的类型、对地理冗余的需求、对数据加密的需求、对高可用性的需求),并相应地创建部署配置,该部署配置之后会被进一步定制及编辑。2、供应及部署管理模块供应及部署管理模块802负责供应服务器,并确保部署规则(例如,每一层中启动的服务器的数量、使用的防火墙配置等)被遵守。该模块可利用插件模块来在多个(公有的或私有的)云中供应服务器。另外,该模块可从部署优化模块804中获得针对服务器的最佳供应的输入。3、生命周期状态管理模块生命周期状态管理模块803对在云环境内执行的应用程序的状态进行管理。该模块可为状态机,该状态机可从监测模块获取每个应用程序(例如,每一应用程序或服务器) 的数据。该模块可维护每一层的应用程序的状态以及所有状态(例如,部署状态、等待状态、正常运行状态、警告状态、更新服务器、优化状态、错误状态、增大状态、缩小状态以及关闭状态)。例如,如果监测模块确定服务器的CPU、存储器和/或I/O模块的平均利用率在数据库层内超过90%,则其可生成增大事件。生命周期状态管理模块803可获取该事件, 并继续发布在数据库层内增加另外的服务器的事件。供应及部署管理模块802可获取该事
19件,并在数据库层内实例化新的服务器示例。在新的服务器被实例化之后,供应及部署管理模块802可发布完成事件,且运行时间配置管理模块805可处理该事件并生成用于执行公布(post)服务器实例化操作的事件,例如配置文件改变、服务启动等。运行时间配置管理模块805可接收该事件,执行任务,并针对生命周期状态管理模块803队列放置任务完成事件,以使得应用程序的状态可被更新。生命周期状态管理模块803还应当能够处理与增大/缩小事件类似的虚拟服务器实例水平故障(instance level failure) 0该模块可处理实例水平故障。4、部署优化模块部署优化模块804负责收集并维护例如来自不同云供应商的SLA数据、定价数据以及服务质量数据。在供应资源之前,供应及部署管理模块802可调用部署优化模块804。 该部署优化模块804可使用应用程序/服务配置信息、用户输入(例如,地理依赖性、供应商优先级、SLA需求以及从各个云供应商实际收集到的数据)来推荐最佳云配置。5、运行时间配置管理模块运行时间配置管理模块805可执行对运行服务器上的配置文件进行更新、启动或停止虚拟服务器上的应用程序以及在虚拟服务器上安装软件更新及补丁的任务。该模块可具有针对各种类型软件包的多个最优实践配置模板库。依赖于事件,该模块可根据模板来动态地创建配置文件,并对服务器施加适当的改变。一旦完成了任务,该模块就可在生命周期状态管理模块803的队列上放置消息。6、负荷预测模块负荷预测模块806可使用来自监测模块的监测数据以及收集到的云供应商数据来预测负荷(例如,在不降低服务质量的情况下,在未来最佳运行应用程序所需的服务器数量或资源数量)。该负荷预测模块806可结合部署优化模块804而操作。该负荷预测模块806可生成将由生命周期状态管理模块803及定价模块807处理的消息。7、定价模块定价模块807可对来自监测模块及生命周期状态管理模块803的消息进行处理, 并结合负荷预测模块806的输出来计算当前定价并预测未来定价。存储器、CPU、磁盘使用率、带宽、SLA以及后端供应商开销信息可用作用于计算当前定价及预测未来定价的输入的一部分。还可考虑接收自云供应商的信用额度(例如,针对未满足SLA水平的情况)。定价模块807可具有对任意特定应用程序/服务或应用程序组/服务组每天、每周、每季度和/ 或每年所使用的云计算基础架构的定价进行预测的能力,从而便于应用程序的用户预测精确的预算。可针对每一账户订制定价的预报间隔。8、审计/报表模块审计/报表模块808可对系统内的相关事件进行跟踪,并便于显示、生成以及基于用户角色以电子邮件将各种报表及审计日志发送至适当当事人。该模块还可包括HA调度器,以自动化在计划时间创建报表并将该报表发送至用户的过程。9、用于多个供应商的插件这些插件是一组用于连接至各种云供应商的API库。这些库还可具有用于直接连接至虚拟供应商的API。该模块的目的在于提供插件API集合,以使得可从供应模块抽取用于运行应用程序及服务器的资源的获取细节。供应及部署管理模块802可利用这些插件来
20供应各个实施方式中的服务器。10、监测模块监测模块810可含有用于处理监测数据、生成适当事件以及从各个虚拟服务器收集数据的部件。监测模块810的数据收集部件可为可插接的,以使得任意外部监测系统307 均可与该应用程序相集成,以收集数据。监测模块810可利用代理及无代理监测。11、安全模块安全模块811可接收各种安全相关的信息(例如,虚拟服务器的防火墙访问报表、 漏洞)。安全模块811可提供用于接收各种软件部件及服务的安全相关信息的中央处理单元。例如,外部防火墙扫描器/监测器可发送消息至安全模块811,并作为响应,安全模块 811可处理该信息并生成合适的事件(例如,关闭服务器、用于发送警报/通知的安全漏洞事件)。12、警报/通知处理模块警报/通知处理模块812可处理来自各个模块的各种事件,并负责经由不同方式来传递用户通知(例如,电子邮件、SMS等)13、软件审计模块软件审计模块813可提供有关部署在各个服务器上的软件的版本的信息。该模块 813可具有两个部件一个用于对当前运行的虚拟机进行审计,另一个用于对虚拟机镜像进行审计。可在应用程序/服务环境内组织审计报表,以将部署在服务器(该服务器正在执行特定的一个或多个应用程序或服务)上的各种软件部件的版本通知给用户。14、虚拟机镜像处理模块该模块814可被提供以利用OVF标准来针对不同的后端环境,简化虚拟设备及服务器的活动(movement)及部署。15、访问控制模块访问控制模块815可负责维护所有的访问控制规则(例如,用于对虚拟服务器进行根访问的访问;用于启动/停止服务器及应用程序/服务的访问;用于查看特定数据的访问)。各种模块均可利用访问控制模块815来检查针对特定任务的用户权限。16、HA 调度器高可用性(highly available)的调度器816可提供弹性调度机制。该HA调度器 816解决方案可由例如J2EE容器(container)提供。17、HA 排队用于接收并传递消息的高可用性排队817解决方案可由例如J2EE集群来提供。以上部分中描述的一些(或所有的)步骤可通过使用具有处理器(例如,一个或多个集成电路,该处理器已通过固件进行编程和/或运行软件)的计算机来实施。上述部分中描述的一些(或所有的)步骤可通过使用分布式计算环境来实施,该分布式计算环境为计算机系统的一个示例。上述部分中描述的一些(或所有的)步骤可通过使用虚拟计算机系统(虚拟机)来实施,其中虚拟计算机环境与物理计算机环境并非一一对应。已省略了对公知装配工艺、部件以及设备的描述,以避免在不必要的细节上不必要地模糊本发明的方法、设备以及系统。对本发明的方法及设备的描述是示例性而非限制性的。显而易见的是,基于本公开,本领域普通技术人员能够意识到落入权利要求书保护范围内但并未明确列入本公开的一些删减、修改、添加和/或重新布置。除非在给定权利要求中已通过分别使用短语“用于......的装置”和/或“用
于......的方法”明确指明此类限制,否则所附权利要求书不应被解释为包含装置加功能
的限制。附页示例性配置文件
权利要求
1.一种用于对由软件应用程序所使用的云计算环境进行管理的方法,该方法包括基于用户定义的供应信息,确定被请求的初始云环境,其中该被请求的初始云环境为N 层计算环境;基于所述被请求的初始云环境,发送初始化事件,其中该初始化事件被配置为促使初始云环境配置能够由应用程序使用;发送应用程序数据,该应用程序数据被配置为促使所述应用程序在所述初始云环境配置内开始执行;接收监测环境数据,该监测环境数据表示当前云环境状态;基于所述监测环境数据,确定被请求的调节后云环境,其中该被请求的调节后云环境为N层计算环境;以及基于所述被请求的调节后云环境,发送云环境调节事件,其中该云环境调节事件被配置为促使调节后云环境配置能够由所述应用程序使用。
2.根据权利要求1所述的方法,其中,所述初始云环境配置包括初始第一云配置,第一云供应商使该初始第一云配置变得可用;所述被请求的调节后云环境配置包括被请求的第二云调节后配置; 所述调节后云环境配置包括调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使第二云供应商使所述调节后第二云配置变得可用。
3.根据权利要求1和2所述的方法,其中,所述被请求的初始云环境包括被请求的第一云初始配置和被请求的第二云初始配置;所述初始云环境配置包括初始第一云配置和初始第二云配置;以及所述初始化事件包括基于所述被请求的第一云初始配置的第一云初始化事件,其中该第一云初始化事件被配置为促使第一云供应商使所述初始第一云配置变得可用;以及基于所述被请求的第二云初始配置的第二云初始化事件,其中该第二云初始化事件被配置为促使第二云供应商使所述初始第二云配置变得可用。
4.根据权利要求3所述的方法,其中,所述被请求的调节后云环境配置包括被请求的第一云调节后配置和被请求的第二云调节后配置;所述调节后云环境配置包括调节后第一云配置和调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第一云调节后配置的第一云调节事件,其中该第一云调节事件被配置为促使所述第一云供应商使所述调节后第一云配置变得可用;以及基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使所述第二云供应商使调节后第二云配置变得可用。
5.根据权利要求1-4所述的方法,该方法进一步包括对未来与所述应用程序一起使用的最佳云环境进行预测,其中该对所述最佳云环境进行预测基于所述监测环境数据。
6.根据权利要求1-5所述的方法,该方法进一步包括对与执行所述应用程序相关联的未来开销进行预测,其中该对所述未来开销进行预测基于所述监测环境数据。
7.根据权利要求6所述的方法,其中所述对所述未来开销进行预测包括使用服务水平协议数据。
8.根据权利要求1-7所述的方法,其中所述用户定义的供应信息通过使用以下内容而被确定需求分析算法;以及接收自用户接口的用户输入。
9.根据权利要求1-8所述的方法,其中所述用户定义的供应信息包括地理信息。
10.根据权利要求1-9所述的方法,其中所述用户定义的供应信息包括服务水平协议数据。
11.根据权利要求1-10所述的方法,该方法进一步包括接收安全信息;基于所述安全信息,确定被请求的安全动作;以及基于所述被请求的安全动作,发送安全事件。
12.一种用于对软件应用程序所使用的云计算环境进行管理的系统,该系统包括与存储器进行通信的处理器,其中所述存储器存储处理器可执行程序代码;以及所述处理器被配置为结合所述处理器可执行程序代码进行操作,以便 基于用户定义的供应信息,确定被请求的初始云环境,其中该被请求的初始云环境为N 层计算环境;基于所述被请求的初始云环境,发送初始化事件,其中该初始化事件被配置为促使初始云环境配置能够由应用程序使用;发送应用程序数据,该应用程序数据被配置为促使所述应用程序在所述初始云环境配置中开始执行;接收监测环境数据,该监测环境数据表示当前云环境状态;基于所述监测环境数据,确定被请求的调节后云环境,其中该被请求的调节后云环境为N层计算环境;以及基于所述被请求的调节后云环境,发送云环境调节事件,其中该云环境调节事件被配置为促使调节后云环境配置能够由所述应用程序使用。
13.根据权利要求12所述的系统,其中所述初始云环境配置包括初始第一云配置,第一云供应商使该初始第一云配置变得可用;所述被请求的调节后云环境配置包括被请求的第二云调节后配置; 所述调节后云环境配置包括调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使第二云供应商使调节后第二云配置变得可用。
14.根据权利要求12和13所述的系统,其中所述被请求的初始云环境包括被请求的第一云初始配置和被请求的第二云初始配置;所述初始云环境配置包括初始第一云配置和初始第二云配置;以及所述初始化事件包括基于所述被请求的第一云初始配置的第一云初始化事件,其中该第一云初始化事件被配置为促使第一云供应商使所述初始第一云配置变得可用;以及基于所述被请求的第二云初始配置的第二云初始化事件,其中该第二云初始化事件被配置为促使第二云供应商使所述初始第二云配置变得可用。
15.根据权利要求14所述的系统,其中所述被请求的调节后云环境配置包括被请求的第一云调节后配置和被请求的第二云调节后配置;所述调节后云环境配置包括调节后第一云配置和调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第一云调节后配置的第一云调节事件,其中该第一云调节事件被配置为促使所述第一云供应商使所述调节后第一云配置变得可用;以及基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使所述第二云供应商使所述调节后第二云配置变得可用。
16.根据权利要求12-15所述的系统,其中所述处理器被配置为进一步结合存储的程序代码进行操作,以对未来与所述应用程序一起使用的最佳云环境进行预测,其中该对所述最佳云环境进行预测基于所述监测环境数据。
17.根据权利要求12-16所述的系统,其中所述处理器被配置为进一步结合存储的程序代码进行操作,以对与执行所述应用程序相关联的未来开销进行预测,其中该对所述未来开销进行预测基于所述监测环境数据。
18.根据权利要求17所述的系统,其中所述对所述未来开销进行预测包括使用服务水平协议数据。
19.根据权利要求12-18所述的系统,其中所述用户定义的供应信息通过使用以下内容而被确定需求分析算法;以及接收自用户接口的用户输入。
20.根据权利要求12-19所述的系统,其中所述用户定义的供应信息包括地理信息。
21.根据权利要求12-20所述的系统,其中所述用户定义的供应信息包括服务水平协议数据。
22.根据权利要求12-21所述的系统,其中所述处理器被配置为进一步结合存储的程序代码进行操作,以便接收安全信息;基于所述安全信息,确定被请求的安全动作;以及基于所述被请求的安全动作,发送安全事件。
23.一种具有计算机可使用程序代码的计算机可读介质,所述计算机可使用程序代码是可执行的,以用于执行以下操作基于用户定义的供应信息,确定被请求的初始云环境,其中该被请求的初始云环境为N 层计算环境;基于所述被请求的初始云环境,发送初始化事件,其中该初始化事件被配置为促使初始云环境配置能够由应用程序使用;发送应用程序数据,该应用程序数据被配置为促使所述应用程序在所述初始云环境配置中开始执行;接收监测环境数据,该监测环境数据表示当前云环境状态;基于所述监测环境数据,确定被请求的调节后云环境,其中该被请求的调节后云环境为N层计算环境;以及基于所述被请求的调节后云环境,发送云环境调节事件,其中该云环境调节事件被配置为促使调节后云环境配置能够由所述应用程序使用。
24.根据权利要求23所述的计算机可读介质,其中所述初始云环境配置包括初始第一云配置,第一云供应商使该初始第一云配置变得可用;所述被请求的调节后云环境配置包括被请求的第二云调节后配置; 所述调节后云环境配置包括调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使第二云供应商使所述调节后第二云配置变得可用。
25.根据权利要求23和M所述的计算机可读介质,其中所述被请求的初始云环境包括被请求的第一云初始配置和被请求的第二云初始配置;所述初始云环境配置包括初始第一云配置和初始第二云配置;以及所述初始化事件包括基于所述被请求的第一云初始配置的第一云初始化事件,其中该第一云初始化事件被配置为促使第一云供应商使所述初始第一云配置变得可用;以及基于所述被请求的第二云初始配置的第二云初始化事件,其中该第二云初始化事件被配置为促使第二云供应商使所述初始第二云配置变得可用。
26.根据权利要求25所述的计算机可读介质,其中所述被请求的调节后云环境配置包括被请求的第一云调节后配置和被请求的第二云调节后配置;所述调节后云环境配置包括调节后第一云配置和调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第一云调节后配置的第一云调节事件,其中该第一云调节事件被配置为促使所述第一云供应商使所述调节后第一云配置变得可用;以及基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使所述第二云供应商使所述调节后第二云配置变得可用。
27.根据权利要求2316所述的计算机可读介质,所述操作进一步包括对未来与所述应用程序一起使用的最佳云环境进行预测,其中该对所述最佳云环境进行预测基于所述监测环境数据。
28.根据权利要求23-27所述的计算机可读介质,所述操作进一步包括对与执行所述应用程序相关联的未来开销进行预测,其中该对所述未来开销进行预测基于所述监测环境数据。
29.根据权利要求观所述的计算机可读介质,其中所述对所述未来开销进行预测包括使用服务水平协议数据。
30.根据权利要求23- 所述的计算机可读介质,其中所述用户定义的供应信息通过使用以下内容而被确定需求分析算法;以及接收自用户接口的用户输入。
31.根据权利要求23-30所述的计算机可读介质,其中所述用户定义的供应信息包括地理信息。
32.根据权利要求23-31所述的计算机可读介质,其中所述用户定义的供应信息包括服务水平协议数据。
33.根据权利要求23-32所述的计算机可读介质,所述操作进一步包括 接收安全信息;基于所述安全信息,确定被请求的安全动作;以及基于所述被请求的安全动作,发送安全事件。
34.一种具有第一计算机可使用程序代码的第一计算机可读介质,其中所述第一计算机可使用程序代码是可执行的,以安装第二计算机可读介质上的第二计算机可使用程序代码;以及该第二计算机可使用程序代码是可执行的,以执行以下操作 基于用户定义的供应信息,确定被请求的初始云环境,其中该被请求的初始云环境为N 层计算环境;基于所述被请求的初始云环境,发送初始化事件,其中该初始化事件被配置为促使初始云环境配置能够由应用程序使用;发送应用程序数据,该应用程序数据被配置为促使所述应用程序在所述初始云环境配置中开始执行;接收监测环境数据,该监测环境数据表示当前云环境状态;基于所述监测环境数据,确定被请求的调节后云环境,其中该被请求的调节后云环境为N层计算环境;以及基于所述被请求的调节后云环境,发送云环境调节事件,其中该云环境调节事件被配置为促使调节后云环境配置能够由所述应用程序使用。
35.根据权利要求34所述的第一计算机可读介质,其中所述初始云环境配置包括初始第一云配置,第一云供应商使该初始第一云配置变得可用;所述被请求的调节后云环境配置包括被请求的第二云调节后配置; 所述调节后云环境配置包括调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使第二云供应商使所述调节后第二云配置变得可用。
36.根据权利要求34和35所述的第一计算机可读介质,其中所述被请求的初始云环境包括被请求的第一云初始配置和被请求的第二云初始配置;所述初始云环境配置包括初始第一云配置和初始第二云配置;以及所述初始化事件包括基于所述被请求的第一云初始配置的第一云初始化事件,其中该第一云初始化事件被配置为促使第一云供应商使所述初始第一云配置变得可用;以及基于所述被请求的第二云初始配置的第二云初始化事件,其中该第二云初始化事件被配置为促使第二云供应商使所述初始第二云配置变得可用。
37.根据权利要求36所述的第一计算机可读介质,其中所述被请求的调节后云环境配置包括被请求的第一云调节后配置和被请求的第二云调节后配置;所述调节后云环境配置包括调节后第一云配置和调节后第二云配置;以及所述云环境调节事件包括基于所述被请求的第一云调节后配置的第一云调节事件,其中该第一云调节事件被配置为促使所述第一云供应商使所述调节后第一云配置变得可用;以及基于所述被请求的第二云调节后配置的第二云调节事件,其中该第二云调节事件被配置为促使所述第二云供应商使所述调节后第二云配置变得可用。
38.根据权利要求34-37所述的第一计算机可读介质,所述操作进一步包括对未来与所述应用程序一起使用的最佳云环境进行预测,其中该对所述最佳云环境进行预测基于所述监测环境数据。
39.根据权利要求34-38所述的第一计算机可读介质,所述操作进一步包括对与执行所述应用程序相关联的未来开销进行预测,其中该对所述未来开销进行预测基于所述监测环境数据。
40.根据权利要求39所述的第一计算机可读介质,其中所述对所述未来开销进行预测包括使用服务水平协议数据。
41.根据权利要求34-40所述的第一计算机可读介质,其中所述用户定义的供应信息通过使用以下内容而被确定需求分析算法;以及接收自用户接口的用户输入。
42.根据权利要求34-41所述的第一计算机可读介质,其中所述用户定义的供应信息包括地理信息。
43.根据权利要求34-42所述的第一计算机可读介质,其中所述用户定义的供应信息包括服务水平协议数据。
44.根据权利要求34-43所述的第一计算机可读介质,所述操作进一步包括接收安全信息;基于所述安全信息,确定被请求的安全动作;以及基于所述被请求的安全动作,发送安全事件。
全文摘要
用于对软件应用程序所使用的云计算环境进行管理的方法、装置以及系统。所述云计算环境可为N层环境。可使用多个云供应商来提供所述云计算环境。
文档编号G06F9/30GK102216922SQ200980145744
公开日2011年10月12日 申请日期2009年10月8日 优先权日2008年10月8日
发明者J·马兹哈尔, S·佩尔韦 申请人:卡沃有限公司