CN102947790B - 用于确定应用的部署的方法和系统 - Google Patents
用于确定应用的部署的方法和系统 Download PDFInfo
- Publication number
- CN102947790B CN102947790B CN201080067615.6A CN201080067615A CN102947790B CN 102947790 B CN102947790 B CN 102947790B CN 201080067615 A CN201080067615 A CN 201080067615A CN 102947790 B CN102947790 B CN 102947790B
- Authority
- CN
- China
- Prior art keywords
- application
- deployment plan
- deployment
- characteristic
- virtual server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
根据一个示例,其中提供了一种确定在包括多个计算硬件的计算机系统中的应用的部署的方法。该方法包括针对多个应用中的每一个获得应用特性集,使用所获得的特性把所述多个应用中的每一个指派给多个预定应用模型之一,以及确定虚拟服务器部署计划和应用部署计划,所述确定部分基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
Description
技术领域
本公开涉及用于确定应用的部署的方法和系统。
背景技术
许多现代商业和组织极为依赖信息技术(IT)来提供基于计算机的工具和服务,以使得它们和它们的客户能够高效地操作。该工具和服务通常由众多不同的软件应用来提供,所述软件应用通常运行在众多计算机服务器上。出于效率的原因,这些计算机服务器中的许多计算机服务器在诸如数据中心之类的专门的设施中正日益被统一。
通过使用诸如虚拟机之类的软件虚拟化应用,可以便利地把软件应用布置为在虚拟化环境中运行。这样,单个计算机服务器可以有效地同时运行多个计算机操作系统实例(或者虚拟映像(virtual image))以及在所述虚拟映像中的每一个上同时运行不同的应用。
然而,由于可在数据中心中获得的典型充足的计算力的原因,通常对软件应用和软件虚拟化应用在不同的计算机服务器上分布所采用的方式给予很少的关注。
发明内容
根据本公开的第一方面,提供了一种确定在包括多个计算硬件的计算机系统中的应用的部署的方法,包括:针对多个应用中的每一个获得应用特性集;使用所获得的特性把所述多个应用中的每一个与多个预定应用模型之一匹配;以及确定虚拟服务器部署计划和应用部署计划,所述确定部分地基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
根据本公开的第二方面,提供了一种确定在包括多个计算硬件的计算机系统中的应用的部署的系统,包括:用于针对多个应用中的每一个获得特性集的装置;用于使用所获得的特性把所述多个应用中的每一个与多个预定应用模型之一匹配的装置;以及用于确定虚拟服务器部署计划和应用部署计划的装置,所述确定部分地基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
附图说明
现在将参考附图、借助仅仅非限制性的示例来描述本发明的示例,在附图中:
图1是图示了数据中心的一部分的简化框图。
图2是计算机服务器中的操作系统和软件应用的示例部署的简化图解。
图3是图示了依据本发明的示例的虚拟化评估引擎的简化框图。
图4是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图。
图5是图示了依据本发明的示例的虚拟化评估引擎的简化框图。
图6是概述依据本发明的示例的操作虚拟化评估引擎的方法的简化流程图。
图7是依据本发明的一个示例的虚拟映像和应用部署计划的图解。以及
图8是图示了依据本发明的一个示例的虚拟化评估引擎的实施方式的简化框图。
具体实施方式
下面将参考各种示例来描述各种实施例。
现在参考图1,其中示出了图示了数据中心100的一部分的简化框图。数据中心100包括连接到数据中心骨干网络104的多个计算机服务器102a至102n。本领域技术人员将意识到,为了简明起见,未示出典型数据中心的所有元件。
在服务器102a至102n中的每一个上运行虚拟化应用(未示出),其使得不同操作系统的实例或者虚拟映像能够同时在所述服务器中的每一个上执行。例如,服务器102a可以执行使得Microsoft、Linux和Solaris操作系统的实例能够同时执行的虚拟化应用,以及还使得不同的应用能够在所述不同操作系统实例中的每一个上同时执行,如图2中所示。
在本示例中,如图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至304n,所述计算硬件集可用于运行被期望在数据中心或其他计算设施中运行的目标软件应用集。在404处,虚拟化评估引擎302获得与该目标应用集有关的数据306a至306n。在406处,虚拟化评估引擎302处理所获得的数据304和306并且生成(408)用于在目标计算硬件上适当地部署目标应用的部署计划308。该部署计划308包括用于跨可用的那组计算硬件分布操作系统虚拟映像的计划310,以及用于在不同的操作系统虚拟实例之间分布或堆叠目标应用的计划312。
数据304和306可以例如通过使用软件代理、软件管理工具自动地加以获得,例如由数据中心管理员或者架构师手动地加以获得,或者采用任何其他适当方式来加以获得。数据306可以包括技术特性或需求,其例如包括应用被设计为在其上运行的操作系统、所要求的存储器的量、所要求的储存器的量,等等。数据304和306可以另外包括商业需求数据。商业需求数据例如可以定义对商业施加的约束或需求。商业需求例如可以通过数据中心或系统管理员或者架构师来获得,或者采用任何其他适当方式来获得。
现在参考图5,其中示出了系统500,在其中,依据示例更详细地示出了虚拟化评估引擎302。对图6进行进一步参考,图6是概述依据一个示例的操作虚拟化评估引擎302的方法的流程图。
应用模型匹配器模块502获得(602)针对目标应用集的应用属性集504a至504n,期望所述目标应用集采用虚拟化方式在计算硬件的目标集上安装和执行。在本示例中,应用属性包括技术506和非技术508应用属性这二者。在其他示例中,应用属性504a至504n可以包括除了技术和非技术属性这二者之外的属性。非技术属性例如可以包括功能需求,其可以影响应用在虚拟环境中或者在物理硬件上的放置或共栖。例如,非技术属性可以根据功能或商业方面来限定是否允许一应用与其他应用共栖在同一虚拟机中或者甚至在同一物理硬件上。例如,对于具有安全需求的应用而言可能是这样的,在该应用中,应用拥有者不希望该应用与任何其他应用共享物理或虚拟资源。
在一些示例中,所获得的属性的集合504a至504n包括属性优先化或者权重。在其他示例中,一旦获得了属性,就可以由用户手动地或者通过施加预定权重自动地分配权重。权重例如可以用来指示不同特性的相对重要性。
下面在表1和2中示出了示例应用属性。
表1—示例应用属性
表2—示例应用属性。
在一些示例中,可以使用诸如可扩展标记语言(XML)之类的标记语言来定义应用属性。
系统500包括应用模型储存器510,在其中存储预定的应用模型集。
可以通过对可能被期望在数据中心中运行的不同软件应用的分析来定义每个应用模型。这样的分析可以适当地由系统管理员或者架构师执行或者通过应用分析模块或者工具(未示出)执行。每个应用模型目的是提供标识关键应用特性的唯一的或者基本唯一的技术和/或非技术属性的集合。一些应用模型可以仅具有技术属性,而其他应用模型可以具有技术和非技术属性这二者。
下面在表3和4中示出了示例应用模型。
表3—示例应用模型
表4—示例应用模型。
在一些示例中,可以使用诸如XML之类的标记语言来定义应用模型。
在604处,应用模型匹配器502试图将针对其获得应用属性504的目标应用中的每一个与存储在应用模型储存器510中的应用模型匹配或者指派给存储在应用模型储存器510中的应用模型。
在一个示例中,匹配或指派处理例如可以通过搜索与针对给定应用的所获得的应用属性504中的每一个精确匹配的应用模型来执行。在其他示例中,匹配处理例如可以通过搜索最佳匹配或者基本上匹配所获得的应用属性中的至少一些的应用模型来执行,或者通过搜索在预定相似性程度上匹配的应用模型来执行。例如,应用属性中的一些或者全部可以具有限定重要性级别或者可接受的相似性级别的相关权重。在一些示例中,在适当时候可以使用合适的XML解析技术。
一旦针对每个目标应用的应用属性中的每一个已经与一应用模型匹配或者被指派给一应用模型,结果就被传给虚拟机映像计划模块512。
虚拟机映像计划模块512获得存储在应用模型兼容性数据储存器514中的应用模型兼容性数据。在一些示例中,应用模型兼容性数据可以与应用模型数据一起存储。
应用模型兼容性数据定义了在虚拟化环境中哪些应用模型与哪些其他应用模型兼容,以及,通过推断定义了哪些应用模型与哪些其他应用模型不兼容。下面在表5中示出了一示例。
表5—示例应用模型兼容性。
一个应用模型与另一个的兼容性可以通过对技术和非技术应用属性的分析来加以确定。该分析例如可以由系统管理员或者系统架构师通过使用应用分析工具、处理监视器或者采用任何合适的方式来执行。
举例来说,可以确定要求Linux操作系统的应用模型与要求Windows操作系统的应用不兼容。类似地,可以确定其中要求应用组件聚类的应用模型与其中不要求应用聚类的应用模型不兼容。
虚拟机映像计划模块512使用应用模型兼容性数据确定(606)哪些应用与彼此兼容,以及因此在给定的虚拟机映像中或者在同一物理硬件上哪些应用可以与哪些其他应用共栖。例如,它们的对应的应用模型可以被确定为是不兼容的应用被确定为不能够与彼此共栖。例如,要求Linux系统的应用可以被确定为不能够在Windows操作系统的虚拟机映像中共栖。借助于进一步的示例,具有定义不允许服务器共享的属性的应用将不被允许与其他应用共栖,甚至将不被允许与要求同一操作系统的应用共栖。
虚拟映像计划模块512因而确定用以执行该组目标应用所必要的每个操作系统的最小数目的虚拟机实例,以及哪些应用应当和不应当被并置在同一操作系统实例中的细节。虚拟映像计划模块512还为每个虚拟映像确定适当的配置参数。然而,此初始确定是在没有对可用硬件资源进行任何参考的情况下做出的。如下面所描述的,可以确定的是,根据可得到的实际物理硬件的特性,要求更多数目的虚拟机映像。
所确定的细节被传给虚拟机映像部署和应用部署计划模块516。
具有一组应用模型以及那些模型之间的预定兼容性的一个特定优点是它减少了确定不同的应用是否与彼此兼容的任务以便目标应用的关键特性与一组应用模型的特性的模式匹配的相对直接的操作。
虚拟机部署和应用部署计划模块516获得(608)物理硬件属性518,其定义应用可以在其上执行的可获得的目标硬件集的物理属性。该物理属性例如可以由系统管理员通过由硬件制造者、通过软件监视应用、软件代理、或者采用任何其他合适的方式提供的数据来获得。
虚拟机部署和应用部署计划模块516还获得(610)定义可用的目标虚拟机映像的属性的虚拟机映像属性520。虚拟机映像属性520可以包括所要求的最小硬件资源、可能的执行线程数、以及其他适当的特性的细节。虚拟机属性520例如可以由系统管理员或者系统架构师通过由虚拟机开发者或者供应者供应的数据、通过软件监视应用、软件代理、或者采用任何其他合适的方式来获得。
虚拟机部署和应用部署计划模块516还获得(612)存储在部署计划优选数据储存器524中的部署计划优选数据。该部署计划优选数据可以由系统管理员或者系统架构师来设置,或者可以定义默认的预定的部署计划优选集。部署计划优选(preference)确定了将由模块516考虑的优选。连同硬件属性518和VM映像属性520一起考虑部署计划优选,从而使得VM映像部署和应用部署计划模块516产生虚拟机部署计划526和应用部署或可堆叠性计划528。例如,所述优选可以针对由虚拟映像进行的硬件的使用来定义特定限制或阈值。在一个示例中,所述优选可以定义硬件设备的CPU利用率的最大量。使用该计划优选使得最终的部署和堆叠计划能够适合于特定系统管理员或者系统架构师需求。
在一个示例中,虚拟机部署和应用部署计划模块516考虑到被指派给同一虚拟映像的其他应用所要求的资源来依次分析每个应用并且把每个应用指派给一虚拟映像。如果虚拟机部署和应用部署计划模块516确定了通过把该应用添加到该虚拟映像将超出虚拟机映像资源,则寻求在其上放置该应用的不同的虚拟映像。如果找到了合适的虚拟映像,则把该应用指派给该找到的虚拟映像。如果没有找到合适的虚拟映像,则分配新的虚拟映像,并且把该应用指派给该新的虚拟映像。
根据目标应用集中的应用的数目和类型以及根据可用计算硬件的特性,模块516可以确定存在不足的硬件资源来支持所有的应用。在此情况下,可以生成错误消息或警报。
使用所获得的信息,虚拟机部署和应用部署计划模块516确定(614)一个或多个虚拟映像部署计划526和一个或多个应用部署或堆叠计划528。虚拟映像部署计划定义了被确定为适合于托管或执行该应用集的虚拟映像的类型和数目。虚拟映像部署计划526另外定义所定义的虚拟映像中的哪个(或哪些)应当被安装在哪个物理硬件上。应用部署或堆叠计划528定义目标应用中的哪个(或哪些)应当被安装在虚拟映像中的哪个(或哪些)上。
在一些示例中,虚拟机映像部署和应用部署计划模块516针对目标硬件和目标应用的不同组合,使用所述应用、硬件和虚拟机属性中的适当的一些来计算不同的虚拟机部署计划526和应用堆叠计划528。
因此模型516例如可以确定,要求将附加的虚拟机映像安装在不同的计算机服务器上以便所有目标应用都可在该目标硬件集上执行。例如,如果在理论上仅要求单个虚拟机映像(例如,如果所有的目标应用可与彼此兼容)则这可能是事实,但是针对组合的目标应用集的硬件需求(诸如存储器、CPU需求等等)超过了给定物理服务器所支持的硬件需求。在此情况下,可以把第二虚拟机映像添加在另外的物理服务器上以便不超过每个物理服务器的硬件需求。另外,诸如冗余需求之类的其他因素可能影响如所需求的所标识的虚拟机和物理机的数目。
在一个示例中,模块516确定虚拟机和应用部署的多个不同组合,并且可以基于一个或多个不同参数对不同的组合分等级。模块516可以基于不同的准则对不同的组合分等级,所述不同的准则例如包括:最小数目的虚拟机映像、最小数目的物理服务器、每虚拟机映像的最大数目的应用、等等。模块516可以基于诸如存储在优选数据储存器524中的优选之类的一些预定优选,自动地把部署计划中的一个选择作为优选的部署计划。在进一步的示例中,可以把不同部署计划的列表呈现给系统管理员或者架构师以用于手动选择优选的部署计划。该呈现例如可以经由与虚拟化评估引擎302相关联的可视显示单元(未示出)来进行。
所确定的虚拟机和应用部署计划526和528可以采用适当的元数据的形式(例如,采用XML格式)来加以输出,其可以被虚拟化管理应用使用来用适当的虚拟机映像自动地配置目标硬件,以及依据所选择的虚拟机和应用部署计划适当地分布目标应用。
在图7中示出了虚拟映像和应用部署计划的示例图解。示出了多个物理服务器702a至702d,每个分别运行虚拟化应用704a至704d。服务器702a运行单个Windows虚拟映像706a,在其上运行多个Windows应用708a。服务器702b运行Windows虚拟映像706b和Linux虚拟映像706b',在该Windows虚拟映像706b上运行Windows应用708b,在Linux虚拟映像706b'上运行Linux应用708b'。服务器702c运行Windows虚拟映像706c和Solaris虚拟映像706c',在该Windows虚拟映像706c上运行Windows应用708c,在Solaris虚拟映像706c'上运行Solaris应用708c'。最后,服务器702d运行Windows虚拟映像706d,在其上运行单个Windows应用708d。
在又一示例中,把应用模型匹配器模块502配置为当其确定了针对一应用的应用属性集504并未适当地匹配当前存储在应用模型储存器510中的任何应用模型时,创建新的应用模型。在一个示例中,如果一组应用属性仅部分匹配现有的应用模型,则可以通过下列各步骤来创建新的应用模型:确定最接近匹配的应用模型以及复制所确定的最接近匹配的应用模型的一部分以及对它进行修改以针对非匹配元素创建新的模型属性。可以把新生成的应用模型存储在应用模型储存器510中以供将来使用。在一个示例中,当创建新的应用模型时可以触发警报,例如以允许系统管理员或者架构师更新或者验证新创建的应用模型,以及如果需要把应用模型兼容性数据添加到应用兼容性数据储存器514。
现在参考图8,其中示出了虚拟化评估引擎302的示例实施方式的框图。虚拟化评估引擎302包括微处理器、控制逻辑或者微控制器802以用于执行存储在存储器804中的机器可读指令。机器可读或者计算机可执行指令当被处理器802执行时可以执行如上面被描述为计算机实施的方法的方法步骤。输入和输出操作可以由I/O模块806处理。处理器802、存储器804和I/O接口806经由总线808耦合或者通信。
在进一步的示例中,提供了承载当被计算机解释时促使计算机执行依据上面描述的示例中的任何示例的方法的计算机可实施指令的载体。
将理解的是,示例可以采用硬件、软件、或者硬件和软件的组合的形式来实现。任何这样的软件可以被以有形的易失或非易失储存器(诸如例如像ROM的存储设备,无论是否是可擦除的或者可重写的)的形式来加以存储,或者以诸如例如RAM、存储器芯片、器件或者集成电路之类的存储器的形式来加以存储,或者被存储在诸如例如CD、DVD、磁盘或者磁带之类的光学或磁性可读介质上。将理解的是,所述存储设备和存储介质是当执行本发明的实施示例时适合于存储一个或多个程序的机器可读储存器的示例。
因此,示例可以提供包括用于实施如任何前述权利要求中要求保护的系统或方法的代码的程序以及存储该程序的机器可读储存器。仍进一步地,可以以电子方式经由任何介质(诸如通过有线或无线连接载送的通信信号)传达示例,并且示例适合地包括同样的东西。
此说明书(包括任何随附的权利要求书、摘要和附图)中所公开的所有特征,和/或如此公开的任何方法或过程的所有步骤可以采用任何组合进行组合,除了这样的特征和/或步骤中的至少一些是互斥的组合之外。
此说明书(包括任何随附的权利要求书、摘要和附图)中所公开的每个特征可以由用作相同的、等价的或相似目的的替代特征替换,除非以其它方式明确声明。因此,除非以其它方式明确声明,所公开的每个特征仅是等价或相似特征的通用系列中的一个示例。
Claims (15)
1.一种确定在包括多个计算硬件的计算机系统中的应用的部署的方法,包括:
针对多个应用中的每一个获得应用特性集;
使用所获得的特性把所述多个应用中的每一个与多个预定应用模型之一匹配;以及
确定虚拟服务器部署计划和应用部署计划,所述确定部分地基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
2.如权利要求1所述的方法,其中所述确定虚拟服务器部署计划的步骤包括:确定适合于执行将被部署在所述多个计算硬件中的每一个上的应用集的虚拟服务器的类型和数目。
3.如权利要求2所述的方法,其中所述确定应用部署计划的步骤包括:确定哪些应用将被部署在哪些虚拟服务器上。
4.如权利要求1所述的方法,其中所述匹配的步骤还包括:确定应用是否与应用模型匹配达到预定的相似性程度。
5.如权利要求1所述的方法,其中所述匹配的步骤还包括:在确定了应用并未适当地与所述预定应用模型中的任何一个匹配的情况下,基于所述应用的特性生成新的应用模型。
6.如权利要求5所述的方法,其中所述生成新的应用模型的步骤包括:确定最接近匹配的应用模型,以及通过修改所确定的最接近匹配的应用模型来生成新的应用模型。
7.如权利要求1所述的方法,其中所述确定虚拟服务器部署计划和应用部署计划的步骤还包括:获得部署计划优选,以及附加地基于所获得的部署计划优选确定所述部署计划。
8.如权利要求1所述的方法,其中所述确定虚拟服务器部署计划和应用部署计划的步骤还包括:
获得部署计划优选;
确定多个不同的虚拟服务器部署计划和对应的应用部署计划,所述多个不同的计划中的每一个是基于应用特性和计算机系统特性的不同组合确定的;以及
基于所获得的部署计划优选来选择所述多个确定的部署计划之一。
9.如权利要求1所述的方法,还包括:把所确定的虚拟服务器部署计划和应用部署计划发送到虚拟化管理应用,所述虚拟化管理应用用来依据所确定的部署计划部署虚拟服务器和所述应用。
10.一种确定在包括多个计算硬件的计算机系统中的应用的部署的系统,包括:
用于针对多个应用中的每一个获得特性集的装置;
用于使用所获得的特性把所述多个应用中的每一个与多个预定应用模型之一匹配的装置;以及
用于确定虚拟服务器部署计划和应用部署计划的装置,所述确定部分地基于所述计算机系统的特性、所述应用的特性以及应用模型兼容性数据。
11.如权利要求10所述的系统,还包括:
用于通过确定适合于托管将被分布在所述多个计算硬件中的每一个上的应用集的虚拟服务器的类型和数目,来确定虚拟服务器部署计划的装置。
12.如权利要求10所述的系统,其中用于使用所获得的特性把所述多个应用中的每一个与多个预定应用模型之一匹配的装置包括:
用于获得预定优选集的装置;以及
用于通过确定应用和应用模型之间是否存在所述优选中所定义的相似性程度来确定应用是否与应用模型匹配的装置。
13.如权利要求12所述的系统,还包括:
用于在确定了应用并未与所述应用模型中的任何应用模型匹配的情况下,基于所述应用的特性生成新的应用模型,以及把所生成的应用模型存储在应用模型数据储存器中的装置。
14.如权利要求10所述的系统,还包括:
用于获得预定优选集的装置;以及
其中所述系统通过部分地基于所获得的优选生成所述部署计划,来确定虚拟服务器部署计划和应用部署计划。
15.如权利要求10所述的系统,其中,用于确定虚拟服务器部署计划和应用部署计划的装置包括:
用于获得优选数据的装置;
用于生成多个虚拟服务器部署计划和多个应用部署计划的装置;以及
用于依据获得的优选数据选择所生成的部署计划之一的装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2010/039438 WO2011162746A1 (en) | 2010-06-22 | 2010-06-22 | A method and system for determining a deployment of applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102947790A CN102947790A (zh) | 2013-02-27 |
CN102947790B true CN102947790B (zh) | 2017-10-17 |
Family
ID=45371704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080067615.6A Active CN102947790B (zh) | 2010-06-22 | 2010-06-22 | 用于确定应用的部署的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10003514B2 (zh) |
EP (1) | EP2585911A4 (zh) |
CN (1) | CN102947790B (zh) |
WO (1) | WO2011162746A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011162746A1 (en) | 2010-06-22 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | A method and system for determining a deployment of applications |
US9858068B2 (en) | 2010-06-22 | 2018-01-02 | Hewlett Packard Enterprise Development Lp | Methods and systems for planning application deployment |
US9058211B2 (en) * | 2010-12-09 | 2015-06-16 | Verizon Patent And Licensing Inc. | Pre-validation in a computing on demand system |
US8539060B2 (en) * | 2010-12-10 | 2013-09-17 | Nec Laboratories America, Inc. | System positioning services in data centers |
US8701109B1 (en) * | 2012-02-06 | 2014-04-15 | Amazon Technologies, Inc. | Immortal instance type |
US9571332B2 (en) * | 2012-04-17 | 2017-02-14 | Adara Networks, Inc. | Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure |
US10078619B2 (en) * | 2014-12-16 | 2018-09-18 | International Business Machines Corporation | Dynamic association of application workload tiers to infrastructure elements in a cloud computing environment |
GB2549773B (en) * | 2016-04-28 | 2018-05-16 | Metaswitch Networks Ltd | Configuring host devices |
US20170357910A1 (en) * | 2016-06-10 | 2017-12-14 | Apple Inc. | System for iteratively training an artificial intelligence using cloud-based metrics |
WO2018129271A1 (en) * | 2017-01-05 | 2018-07-12 | Soroco Private Limited | Systems and methods for executing software robot computer programs on virtual machines |
CN109542458B (zh) * | 2017-09-19 | 2021-02-05 | 华为技术有限公司 | 一种应用程序管理的方法及设备 |
EP3901762B1 (en) * | 2018-12-21 | 2023-08-09 | Nippon Telegraph And Telephone Corporation | Distributed processing assistance apparatus, distributed processing assistance method, and program |
JP7216883B2 (ja) * | 2019-02-05 | 2023-02-02 | 日本電信電話株式会社 | 解析装置、解析方法、および解析プログラム |
CN112101394B (zh) * | 2019-06-18 | 2024-03-22 | 中国移动通信集团浙江有限公司 | 供应商分域部署方法、装置、计算设备及计算机存储介质 |
US11153325B1 (en) * | 2020-04-30 | 2021-10-19 | Splunk Inc. | Server-based restricted access storage |
US11861352B2 (en) * | 2021-12-29 | 2024-01-02 | Microsoft Technology Licensing, Llc | Smart deployment using graph optimization |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601510A (zh) * | 2003-03-06 | 2005-03-30 | 微软公司 | 分布式计算系统的架构和分布式应用程序的自动设计,部署及管理 |
Family Cites Families (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6999956B2 (en) | 2000-11-16 | 2006-02-14 | Ward Mullins | Dynamic object-driven database manipulation and mapping system |
US7093001B2 (en) | 2001-11-26 | 2006-08-15 | Microsoft Corporation | Methods and systems for adaptive delivery of multimedia contents |
US7310673B2 (en) | 2001-12-21 | 2007-12-18 | Hewlett-Packard Development Company, L.P. | Network resource assignment system and method |
US8549114B2 (en) | 2002-06-12 | 2013-10-01 | Bladelogic, Inc. | Method and system for model-based heterogeneous server configuration management |
US20030233432A1 (en) | 2002-06-18 | 2003-12-18 | John Davis | Web-based interface for building management systems |
US7743127B2 (en) | 2002-10-10 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Resource allocation in data centers using models |
US7146353B2 (en) | 2003-07-22 | 2006-12-05 | Hewlett-Packard Development Company, L.P. | Resource allocation for multiple applications |
US20050080811A1 (en) * | 2003-10-10 | 2005-04-14 | Cendura Corporation | Configuration management architecture |
US7103874B2 (en) | 2003-10-23 | 2006-09-05 | Microsoft Corporation | Model-based management of computer systems and distributed applications |
US7926051B2 (en) * | 2003-11-10 | 2011-04-12 | International Business Machines Corporation | Automatic parallel non-dependent component deployment |
US7665085B2 (en) | 2004-03-15 | 2010-02-16 | Ramco Systems Limited | Flexible deployment of software applications |
US20060080413A1 (en) * | 2004-06-17 | 2006-04-13 | International Business Machines Corporation | Method and system for establishing a deployment plan for an application |
US7478361B2 (en) * | 2004-06-17 | 2009-01-13 | International Business Machines Corporation | Method and system for managing application deployment |
US8549513B2 (en) * | 2005-06-29 | 2013-10-01 | Microsoft Corporation | Model-based virtual system provisioning |
US7774463B2 (en) * | 2006-07-25 | 2010-08-10 | Sap Ag | Unified meta-model for a service oriented architecture |
US8667500B1 (en) | 2006-10-17 | 2014-03-04 | Vmware, Inc. | Use of dynamic entitlement and adaptive threshold for cluster process balancing |
US9218213B2 (en) * | 2006-10-31 | 2015-12-22 | International Business Machines Corporation | Dynamic placement of heterogeneous workloads |
US8181186B1 (en) | 2007-01-11 | 2012-05-15 | Altrinsic Solutions, LLC. | Hardware independent imaging method |
US8024396B2 (en) * | 2007-04-26 | 2011-09-20 | Microsoft Corporation | Distributed behavior controlled execution of modeled applications |
US20080294777A1 (en) | 2007-05-25 | 2008-11-27 | Alexei Karve | Method and apparatus for template-based provisioning in a service delivery environment |
US7886028B2 (en) | 2007-07-05 | 2011-02-08 | International Business Machines Corporation | Method and system for system migration |
EP2193484A4 (en) | 2007-08-31 | 2011-12-21 | Cirba Inc | METHOD AND SYSTEM FOR EVALUATING VIRTUALIZED ENVIRONMENTS |
US8468230B2 (en) | 2007-10-18 | 2013-06-18 | Fujitsu Limited | Method, apparatus and recording medium for migrating a virtual machine |
JP5104588B2 (ja) | 2007-10-18 | 2012-12-19 | 富士通株式会社 | マイグレーションプログラム、および仮想マシン管理装置 |
US8087015B2 (en) * | 2007-10-26 | 2011-12-27 | Microsoft Corporation | Assignment of application models to deployment targets |
US8225308B2 (en) * | 2007-10-26 | 2012-07-17 | Microsoft Corporation | Managing software lifecycle |
US7962587B2 (en) | 2007-12-10 | 2011-06-14 | Oracle America, Inc. | Method and system for enforcing resource constraints for virtual machines across migration |
US8151256B2 (en) * | 2008-01-31 | 2012-04-03 | Oracle America, Inc. | Platform independent registry framework |
US8671404B2 (en) | 2008-02-12 | 2014-03-11 | Red Hat, Inc. | Distributing and managing virtual machines |
US10108460B2 (en) | 2008-02-28 | 2018-10-23 | International Business Machines Corporation | Method and system for integrated deployment planning for virtual appliances |
US8230069B2 (en) | 2008-03-04 | 2012-07-24 | International Business Machines Corporation | Server and storage-aware method for selecting virtual machine migration targets |
US7506037B1 (en) | 2008-05-13 | 2009-03-17 | International Business Machines Corporation | Method determining whether to seek operator assistance for incompatible virtual environment migration |
US7970905B2 (en) | 2008-07-03 | 2011-06-28 | International Business Machines Corporation | Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems |
US8291378B2 (en) * | 2008-07-29 | 2012-10-16 | International Business Machines Corporation | Simplified deployment modeling |
US8849987B2 (en) | 2008-07-29 | 2014-09-30 | International Business Machines Corporation | Automated discovery of a topology of a distributed computing environment |
US8102781B2 (en) | 2008-07-31 | 2012-01-24 | Cisco Technology, Inc. | Dynamic distribution of virtual machines in a communication network |
US8046468B2 (en) | 2009-01-26 | 2011-10-25 | Vmware, Inc. | Process demand prediction for distributed power and resource management |
US8595737B2 (en) | 2009-03-17 | 2013-11-26 | Hitachi, Ltd. | Method for migrating a virtual server to physical server according to a variation ratio, a reference execution time, a predetermined occupied resource amount and a occupancy amount |
US7904540B2 (en) | 2009-03-24 | 2011-03-08 | International Business Machines Corporation | System and method for deploying virtual machines in a computing environment |
US8117613B2 (en) | 2009-04-08 | 2012-02-14 | Microsoft Corporation | Optimized virtual machine migration mechanism |
US8086808B2 (en) | 2009-04-23 | 2011-12-27 | Hitachi, Ltd. | Method and system for migration between physical and virtual systems |
US8418165B2 (en) | 2009-05-27 | 2013-04-09 | Microsoft Corporation | Package design and generation |
JP4951034B2 (ja) | 2009-06-25 | 2012-06-13 | 株式会社日立製作所 | 計算機システムとその稼働情報管理方法 |
US8489744B2 (en) | 2009-06-29 | 2013-07-16 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
CN101937357B (zh) | 2009-07-01 | 2013-11-06 | 华为技术有限公司 | 一种虚拟机迁移决策方法、装置及系统 |
US8549467B2 (en) | 2009-12-16 | 2013-10-01 | International Business Machines Corporation | Integrating software components in a software system using configurable glue component models |
US8713525B2 (en) * | 2010-03-25 | 2014-04-29 | International Business Machines Corporation | Software management system for network data processing systems |
US9858068B2 (en) | 2010-06-22 | 2018-01-02 | Hewlett Packard Enterprise Development Lp | Methods and systems for planning application deployment |
WO2011162746A1 (en) | 2010-06-22 | 2011-12-29 | Hewlett-Packard Development Company, L.P. | A method and system for determining a deployment of applications |
US20130238804A1 (en) | 2010-11-16 | 2013-09-12 | Hitachi, Ltd. | Computer system, migration method, and management server |
US8825964B1 (en) | 2011-09-26 | 2014-09-02 | Emc Corporation | Adaptive integration of cloud data services with a data storage system |
-
2010
- 2010-06-22 WO PCT/US2010/039438 patent/WO2011162746A1/en active Application Filing
- 2010-06-22 EP EP10853789.5A patent/EP2585911A4/en not_active Ceased
- 2010-06-22 CN CN201080067615.6A patent/CN102947790B/zh active Active
- 2010-06-22 US US13/704,955 patent/US10003514B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601510A (zh) * | 2003-03-06 | 2005-03-30 | 微软公司 | 分布式计算系统的架构和分布式应用程序的自动设计,部署及管理 |
Also Published As
Publication number | Publication date |
---|---|
WO2011162746A1 (en) | 2011-12-29 |
US10003514B2 (en) | 2018-06-19 |
EP2585911A4 (en) | 2014-07-16 |
CN102947790A (zh) | 2013-02-27 |
EP2585911A1 (en) | 2013-05-01 |
US20130097293A1 (en) | 2013-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102947790B (zh) | 用于确定应用的部署的方法和系统 | |
CN102959506B (zh) | 用于计划应用部署的方法和系统 | |
Liu et al. | Multi-objective scheduling of scientific workflows in multisite clouds | |
CN104854563B (zh) | 资源使用的自动分析 | |
US20190188051A1 (en) | Constrained placement in hierarchical randomized schedulers | |
EP3285439B1 (en) | Network service lifecycle management method and device | |
US20170060707A1 (en) | High availability dynamic restart priority calculator | |
CN108667859A (zh) | 一种实现资源调度的方法及装置 | |
JP2018026114A (ja) | アプリケーション・プロファイリング・ジョブ管理システム、プログラム、及び方法 | |
CN105573830B (zh) | 一种虚拟机迁移方法 | |
US10581705B2 (en) | Smart service catalogs based deployment of applications | |
US10310900B2 (en) | Operating programs on a computer cluster | |
CN101946257A (zh) | 建模基于计算机的业务过程以及模拟操作 | |
US20120254434A1 (en) | Placement goal-based database instance consolidation | |
WO2016040699A1 (en) | Computing instance launch time | |
US20160070590A1 (en) | Computing Instance Placement Using Estimated Launch Times | |
EP4369183A1 (en) | Cloud platform management architecture, method and device, and storage medium | |
JP2014174609A (ja) | ハードウェア構成見積システム、ハードウェア構成見積方法及びハードウェア構成見積プログラム | |
Talia et al. | The grid backfilling: a multi-site scheduling architecture with data mining prediction techniques | |
Fortuna et al. | On-premise artificial intelligence as a service for small and medium size setups | |
Liang et al. | Hybrid computer cluster with high flexibility | |
KR101916447B1 (ko) | 가상 클러스터 시스템 제공 방법 및 가상 클러스터 시스템 제공 장치 | |
US20240143366A1 (en) | Runtime and Storage Driver Selection for Containers in Distributed Computing Environments | |
CN115022317B (zh) | 基于云平台的应用管理方法、装置、电子设备及存储介质 | |
CN111858107B (zh) | 一种大数据组件编排可靠性的检测方法、系统及相关组件 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170104 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |