專利名稱:用于確定應(yīng)用的部署的方法和系統(tǒng)的制作方法
用于確定應(yīng)用的部署的方法和系統(tǒng)
背景技術(shù):
許多現(xiàn)代商業(yè)和組織極為依賴信息技術(shù)(IT)來提供基于計算機的工具和服務(wù),以使得它們和它們的客戶能夠高效地操作。該工具和服務(wù)通常由眾多不同的軟件應(yīng)用來提供,所述軟件應(yīng)用通常運行在眾多計算機服務(wù)器上。出于效率的原因,這些計算機服務(wù)器中的許多計算機服務(wù)器在諸如數(shù)據(jù)中心之類的專門的設(shè)施中正日益被統(tǒng)一。通過使用諸如虛擬機之類的軟件虛擬化應(yīng)用,可以便利地把軟件應(yīng)用布置為在虛擬化環(huán)境中運行。這樣,單個計算機服務(wù)器可以有效地同時運行多個計算機操作系統(tǒng)實例(或者虛擬映像(virtual image))以及在所述虛擬映像中的每一個上同時運行不同的應(yīng)用。然而,由于可在數(shù)據(jù)中心中獲得的典型充足的計算力的原因,通常對軟件應(yīng)用和 軟件虛擬化應(yīng)用在不同的計算機服務(wù)器上分布所采用的方式給予很少的關(guān)注。
現(xiàn)在將參考附圖、借助僅僅非限制性的示例來描述本發(fā)明的示例,在附圖中
圖I是圖示了數(shù)據(jù)中心的一部分的簡化框圖。圖2是計算機服務(wù)器中的操作系統(tǒng)和軟件應(yīng)用的示例部署的簡化圖解。圖3是圖示了依據(jù)本發(fā)明的示例的虛擬化評估引擎的簡化框圖。圖4是概述依據(jù)本發(fā)明的示例的操作虛擬化評估引擎的方法的簡化流程圖。圖5是圖示了依據(jù)本發(fā)明的示例的虛擬化評估引擎的簡化框圖。圖6是概述依據(jù)本發(fā)明的示例的操作虛擬化評估引擎的方法的簡化流程圖。圖7是依據(jù)本發(fā)明的一個示例的虛擬映像和應(yīng)用部署計劃的圖解。以及
圖8是圖示了依據(jù)本發(fā)明的一個示例的虛擬化評估引擎的實施方式的簡化框圖。
具體實施例方式下面將參考各種示例來描述各種實施例?,F(xiàn)在參考圖1,其中示出了圖示了數(shù)據(jù)中心100的一部分的簡化框圖。數(shù)據(jù)中心100包括連接到數(shù)據(jù)中心骨干網(wǎng)絡(luò)104的多個計算機服務(wù)器102a至102η。本領(lǐng)域技術(shù)人員將意識到,為了簡明起見,未示出典型數(shù)據(jù)中心的所有元件。在服務(wù)器102a至102η中的每一個上運行虛擬化應(yīng)用(未示出),其使得不同操作系統(tǒng)的實例或者虛擬映像能夠同時在所述服務(wù)器中的每一個上執(zhí)行。例如,服務(wù)器102a可以執(zhí)行使得Microsoft、Linux和Solaris操作系統(tǒng)的實例能夠同時執(zhí)行的虛擬化應(yīng)用,以及還使得不同的應(yīng)用能夠在所述不同操作系統(tǒng)實例中的每一個上同時執(zhí)行,如圖2中所
/Jn ο在本示例中,如圖2中所示,諸如VMWare公司的vSphere應(yīng)用之類的虛擬化應(yīng)用202執(zhí)行和管理三個不同操作系統(tǒng)實例204、206和208的虛擬化執(zhí)行。在第一操作系統(tǒng)實例204上執(zhí)行應(yīng)用210a、210b和210c。在第二操作系統(tǒng)實例206上執(zhí)行應(yīng)用212a和212b。在第三操作系統(tǒng)實例208上執(zhí)行應(yīng)用214a至214d。在傳統(tǒng)上,虛擬化應(yīng)用、操作系統(tǒng)實例和應(yīng)用已經(jīng)被分布在數(shù)據(jù)中心中的不同計算機服務(wù)器上所采用的方式曾經(jīng)主要是手動過程,其中一個或多個系統(tǒng)管理員或者系統(tǒng)架構(gòu)師基于它們的個人經(jīng)驗和知識決定該分布或部署。然而,隨著此方案而來的一個問題是由于準確地確定虛擬化應(yīng)用和軟件應(yīng)用的高效分布或部署方面的難度,系統(tǒng)管理員或系統(tǒng)架構(gòu)師傾向于過度小心以避免潛在的服務(wù)器過載的風險,并且傾向于對每個物理服務(wù)器僅進行少量地加載。由于可在數(shù)據(jù)中心中獲得通常充足數(shù)量的處理力的原因,這樣的方案曾經(jīng)通常是可接受的。然而,這樣的方案可能導致所謂的虛擬化或者服務(wù)器蔓延,其中大量的物理服務(wù)器以低利用率運行。這可能導致就數(shù)據(jù)中心功率、制冷系統(tǒng)、存儲器、儲存器和物理空間而言的顯著低效率。為了確定高效的部署計劃,可能需要考慮與要執(zhí)行的軟件應(yīng)用、所要求的操作系統(tǒng)、虛擬映像、虛擬化應(yīng)用以及物理硬件有關(guān)的極大量的因素。所述因素可以包括技術(shù)或物理因素以及商業(yè)因素這二者。對于物理計算機服務(wù)器示例而言,技術(shù)因素可以包括處理力;多任務(wù)處理能力;存儲器容量;儲存器容量;以及網(wǎng)絡(luò)帶寬。對于軟件應(yīng)用示例而言,技術(shù)因素可以包括存儲器需求;聯(lián)網(wǎng)需求;儲存器需求;安全需求;冗余需求;以及處理力需求。在不同的軟件應(yīng)用之間還可能存在復雜的交互。例如,出于商業(yè)或安全原因,一個軟件應(yīng)用可能是被允許在特定物理計算機服務(wù)器上運行的唯一應(yīng)用以確保滿足對商業(yè)施加的安全需求。此外,可以要求這樣的應(yīng)用安裝在獨立的虛擬化應(yīng)用上。借助于進一步的示例,應(yīng)用可以依賴于特定的操作系統(tǒng)二進制庫,為了冗余可以要求采用物理硬件分散(例如,其中要求物理硬件服務(wù)器處于分離的數(shù)據(jù)中心殼體中)來進行應(yīng)用組件級聚類,等等。·了解所有的不同參數(shù)和因素是特別具有挑戰(zhàn)性的和復雜的任務(wù)?,F(xiàn)在參考圖3,其中示出了依據(jù)一示例的虛擬化評估引擎302。下面進一步參考圖4的流程圖來描述依據(jù)各種示例的操作虛擬化評估引擎302的方法。依據(jù)一個或多個示例,在“分析模式”下使用虛擬化評估引擎302來確定把目標應(yīng)用集分布在給定的目標計算機硬件集上的高效方式。在一個示例中,虛擬化評估引擎302獲得(402 )與計算硬件集有關(guān)的數(shù)據(jù)304a至304η,所述計算硬件集可用于運行被期望在數(shù)據(jù)中心或其他計算設(shè)施中運行的目標軟件應(yīng)用集。在404處,虛擬化評估引擎302獲得與該目標應(yīng)用集有關(guān)的數(shù)據(jù)306a至306η。在406處,虛擬化評估引擎302處理所獲得的數(shù)據(jù)304和306并且生成(408)用于在目標計算硬件上適當?shù)夭渴鹉繕藨?yīng)用的部署計劃308。該部署計劃308包括用于跨可用的那組計算硬件分布操作系統(tǒng)虛擬映像的計劃310,以及用于在不同的操作系統(tǒng)虛擬實例之間分布或堆疊目標應(yīng)用的計劃312。數(shù)據(jù)304和306可以例如通過使用軟件代理、軟件管理工具自動地加以獲得,例如由數(shù)據(jù)中心管理員或者架構(gòu)師手動地加以獲得,或者采用任何其他適當方式來加以獲得。數(shù)據(jù)306可以包括技術(shù)特性或需求,其例如包括應(yīng)用被設(shè)計為在其上運行的操作系統(tǒng)、所要求的存儲器的量、所要求的儲存器的量,等等。數(shù)據(jù)304和306可以另外包括商業(yè)需求數(shù)據(jù)。商業(yè)需求數(shù)據(jù)例如可以定義對商業(yè)施加的約束或需求。商業(yè)需求例如可以通過數(shù)據(jù)中心或系統(tǒng)管理員或者架構(gòu)師來獲得,或者采用任何其他適當方式來獲得。
現(xiàn)在參考圖5,其中示出了系統(tǒng)500,在其中,依據(jù)示例更詳細地示出了虛擬化評估引擎302。對圖6進行進一步參考,圖6是概述依據(jù)一個示例的操作虛擬化評估引擎302的方法的流程圖。應(yīng)用模型匹配器模塊502獲得(602)針對目標應(yīng)用集的應(yīng)用屬性集504a至504η,期望所述目標應(yīng)用集采用虛擬化方式在計算硬件的目標集上安裝和執(zhí)行。在本示例中,應(yīng)用屬性包括技術(shù)506和非技術(shù)508應(yīng)用屬性這二者。在其他示例中,應(yīng)用屬性504a至504η可以包括除了技術(shù)和非技術(shù)屬性這二者之外的屬性。非技術(shù)屬性例如可以包括功能需求,其可以影響應(yīng)用在虛擬環(huán)境中或者在物理硬件上的放置或共棲。例如,非技術(shù)屬性可以根據(jù)功能或商業(yè)方面來限定是否允許一應(yīng)用與其他應(yīng)用共棲在同一虛擬機中或者甚至在同一物理硬件上。例如,對于具有安全需求的應(yīng)用而言可能是這樣的,在該應(yīng)用中,應(yīng)用擁有者不希望該應(yīng)用與任何其他應(yīng)用共享物理或虛擬資源。在一些示例中,所獲得的屬性的集合504a至504η包括屬性優(yōu)先化或者權(quán)重。在其他示例中,一旦獲得了屬性,就可以由用戶手動地或者通過施加預定權(quán)重自動地分配權(quán)重。權(quán)重例如可以用來指示不同特性的相對重要性?!?br>
下面在表I和2中示出了示例應(yīng)用屬性。
....... .........—
Oii111
H i'i· H Vk IIidows 2U03 32
麗石麗..........ιο ...................................................................................................
3.5GBI
.......;兩涵「麗揮:........3(,%......................................................................................................................I
....麗麗京.不麗虱涵........................................................................................丨
jlm顧 _
IP·麗—ΓΓ ΙΤΙ '丨++ 泰級別「從........j ■ ·I
...1.: +++ +_J
nflllfl: , I
I在依戰(zhàn)均__怙況KWeh #器dt: Ι ;
1.....麗麗畫.麗.....函顧;.........豆...............................................................I
I Iμ )
1......MmSmm.....FISSI:1.........豆..........................................................................
iSLAmf%...........................................................................................................................................................................I
表I一示例應(yīng)用屬性
權(quán)利要求
1.一種確定在包括多個計算硬件的計算機系統(tǒng)中的應(yīng)用的部署的方法,包括 針對多個應(yīng)用中的每一個獲得應(yīng)用特性集; 使用所獲得的特性把所述多個應(yīng)用中的每一個指派給多個預定應(yīng)用模型之一;以及 確定虛擬服務(wù)器部署計劃和應(yīng)用部署計劃,所述確定部分地基于所述計算機系統(tǒng)的特性、所述應(yīng)用的特性以及應(yīng)用模型兼容性數(shù)據(jù)。
2.如權(quán)利要求I所述的方法,其中所述確定虛擬服務(wù)器部署計劃的步驟包括確定適合于執(zhí)行將被部署在所述多個計算硬件中的每一個上的應(yīng)用集的虛擬服務(wù)器的類型和數(shù)目。
3.如權(quán)利要求2所述的方法,其中所述確定應(yīng)用部署計劃的步驟包括確定哪些應(yīng)用將被部署在哪些虛擬服務(wù)器上。
4.如權(quán)利要求I所述的方法,其中所述指派的步驟還包括確定應(yīng)用是否與應(yīng)用模型匹配達到預定的相似性程度。
5.如權(quán)利要求I所述的方法,其中所述指派的步驟還包括在確定了應(yīng)用并未適當?shù)嘏c所述預定應(yīng)用模型中的任何一個匹配的情況下,基于所述應(yīng)用的特性生成新的應(yīng)用模型。
6.如權(quán)利要求5所述的方法,其中所述生成新的應(yīng)用模型的步驟包括確定最接近匹配的應(yīng)用模型,以及通過修改所確定的最接近匹配的應(yīng)用模型來生成新的應(yīng)用模型。
7.如權(quán)利要求I所述的方法,其中所述確定虛擬服務(wù)器部署計劃和應(yīng)用部署計劃的步驟還包括獲得部署計劃優(yōu)選,以及附加地基于所獲得的部署計劃優(yōu)選確定所述部署計劃。
8.如權(quán)利要求I所述的方法,其中所述確定虛擬服務(wù)器部署計劃和應(yīng)用部署計劃的步驟還包括 確定多個不同的虛擬服務(wù)器部署計劃和對應(yīng)的應(yīng)用部署計劃,所述多個不同的計劃中的每一個是基于應(yīng)用特性和計算機系統(tǒng)特性的不同組合確定的;以及 基于所獲得的部署計劃優(yōu)選來選擇所述多個確定的部署計劃之一。
9.如權(quán)利要求I所述的方法,還包括把所確定的虛擬機和應(yīng)用部署計劃發(fā)送到虛擬化管理應(yīng)用,所述虛擬化管理應(yīng)用用來依據(jù)所確定的部署計劃部署虛擬服務(wù)器和所述應(yīng)用。
10.一種系統(tǒng),包括處理器、與所述處理器通信的存儲器以及計算機可執(zhí)行指令,所述計算機可執(zhí)行指令被存儲在所述存儲器中并且可在所述處理器上執(zhí)行以 針對多個應(yīng)用中的每一個獲得特性集; 使用所獲得的特性,把所述應(yīng)用中的每一個與預定應(yīng)用模型匹配;以及 生成虛擬服務(wù)器分布計劃和應(yīng)用分布計劃,所述生成部分地基于所述應(yīng)用的特性、計算機硬件集的特性、以及應(yīng)用模型兼容性數(shù)據(jù)。
11.如權(quán)利要求10所述的系統(tǒng),其中,所述計算機可執(zhí)行指令還包括這樣的指令,該指令用來 通過確定適合于托管將被分布在所述多個計算硬件中的每一個上的應(yīng)用集的虛擬服務(wù)器的類型和數(shù)目,來確定虛擬服務(wù)器分布計劃。
12.如權(quán)利要求10所述的系統(tǒng),其中用于把應(yīng)用與應(yīng)用模型匹配的計算機可執(zhí)行指令還包括這樣的指令,該指令用來獲得預定優(yōu)選集;以及 通過確定所述應(yīng)用和所述應(yīng)用模型之間是否存在所述優(yōu)選中所定義的相似性程度來確定應(yīng)用是否與應(yīng)用模型匹配。
13.如權(quán)利要求12所述的系統(tǒng),其中,所述計算機可執(zhí)行指令還包括這樣的指令,該指令用來 在確定了應(yīng)用并未與所述應(yīng)用模型中的任何應(yīng)用模型匹配的情況下,基于所述應(yīng)用的特性生成新的應(yīng)用模型,以及把所生成的應(yīng)用模型存儲在應(yīng)用模型數(shù)據(jù)儲存器中。
14.如權(quán)利要求10所述的系統(tǒng),其中,所述計算機可執(zhí)行指令還包括這樣的指令,該指令用來 獲得預定優(yōu)選集;以及 其中用于確定虛擬服務(wù)器和應(yīng)用部署計劃的指令還包括用于部分地基于所獲得的優(yōu)選生成所述分布計劃的指令。
15.如權(quán)利要求10所述的系統(tǒng),其中,用于生成所述分布計劃的計算機可執(zhí)行指令還包括這樣的指令,該指令用來 生成多個虛擬服務(wù)器和應(yīng)用分布計劃;以及 依據(jù)獲得的優(yōu)選數(shù)據(jù)選擇所生成的分布計劃之一。
全文摘要
根據(jù)一個示例,其中提供了一種確定在包括多個計算硬件的計算機系統(tǒng)中的應(yīng)用的部署的方法。該方法包括針對多個應(yīng)用中的每一個獲得應(yīng)用特性集,使用所獲得的特性把所述多個應(yīng)用中的每一個指派給多個預定應(yīng)用模型之一,以及確定虛擬服務(wù)器部署計劃和應(yīng)用部署計劃,所述確定部分基于所述計算機系統(tǒng)的特性、所述應(yīng)用的特性以及應(yīng)用模型兼容性數(shù)據(jù)。
文檔編號G06F15/16GK102947790SQ201080067615
公開日2013年2月27日 申請日期2010年6月22日 優(yōu)先權(quán)日2010年6月22日
發(fā)明者J.D.吉布森, M.A.施蒂姆普夫勒 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)