用于计划应用部署的方法和系统的制作方法

文档序号:6352297阅读:325来源:国知局
专利名称:用于计划应用部署的方法和系统的制作方法
用于计划应用部署的方法和系统
背景技术
许多现代商业和组织极为依赖信息技术(IT)来提供基于计算机的工具和服务,以使得它们和它们的客户能够高效地操作。该工具和服务通常由众多不同的软件应用来提供,所述软件应用通常在诸如计算机服务器、联网设备、存储设备等等之类的多种计算硬件上运行。出于效率和易于管理的原因,此计算硬件在专门的数据中心中正日益被统一。通过使用诸如虚拟机之类的软件虚拟化应用,可以便利地把软件应用布置为在虚拟化环境中运行。这样,单个计算机服务器可以有效地同时运行多个计算机操作系统实例(或者虚拟映像(virtual image))以及在所述虚拟映像中的每一个上同时运行不同的应用。当决定要在数据中心中配备什么计算硬件时,常常对将要运行的软件应用的性质给予很少的考虑。相应地,计划不良的数据中心可能配备有比要运行一组软件应用实际需求的多得多的计算硬件。这样的过配备不仅成本高,而且它还可能导致软件应用以低效的方式被部署在计算硬件上。低效部署可以导致所谓的服务器或虚拟蔓延,其结果可能包括在功率、制冷以及空间需求方面的显著增加。


