用于确定应用的部署的方法和系统的制作方法

文档序号:6352296阅读:172来源:国知局
专利名称:用于确定应用的部署的方法和系统的制作方法
用于确定应用的部署的方法和系统
背景技术
许多现代商业和组织极为依赖信息技术(IT)来提供基于计算机的工具和服务,以使得它们和它们的客户能够高效地操作。该工具和服务通常由众多不同的软件应用来提供,所述软件应用通常运行在众多计算机服务器上。出于效率的原因,这些计算机服务器中的许多计算机服务器在诸如数据中心之类的专门的设施中正日益被统一。通过使用诸如虚拟机之类的软件虚拟化应用,可以便利地把软件应用布置为在虚拟化环境中运行。这样,单个计算机服务器可以有效地同时运行多个计算机操作系统实例(或者虚拟映像(virtual image))以及在所述虚拟映像中的每一个上同时运行不同的应用。然而,由于可在数据中心中获得的典型充足的计算力的原因,通常对软件应用和 软件虚拟化应用在不同的计算机服务器上分布所采用的方式给予很少的关注。


现在将参考附图、借助仅仅非限制性的示例来描述本发明的示例,在附图中
图I是图示了数据中心的一部分的简化框图。图2是计算机服务器中的操作系统和软件应用的示例部署的简化图解。图3是图示了依据本发明的示例的虚拟化评估引擎的简化框图。图4是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图。图5是图示了依据本发明的示例的虚拟化评估引擎的简化框图。图6是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图。图7是依据本发明的一个示例的虚拟映像和应用部署计划的图解。以及
图8是图示了依据本发明的一个示例的虚拟化评估引擎的实施方式的简化框图。
具体实施例方式下面将参考各种示例来描述各种实施例。现在参考图1,其中示出了图示了数据中心100的一部分的简化框图。数据中心100包括连接到数据中心骨干网络104的多个计算机服务器102a至102η。本领域技术人员将意识到,为了简明起见,未示出典型数据中心的所有元件。在服务器102a至102η中的每一个上运行虚拟化应用(未示出),其使得不同操作系统的实例或者虚拟映像能够同时在所述服务器中的每一个上执行。例如,服务器102a可以执行使得Microsoft、Linux和Solaris操作系统的实例能够同时执行的虚拟化应用,以及还使得不同的应用能够在所述不同操作系统实例中的每一个上同时执行,如图2中所
/Jn ο在本示例中,如图2中所示,诸如VMWare公司的vSphere应用之类的虚拟化应用202执行和管理三个不同操作系统实例204、206和208的虚拟化执行。在第一操作系统实例204上执行应用210a、210b和210c。在第二操作系统实例206上执行应用212a和212b。在第三操作系统实例208上执行应用214a至214d。在传统上,虚拟化应用、操作系统实例和应用已经被分布在数据中心中的不同计算机服务器上所采用的方式曾经主要是手动过程,其中一个或多个系统管理员或者系统架构师基于它们的个人经验和知识决定该分布或部署。然而,随着此方案而来的一个问题是由于准确地确定虚拟化应用和软件应用的高效分布或部署方面的难度,系统管理员或系统架构师倾向于过度小心以避免潜在的服务器过载的风险,并且倾向于对每个物理服务器仅进行少量地加载。由于可在数据中心中获得通常充足数量的处理力的原因,这样的方案曾经通常是可接受的。然而,这样的方案可能导致所谓的虚拟化或者服务器蔓延,其中大量的物理服务器以低利用率运行。这可能导致就数据中心功率、制冷系统、存储器、储存器和物理空间而言的显著低效率。为了确定高效的部署计划,可能需要考虑与要执行的软件应用、所要求的操作系统、虚拟映像、虚拟化应用以及物理硬件有关的极大量的因素。所述因素可以包括技术或物理因素以及商业因素这二者。对于物理计算机服务器示例而言,技术因素可以包括处理力;多任务处理能力;存储器容量;储存器容量;以及网络带宽。对于软件应用示例而言,技术因素可以包括存储器需求;联网需求;储存器需求;安全需求;冗余需求;以及处理力需求。在不同的软件应用之间还可能存在复杂的交互。例如,出于商业或安全原因,一个软件应用可能是被允许在特定物理计算机服务器上运行的唯一应用以确保满足对商业施加的安全需求。此外,可以要求这样的应用安装在独立的虚拟化应用上。借助于进一步的示例,应用可以依赖于特定的操作系统二进制库,为了冗余可以要求采用物理硬件分散(例如,其中要求物理硬件服务器处于分离的数据中心壳体中)来进行应用组件级聚类,等等。·了解所有的不同参数和因素是特别具有挑战性的和复杂的任务。现在参考图3,其中示出了依据一示例的虚拟化评估引擎302。下面进一步参考图4的流程图来描述依据各种示例的操作虚拟化评估引擎302的方法。依据一个或多个示例,在“分析模式”下使用虚拟化评估引擎302来确定把目标应用集分布在给定的目标计算机硬件集上的高效方式。在一个示例中,虚拟化评估引擎302获得(402 )与计算硬件集有关的数据304a至304η,所述计算硬件集可用于运行被期望在数据中心或其他计算设施中运行的目标软件应用集。在404处,虚拟化评估引擎302获得与该目标应用集有关的数据306a至306η。在406处,虚拟化评估引擎302处理所获得的数据304和306并且生成(408)用于在目标计算硬件上适当地部署目标应用的部署计划308。该部署计划308包括用于跨可用的那组计算硬件分布操作系统虚拟映像的计划310,以及用于在不同的操作系统虚拟实例之间分布或堆叠目标应用的计划312。数据304和306可以例如通过使用软件代理、软件管理工具自动地加以获得,例如由数据中心管理员或者架构师手动地加以获得,或者采用任何其他适当方式来加以获得。数据306可以包括技术特性或需求,其例如包括应用被设计为在其上运行的操作系统、所要求的存储器的量、所要求的储存器的量,等等。数据304和306可以另外包括商业需求数据。商业需求数据例如可以定义对商业施加的约束或需求。商业需求例如可以通过数据中心或系统管理员或者架构师来获得,或者采用任何其他适当方式来获得。
现在参考图5,其中示出了系统500,在其中,依据示例更详细地示出了虚拟化评估引擎302。对图6进行进一步参考,图6是概述依据一个示例的操作虚拟化评估引擎302的方法的流程图。应用模型匹配器模块502获得(602)针对目标应用集的应用属性集504a至504η,期望所述目标应用集采用虚拟化方式在计算硬件的目标集上安装和执行。在本示例中,应用属性包括技术506和非技术508应用属性这二者。在其他示例中,应用属性504a至504η可以包括除了技术和非技术属性这二者之外的属性。非技术属性例如可以包括功能需求,其可以影响应用在虚拟环境中或者在物理硬件上的放置或共栖。例如,非技术属性可以根据功能或商业方面来限定是否允许一应用与其他应用共栖在同一虚拟机中或者甚至在同一物理硬件上。例如,对于具有安全需求的应用而言可能是这样的,在该应用中,应用拥有者不希望该应用与任何其他应用共享物理或虚拟资源。在一些示例中,所获得的属性的集合504a至504η包括属性优先化或者权重。在其他示例中,一旦获得了属性,就可以由用户手动地或者通过施加预定权重自动地分配权重。权重例如可以用来指示不同特性的相对重要性。·
下面在表I和2中示出了示例应用属性。
....... .........—
Oii111
H i'i· H Vk IIidows 2U03 32
丽石丽..........ιο ...................................................................................................
3.5GBI
.......;两涵「丽揮:........3(,%......................................................................................................................I
....丽丽京.不丽虱涵........................................................................................丨
jlm顧 _
IP·丽—ΓΓ ΙΤΙ '丨++ 泰级別「從........j ■ ·I
...1.: +++ +_J
nflllfl: , I
I在依战均__怙况KWeh #器dt: Ι ;
1.....丽丽画.丽.....函顾;.........豆...............................................................I
I Iμ )
1......MmSmm.....FISSI:1.........豆..........................................................................
iSLAmf%...........................................................................................................................................................................I
表I一示例应用属性
权利要求
1.一种确定在包括多个计算硬件的计算机系统中的应用的部署的方法,包括 针对多个应用中的每一个获得应用特性集; 使用所获得的特性把所述多个应用中的每一个指派给多个预定应用模型之一;以及 确定虚拟服务器部署计划和应用部署计划,所述确定部分地基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
2.如权利要求I所述的方法,其中所述确定虚拟服务器部署计划的步骤包括确定适合于执行将被部署在所述多个计算硬件中的每一个上的应用集的虚拟服务器的类型和数目。
3.如权利要求2所述的方法,其中所述确定应用部署计划的步骤包括确定哪些应用将被部署在哪些虚拟服务器上。
4.如权利要求I所述的方法,其中所述指派的步骤还包括确定应用是否与应用模型匹配达到预定的相似性程度。
5.如权利要求I所述的方法,其中所述指派的步骤还包括在确定了应用并未适当地与所述预定应用模型中的任何一个匹配的情况下,基于所述应用的特性生成新的应用模型。
6.如权利要求5所述的方法,其中所述生成新的应用模型的步骤包括确定最接近匹配的应用模型,以及通过修改所确定的最接近匹配的应用模型来生成新的应用模型。
7.如权利要求I所述的方法,其中所述确定虚拟服务器部署计划和应用部署计划的步骤还包括获得部署计划优选,以及附加地基于所获得的部署计划优选确定所述部署计划。
8.如权利要求I所述的方法,其中所述确定虚拟服务器部署计划和应用部署计划的步骤还包括 确定多个不同的虚拟服务器部署计划和对应的应用部署计划,所述多个不同的计划中的每一个是基于应用特性和计算机系统特性的不同组合确定的;以及 基于所获得的部署计划优选来选择所述多个确定的部署计划之一。
9.如权利要求I所述的方法,还包括把所确定的虚拟机和应用部署计划发送到虚拟化管理应用,所述虚拟化管理应用用来依据所确定的部署计划部署虚拟服务器和所述应用。
10.一种系统,包括处理器、与所述处理器通信的存储器以及计算机可执行指令,所述计算机可执行指令被存储在所述存储器中并且可在所述处理器上执行以 针对多个应用中的每一个获得特性集; 使用所获得的特性,把所述应用中的每一个与预定应用模型匹配;以及 生成虚拟服务器分布计划和应用分布计划,所述生成部分地基于所述应用的特性、计算机硬件集的特性、以及应用模型兼容性数据。
11.如权利要求10所述的系统,其中,所述计算机可执行指令还包括这样的指令,该指令用来 通过确定适合于托管将被分布在所述多个计算硬件中的每一个上的应用集的虚拟服务器的类型和数目,来确定虚拟服务器分布计划。
12.如权利要求10所述的系统,其中用于把应用与应用模型匹配的计算机可执行指令还包括这样的指令,该指令用来获得预定优选集;以及 通过确定所述应用和所述应用模型之间是否存在所述优选中所定义的相似性程度来确定应用是否与应用模型匹配。
13.如权利要求12所述的系统,其中,所述计算机可执行指令还包括这样的指令,该指令用来 在确定了应用并未与所述应用模型中的任何应用模型匹配的情况下,基于所述应用的特性生成新的应用模型,以及把所生成的应用模型存储在应用模型数据储存器中。
14.如权利要求10所述的系统,其中,所述计算机可执行指令还包括这样的指令,该指令用来 获得预定优选集;以及 其中用于确定虚拟服务器和应用部署计划的指令还包括用于部分地基于所获得的优选生成所述分布计划的指令。
15.如权利要求10所述的系统,其中,用于生成所述分布计划的计算机可执行指令还包括这样的指令,该指令用来 生成多个虚拟服务器和应用分布计划;以及 依据获得的优选数据选择所生成的分布计划之一。
全文摘要
根据一个示例,其中提供了一种确定在包括多个计算硬件的计算机系统中的应用的部署的方法。该方法包括针对多个应用中的每一个获得应用特性集,使用所获得的特性把所述多个应用中的每一个指派给多个预定应用模型之一,以及确定虚拟服务器部署计划和应用部署计划,所述确定部分基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
文档编号G06F15/16GK102947790SQ201080067615
公开日2013年2月27日 申请日期2010年6月22日 优先权日2010年6月22日
发明者J.D.吉布森, M.A.施蒂姆普夫勒 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1