背景技術(shù):
1、隨著云計算的普及,越來越多的數(shù)據(jù)和/或服務(wù)經(jīng)由網(wǎng)絡(luò)連接而在線被存儲和/或被提供。提供最佳和可靠的用戶體驗是提供網(wǎng)絡(luò)服務(wù)的基于云的平臺的一個重要方面。在許多場景中,基于云的平臺可以為地理上分散在一個國家甚至世界各地的數(shù)千或數(shù)百萬用戶(例如,顧客、客戶、租戶)提供服務(wù)。為了提供這種服務(wù),基于云的平臺常常包括不同的資源,諸如托管在各個數(shù)據(jù)中心的包含集群和節(jié)點的服務(wù)器場。此外,可以使用各種軟件組件來構(gòu)建基于云的平臺,這些軟件組件可以使得用戶能夠構(gòu)建和托管其自己的平臺和服務(wù)。
2、為了有效地管理云服務(wù),特別是大規(guī)模的云服務(wù),許多提供商利用諸如kubernetes之類的編排系統(tǒng)來處理軟件的部署和擴展。由于在給定時間內(nèi)可能有數(shù)千甚至數(shù)百萬個軟件部署處于活動狀態(tài),因此此類系統(tǒng)可以維持基于云的平臺的穩(wěn)定性和可靠性。一般來說,編排系統(tǒng)基于這些計算資源的可用性和每個軟件部署的資源需求請求來協(xié)調(diào)跨計算資源(例如,集群內(nèi)的節(jié)點)的活動軟件部署。
技術(shù)實現(xiàn)思路
1、所公開的技術(shù)通過引入評估系統(tǒng)來改進基于云的平臺的功能性,該評估系統(tǒng)真實地模擬實時部署環(huán)境以準(zhǔn)確地評估針對編排系統(tǒng)的資源推薦。如本文所述,系統(tǒng)可以基于從當(dāng)前可用計算資源中提取的系統(tǒng)特性來生成模擬計算環(huán)境。例如,在kubernetes中,可用計算資源可以在此被稱為集群。模擬計算環(huán)境可以被利用來評估從預(yù)測模型接收到的資源需求推薦。系統(tǒng)特性可以包括與中央處理單元(cpu)、主存(memory)或輔存(storage)相關(guān)的潛在性能瓶頸。
2、該系統(tǒng)被配置為對活動軟件部署進行采樣以捕獲基于云的平臺內(nèi)的當(dāng)前活動的快照。這在本文中被稱為活動數(shù)據(jù)集?;顒訑?shù)據(jù)集可以描述與被采樣的活動軟件部署相關(guān)聯(lián)的各種方面,諸如資源的分配、資源利用和其他性能指標(biāo)?;顒訑?shù)據(jù)集可以針對指定的時間范圍而進行采樣,并利用任何合適的采樣算法,諸如gibbs采樣。然后可以使用活動數(shù)據(jù)集來配置模擬計算環(huán)境并生成用于評估資源需求推薦的各種場景。
3、一旦使用系統(tǒng)特性和活動數(shù)據(jù)集配置了模擬計算環(huán)境,系統(tǒng)就可以在主動部署之前為了評估的目的而執(zhí)行待定軟件部署。在各種示例中,模擬計算環(huán)境包括模擬調(diào)度器,該模擬調(diào)度器模仿編排系統(tǒng)調(diào)度器的行為。模擬調(diào)度器被配置為根據(jù)資源需求推薦將待定軟件部署的實例(例如,kubernetes中的容器)指派給模擬計算環(huán)境。例如,在kubernetes中,這些容器中的一個或多個可以形成pod。各種pod可以在可以表示計算資源單元(例如,一個虛擬機)的節(jié)點處執(zhí)行。最后,這些節(jié)點的集合可以相應(yīng)地形成集群,諸如數(shù)據(jù)中心。
4、在指派待定軟件部署之后,系統(tǒng)被配置為分析模擬計算環(huán)境中的待定軟件部署的各個實例的執(zhí)行活動。因此,系統(tǒng)被配置為計算待定軟件部署在各種場景中的資源需求推薦的資源利用。然后,系統(tǒng)被配置為確定待定軟件部署的性能(受資源需求推薦的影響)是否可接受。例如,系統(tǒng)可以為每個軟件部署配置資源利用閾值水平,以確保充分利用基于云的平臺的計算資源。
5、所公開的技術(shù)解決了基于云的平臺管理中出現(xiàn)的若干挑戰(zhàn)。例如,雖然編排系統(tǒng)大大減輕了管理軟件部署的負(fù)擔(dān),但是編排系統(tǒng)通常依賴于基于對軟件部署需求的粗略估計而手動配置的資源需求請求。如此,為了防止資源匱乏,這些資源需求請求通常遠遠超過軟件部署的實際需求。不幸的是,以這種方式配置計算資源常常導(dǎo)致資源利用低以及資源可用性低。換句話說,由于軟件部署通常高估資源需求以確保平穩(wěn)操作,因此大量計算資源未被使用,從而導(dǎo)致能源消耗過多、運營成本增加以及導(dǎo)致收入損失。
6、為了應(yīng)對上面提及的低利用,許多云服務(wù)提供商利用各種預(yù)測技術(shù)(諸如機器學(xué)習(xí))來分析待定軟件部署并預(yù)測資源需求。在這些類型的場景中,可以使用過去軟件部署的計算資源的歷史使用數(shù)據(jù)來訓(xùn)練預(yù)測模型。當(dāng)然,在實際上下文中的部署之前,必須針對準(zhǔn)確性來評估這些類型的預(yù)測模型所生成的預(yù)測(例如,推薦或使用模型)。為此,可以將使用數(shù)據(jù)的一部分指明為測試數(shù)據(jù)集,以用于確定給定推薦是否可能成功。如果推薦生成可接受的指標(biāo),則可以認(rèn)為可以部署。為了便于討論,實時上下文、實時部署或?qū)崟r計算環(huán)境可以是可供基于云的平臺的用戶方便使用的軟件部署、計算資源等等。
7、不幸的是,使用過去的數(shù)據(jù)來對推薦進行訓(xùn)練和評估常常無法捕獲實時部署的不可預(yù)測性質(zhì)。例如,雖然推薦可能在上面提及的訓(xùn)練和測試過程中表現(xiàn)出名義上的功能性,但是計算資源可能由編排系統(tǒng)的調(diào)度器動態(tài)地分配,并由自動縮放過程以意想不到的方式進行修改。因此,這種評估方法并不總是可靠的,并且會為部署資源需求推薦帶來不必要的風(fēng)險。在另一個示例中,可以部署測試版軟件來評估資源需求推薦。但是,這種方法也可能無法充分評估推薦,因為測試版部署可能不會經(jīng)歷與完整部署相同的活動。
8、此外,當(dāng)根據(jù)推薦修改各種系統(tǒng)參數(shù)時,整個系統(tǒng)行為可能會發(fā)生巨大改變(例如,資源的分配和重新分配過多,因為推薦通常未充分利用經(jīng)分配的或重新分配的資源)。在這種情形中,由歷史使用數(shù)據(jù)所捕獲的系統(tǒng)的各種行為與告知未來行為變得無關(guān)。如此,需要一個框架來真實地模擬實時部署環(huán)境并準(zhǔn)確地評估各種資源需求推薦。以這種方式,就可以選擇最適合系統(tǒng)的當(dāng)前行為的資源需求推薦。
9、與現(xiàn)有解決方案相比,本文所公開的系統(tǒng)提供了對資源需求推薦的穩(wěn)健評估,這些推薦捕獲編排系統(tǒng)的動態(tài)的和不可預(yù)測的性質(zhì)。如上面所提及,使用歷史使用數(shù)據(jù)來生成和評估資源需求推薦的典型解決方案常常無法考慮在當(dāng)前時間點處的行為。如此,評估可能指示推薦是正確的,但是該推薦實際上并不適合于實時計算環(huán)境的當(dāng)前狀態(tài)。這可能導(dǎo)致計算資源的過度利用,從而導(dǎo)致性能下降、功能性喪失和其他故障。替代地,糟糕的推薦可能導(dǎo)致計算資源利用不足,從而浪費電力和不必要的運營成本。因此,優(yōu)化資源利用的計算資源需求推薦使得基于云的平臺能夠為用戶提供可靠的體驗,同時實現(xiàn)基礎(chǔ)設(shè)施的最大利用并降低運營成本。
10、作為本公開的技術(shù)優(yōu)勢的另一個示例,從活動軟件部署中采樣活動數(shù)據(jù)使得所公開的系統(tǒng)能夠在模擬計算環(huán)境內(nèi)生成各種各樣的場景。以這種方式,可以跨不同上下文評估資源需求推薦,以測量資源需求推薦對利用和性能的影響。因此,使用對實時數(shù)據(jù)的采樣圍繞模擬計算環(huán)境來組織評估框架可以實現(xiàn)對資源需求推薦的穩(wěn)健評估。
11、通過閱讀以下具體實施方式并查看相關(guān)附圖,除上述明確描述之外的特征和技術(shù)優(yōu)勢將是顯而易見的。本
技術(shù)實現(xiàn)要素:
旨在以簡化形式介紹一系列概念,這些概念將在下文的具體實施方式中被進一步描述。本發(fā)明內(nèi)容并非旨在標(biāo)識所要求保護的主題的關(guān)鍵或基本特征,也不旨在被用作確定所要求保護的主題的范圍的輔助手段。例如,術(shù)語“技術(shù)”可以指(多個)系統(tǒng)、(多個)方法、計算機可讀指令、(多個)模塊、算法、硬件邏輯和/或(多個)操作,如上面描述的上下文和整個文檔所允許的那樣。
1.一種用于評估資源需求推薦的方法,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其中所述待定軟件部署的所述實例由使用所述活動數(shù)據(jù)集而被配置的模擬調(diào)度器指派給所述模擬計算環(huán)境。
3.根據(jù)權(quán)利要求1或權(quán)利要求2所述的方法,還包括:
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,還包括:
5.根據(jù)權(quán)利要求1至3中任一項所述的方法,其中包括所述資源需求推薦的多個資源需求推薦同時被評估,所述方法還包括:
6.根據(jù)權(quán)利要求5所述的方法,其中所述多個資源需求推薦中的每個資源需求推薦包括所述待定軟件部署的不同數(shù)目的實例。
7.根據(jù)權(quán)利要求1至6中任一項所述的方法,其中所述系統(tǒng)特性包括可用計算核心的數(shù)目、可用主存量、或者可用輔存量中的至少一項。
8.根據(jù)權(quán)利要求1至7中任一項所述的方法,其中所述活動數(shù)據(jù)集包括所述活動軟件部署的分布、所述活動軟件部署的資源利用水平、或者所述活動軟件部署的資源分配中的至少一項。
9.根據(jù)權(quán)利要求1至8中任一項所述的方法,其中所述待定軟件部署的所述實例包括分配的計算核心數(shù)目、分配的主存量或分配的輔存量中的至少一項。
10.一種系統(tǒng),包括:
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述待定軟件部署的所述實例由使用所述活動數(shù)據(jù)集而被配置的模擬調(diào)度器指派給所述模擬計算環(huán)境。
12.根據(jù)權(quán)利要求10或11所述的系統(tǒng),其中所述計算機可讀指令還使所述系統(tǒng):
13.根據(jù)權(quán)利要求10或權(quán)利要求11所述的系統(tǒng),其中包括所述資源需求推薦的多個資源需求推薦同時被評估,并且其中所述計算機可讀指令還使所述系統(tǒng):
14.根據(jù)權(quán)利要求13所述的系統(tǒng),其中所述多個資源需求推薦中的每個資源需求推薦包括所述待定軟件部署的不同數(shù)目的實例。
15.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)具有在其上被編碼的計算機可讀指令,所述計算機可讀指令在由處理系統(tǒng)執(zhí)行時使系統(tǒng):