现在将参考附图、借助仅仅非限制性的示例来描述本发明的示例,在附图中
图I是图示了数据中心的一部分的简化框图2是计算机服务器中的操作系统和软件应用的示例部署的简化图解;
图3是图示了依据本发明的示例的虚拟化评估引擎302的简化框图4是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图5是图示了依据本发明的示例的虚拟化评估引擎的简化框图6是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图7是依据一个示例的虚拟映像和应用部署计划的图解;以及图8是图示了依据本发明的一个示例的虚拟化评估引擎的实施方式的简化框图。
具体实施例方式下面将参考各种示例来描述各种实施例。企业软件应用正越来越多地被部署在被配备在诸如数据中心之类的专门设施中的功能强大的计算硬件上的虚拟化环境中。图I示出了图示数据中心100的一部分的简化框图。数据中心100包括连接到数据中心主干网络104的多个计算机服务器102a-102n。本领域技术人员将意识到,为了简明起见,未示出典型数据中心的所有元件。服务器102a_102n中的每一个运行虚拟化应用,诸如VMWare公司的vSphere应用,其使得不同操作系统的实例或者虚拟映像能够同时在该服务器中的每一个上执行。例如,服务器102a可以执行使得Microsoft、Linux和Solaris操作系统的实例能够同时执行的虚拟化应用,以及还使得不同的应用能够在所述不同操作系统实例中的每一个上同时执行。如图2中所示,虚拟化应用202执行和管理三个不同操作系统实例204、206和208的虚拟化执行。在第一操作系统实例204上执行应用210a、210b和210c。在第二操作系统实例206上执行应用212a和212b。在第三操作系统实例208上执行应用214a至214d。目前,希望部署一组应用的系统架构师通常例如在数据中心中标识了一组未使用的计算硬件,并且很大程度地基于他们的个人知识和经验确定了该组应用将如何部署在计算硬件上。然而,对于系统架构师而言通常基本上过规定(over-specify)硬件需求以避免潜在的服务器过载的风险。此外,对于系统架构师而言,通常通过仅少量地给每个服务器加载应用来以有点谨慎的方式在硬件上部署应用,以便避免服务器过载的风险。然而,这样的方案可以导致所谓的虚拟化或者服务器蔓延,其中大量的物理服务器以低利用率运行。这可能导致就数据中心功率、制冷系统、存储器、储存器和物理空间而言的显著低效率。现在参考图3,其示出了依据本发明的示例的虚拟化评估引擎302。下面进一步参考图4和图6的流程图来描述依据各种示例的操作虚拟化评估引擎302的方法。依据一个或多个示例,虚拟化评估引擎302确定或生成可以被用来执行一组目标应用的一组计算硬件的特性,以及附加地确定分布或部署所确定硬件的该组目标应用的有效方式。在一个示例中,虚拟化评估引擎302获得(402)与期望运行在数据中心或者其他计算设施中的一组目标应用相关的数据306a至306η。虚拟化评估引擎302处理(404)所获得的数据并且生成(406)可以用来执行目标应用的一组硬件需求304a至304η的特性。虚拟化评估引擎302然后生成(408)部署计划308以用于适当地把那些应用分布在所确定的硬件上。部署计划308包括用于跨所确定的那组计算硬件来分布操作系统虚拟映像的计划310,以及用于在不同的操作系统虚拟实例之间分布、部署、或者堆叠目标应用的计划312。与该组应用有关的数据306例如可以通过使用软件代理、软件管理工具来自动地获得、手动地获得、或者以任何其他适当方式获得。数据306可以包括技术特性或者需求,例如包括应用被设计为在其上运行的操作系统、所要求的存储器的量、所要求的储存器的量、等等。数据306另外可以包括商业需求数据。商业需求数据例如可以定义对商业施加的约束或需求。商业需求例如可以通过数据中心或系统管理员或者架构师来获得,或者采用任何其他适当方式来获得。在不同的软件应用之间可能存在复杂的交互。例如,出于商业或安全原因,一个软件应用可能是被允许在特定物理计算机服务器上运行的唯一应用以确保满足对商业施加的安全需求。此外,可以要求这样的应用安装在独立的虚拟化应用上。借助于进一步的示例,应用可以依赖于特定的操作系统二进制库,为了冗余可以要求采用物理硬件分散(例如,其中要求物理硬件服务器处于分离的数据中心壳体中)来进行应用组件级聚类,等等。了解所有的不同参数和因素是特别具有挑战性的和复杂的任务。现在参考图5,其中示出了系统500,在其中,依据示例更详细地示出了虚拟化评估引擎302。进一步对图6进行参考。应用模型匹配器模块502获得(602)期望采用虚拟化方式安装和执行的一组目标应用的应用属性的集合504a至504η。在本示例中,应用属性包括技术506和非技术508应用属性这二者。在其他示例中,应用属性504a至504η可以包括除了技术和非技术属性这二者之外的属性。非技术属性例如可以包括功能需求,其可以影响应用在虚拟环境中或者在物理硬件上的放置或共栖。例如,非技术属性可以根据功能或商业方面来限定是否允许一应用与其他应用共栖在同一虚拟机中或者甚至在同一物理硬件上。例如,对于具有安全需求的应用而言可能是这样的,在该应用中,应用拥有者不希望该应用与任何其他应用共享物理或虚拟资源。在一些示例中,所获得的属性的集合504a至504η包括属性优先化或者权重。在其他示例中,一旦获得了属性,就可以由用户手动地或者通过施加预定权重自动地分配权重。权重例如可以用来指示不同特性的相对重要性。下面在表I和2中示出了示例应用属性。
权利要求
1.一种在计算机系统中计划应用部署的方法,包括针对多个计算机应用中的每一个获得应用特性集;基于所获得的特性,把所述多个应用中的每一个指派给预定应用模型集中的一个预定应用模型;以及部分地基于所获得的特性和部分地基于应用模型兼容性数据来确定硬件特性集、虚拟服务器分布计划以及应用分布计划。
2.如权利要求I所述的方法,其中所述确定的步骤包括确定初始虚拟服务器分布计划;确定硬件特性集;依据所确定的硬件特性集修订所述初始虚拟服务器分布计划;以及确定应用分布计划。
3.如权利要求I所述的方法,其中,所确定的硬件特性集定义了适合于执行所述应用集的计算硬件集的特性,其中,所确定的虚拟分布计划定义了将被部署在所定义的计算硬件中的每一个上的虚拟服务器的数目和类型,以及其中,所述应用分布计划定义了所述应用集中的哪些应用将被部署在所述虚拟服务器中的哪些上。
4.如权利要求I所述的方法,其中,所述确定修订的虚拟服务器分布计划的步骤包括确定适合于在所确定的计算硬件上执行所述应用集的虚拟服务器的特性和数目。
5.如权利要求I所述的方法,其中,所述指派的步骤进一步包括,在确定了应用并未适当地匹配所述预定应用模型中的任何预定应用模型的情况下,基于所述应用的特性生成新的应用模型。
6.如权利要求5所述的方法,其中,所述生成新的应用模型的步骤包括确定最接近匹配的应用模型,以及基于所确定的最接近匹配的应用模型生成新的应用模型。
7.如权利要求I所述的方法,其中,所述确定虚拟服务器部署计划和应用部署计划的步骤进一步包括确定多个不同的硬件特性集、虚拟服务器部署计划以及应用部署计划,部署计划以及所述多个不同硬件集中的每一个是基于应用特性和所获得的优选数据的不同组合来确定的;以及基于所获得的优选来选择部署计划和所述多个确定的硬件集之一。
8.一种系统,包括处理器、与所述处理器通信的存储器以及计算机可执行指令,所述计算机可执行指令被存储在所述存储器中并且可在所述处理器上执行以针对多个应用中的每一个获得特性集;使用所获得的特性将所述应用中的每一个与预定应用模型匹配;生成初始虚拟服务器分布计划生成硬件特性集;以及依据所生成的硬件特性集生成修订的虚拟服务器分布计划。
9.如权利要求8所述的系统,其中,所述计算机可执行指令还包括用来生成所述应用可以被部署在其上的计算硬件的列表的指令。
10.如权利要求8所述的系统,其中,所述计算机可执行指令还包括用来生成虚拟服务器分布计划的指令,所述虚拟服务器分布计划详细描述适合于执行所述应用集的虚拟服务器的类型和数目以及用于详细描述每个虚拟服务器将被部署在所确定的计算硬件中的哪些上。
11.如权利要求10所述的系统,其中,所述计算机可执行指令还包括用来生成详细描述所述应用中的每一个将被部署在所述虚拟服务器中的哪些上的应用部署计划的指令。
12.如权利要求8所述的系统,其中,所述计算机可执行指令还包括这样的指令,该指令用来在确定了应用并未与所述应用模型中的任何应用模型匹配的情况下,基于所述应用的特性生成新的应用模型,以及把所生成的应用模型存储在应用模型数据储存器中。
13.如权利要求8所述的系统,其中,用来生成所述分布计划的所述计算机可执行指令还包括这样的指令,该指令用来生成多个硬件特性集、虚拟服务器和应用分布计划;以及依据所获得的优选数据选择硬件特性集之一和相关联的所生成的分布计划。
14.如权利要求8所述的系统,其中,所述计算机可执行指令还包括这样的指令,该指令用来把所生成的计算硬件的列表发送给采购应用以用于订购所生成的计算硬件的列表。
15.一种有形的机器可读介质,其存储可由处理器执行以用于在计算机系统中计划应用部署的机器可读指令,所述有形的机器可读介质包括当由所述处理器执行时针对多个计算机应用中的每一个获得应用特性集的机器可读指令;当由所述处理器执行时,基于所获得的特性把所述多个应用中的每一个指派给预定应用模型集中的一个预定应用模型的机器可读指令;当由所述处理器执行时确定初始虚拟服务器分布计划的机器可读指令;当由所述处理器执行时确定硬件特性集的机器可读指令;当由所述处理器执行时依据所确定的硬件特性集修订所述初始虚拟服务器分布计划的机器可读指令;以及当由所述处理器执行时确定应用分布计划的机器可读指令。
全文摘要
根据一个示例,其中提供了一种在计算机系统中部署应用的方法。该方法包括针对多个计算机应用中的每一个获得应用特性集;基于所获得的特性,把所述多个应用中的每一个指派给预定应用模型集中的一个预定应用模型;以及部分地基于所获得的特性和部分地基于应用模型兼容性数据来确定硬件特性集、虚拟服务器分布计划以及应用分布计划。
文档编号G06F9/44GK102959506SQ201080067619
公开日2013年3月6日 申请日期2010年6月22日 优先权日2010年6月22日
发明者J.D.吉布森, M.A.施蒂姆普夫勒 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1