應(yīng)用程序性能可能會(huì)受到實(shí)例規(guī)模不當(dāng)、工作負(fù)載的實(shí)例類型錯(cuò)誤以及其他問題的影響。企業(yè)需要使用這些技術(shù)和工具來優(yōu)化云操作。
云計(jì)算實(shí)例在計(jì)算能力、內(nèi)存、存儲(chǔ)和對(duì)GPU的支持、機(jī)器學(xué)習(xí)和其他專門功能方面具有廣泛的應(yīng)用范圍。管理人員應(yīng)該讓應(yīng)用程序需求決定云計(jì)算實(shí)例的類型和規(guī)模,尤其是因?yàn)殄e(cuò)誤的匹配會(huì)導(dǎo)致性能低下和成本高昂的情況。
某些應(yīng)用程序可能需要更大的云計(jì)算實(shí)例,這意味著需要高水平計(jì)算、存儲(chǔ)和其他資源的虛擬機(jī),而其他應(yīng)用程序可以在資源較少的規(guī)模較小實(shí)例上運(yùn)行良好。但并不是每個(gè)用戶一開始都會(huì)使用正確的云計(jì)算實(shí)例,云計(jì)算應(yīng)用程序的動(dòng)態(tài)特性意味著配對(duì)并不總是按計(jì)劃工作。
可以使用云優(yōu)化工具和技術(shù)來選擇正確的云計(jì)算實(shí)例類型和規(guī)模,然后根據(jù)需要隨時(shí)重置和調(diào)整它們。
定義應(yīng)用程序要求 云托管應(yīng)用程序需要與本地應(yīng)用程序不同的思維模式。IT經(jīng)理通常會(huì)過度配置本地應(yīng)用程序,因?yàn)橐院髷U(kuò)展其他資源是一項(xiàng)挑戰(zhàn)。云計(jì)算應(yīng)用程序更容易按需擴(kuò)展,而需要擴(kuò)展的特定資源(如計(jì)算、內(nèi)存和存儲(chǔ))因工作負(fù)載而異。例如,數(shù)據(jù)庫(kù)應(yīng)用程序需要比網(wǎng)絡(luò)服務(wù)器更多的內(nèi)存和存儲(chǔ)IOPS,這對(duì)計(jì)算提出了更高的要求。
Enterprise Management Associates管理研究主管Torsten Volk表示,由于企業(yè)需要了解應(yīng)用程序的資源使用模式(最好是一年),因此很難確定云計(jì)算實(shí)例的規(guī)模。
檢查云計(jì)算供應(yīng)商的CPU、內(nèi)存、存儲(chǔ)等資源限制。盡管云計(jì)算提供商的工具可以幫助確定應(yīng)用程序的最佳實(shí)例類型和設(shè)置,但這些供應(yīng)商幾乎沒有動(dòng)力向客戶提供復(fù)雜的云優(yōu)化工具,因?yàn)檫^度配置可能是其收入來源。管理人員將需要實(shí)現(xiàn)其他技術(shù),虛擬主機(jī),以及可能的第三方優(yōu)化工具,以全面了解情況。
分析指標(biāo)以推動(dòng)優(yōu)化 利用率指標(biāo)(如CPU、存儲(chǔ)、內(nèi)存和網(wǎng)絡(luò)容量)可以顯示實(shí)例的規(guī)模是否適合應(yīng)用程序。例如,大量的請(qǐng)求延遲可能表示實(shí)例規(guī)模,無法處理當(dāng)前負(fù)載。
云計(jì)算咨詢機(jī)構(gòu)Candid Partners公司的高級(jí)云架構(gòu)師Beau Bennett表示,“在確定正確的實(shí)例規(guī)模時(shí),一定要理解峰值是如何影響指標(biāo)的。” 應(yīng)該有足夠的備用容量來處理使用的峰值,只需要足夠長(zhǎng)的時(shí)間來進(jìn)行水平擴(kuò)展。如果單個(gè)指標(biāo)遠(yuǎn)遠(yuǎn)高于其他指標(biāo)(例如,如果內(nèi)存被完全使用,但CPU和網(wǎng)絡(luò)容量很低),那么可能是使用不同的實(shí)例規(guī)模的時(shí)候了。
建立監(jiān)控和調(diào)整循環(huán) 為確保云計(jì)算應(yīng)用程序有效擴(kuò)展,需要在指標(biāo)和操作之間創(chuàng)建反饋循環(huán)。監(jiān)控指標(biāo)顯示高利用率或低利用率時(shí),請(qǐng)對(duì)實(shí)例規(guī)模或類型進(jìn)行小幅調(diào)整。繼續(xù)監(jiān)控這些指標(biāo),以了解更改如何影響應(yīng)用程序性能和效率。
強(qiáng)大的持續(xù)集成/連續(xù)部署(CI/CD)管道,借助基于策略的控制和自動(dòng)化進(jìn)行更改,可以幫助云計(jì)算管理員調(diào)整設(shè)置,而不會(huì)產(chǎn)生意外后果或冗長(zhǎng)的手動(dòng)流程。Bennett說,基礎(chǔ)設(shè)施作為代碼,資源被模板化并用編程語(yǔ)言編寫,也有助于持續(xù)的云優(yōu)化。
性能和利用率指標(biāo)是云計(jì)算提供商的核心產(chǎn)品,或者組織可以轉(zhuǎn)向第三方產(chǎn)品,這些產(chǎn)品提供所使用實(shí)例的概述。
使用云成本管理工具 本地成本管理工具(包括Azure成本管理、AWS成本管理和Google權(quán)限推薦)可以幫助進(jìn)行優(yōu)化,但可能不足以準(zhǔn)確估算所有工作負(fù)載的需求。例如,Google Rightsizing Recommendations可以根據(jù)運(yùn)行的平均值建議實(shí)例規(guī)模調(diào)整。但是,這種平均利用率信息不足以滿足每月或每季度發(fā)生一次峰值的Spikey應(yīng)用程序,或基于特定事件(如黑色星期五)。
Volk警告說,“需要分析重要的工作負(fù)載,以將平均使用量和峰值使用量都包括在其云實(shí)例規(guī)模決定中。” 此外,這些工具可能無法跟蹤對(duì)應(yīng)用程序很重要的所有必需資源。例如,歐洲服務(wù)器,Google Rightsizing Recommendations只考慮CPU、內(nèi)存和存儲(chǔ)大小。某些應(yīng)用程序具有其他限制因素,例如網(wǎng)絡(luò)IOPS。此外,該工具不考慮某些部署類型,例如Kubernetes集群,這使管理人員可以做出自己的云優(yōu)化決策。
加載測(cè)試不同的實(shí)例類型 Volk建議,對(duì)不同實(shí)例類型和規(guī)模的應(yīng)用程序進(jìn)行負(fù)載測(cè)試,以確定預(yù)期的平均和突發(fā)性能指標(biāo)。模型負(fù)載測(cè)試盡可能接近真實(shí)的使用模式。例如,峰值負(fù)載可能發(fā)生在API函數(shù)調(diào)用期間,同時(shí)也可能發(fā)生在用戶與應(yīng)用程序圖形前端的交互過程中。