你的應(yīng)用的設(shè)計(jì)好壞會(huì)在多云環(huán)境中對(duì)性能產(chǎn)生影響。使用以下這些監(jiān)控和管理技術(shù)來避免應(yīng)用的性能問題。
對(duì)于大多數(shù)IT組織來說,“性能”意味著響應(yīng)時(shí)間或用戶體驗(yàn)的質(zhì)量。就像大多數(shù)應(yīng)用一樣,一個(gè)多云應(yīng)用,或者一個(gè)橫跨多個(gè)云平臺(tái)的應(yīng)用,會(huì)受到三個(gè)主要因素的影響:總體可用性,網(wǎng)絡(luò)延遲和丟包,應(yīng)用程序及其組件的處理延遲。
一個(gè)多云應(yīng)用的設(shè)計(jì)在其性能表現(xiàn)上起到關(guān)鍵的作用。應(yīng)用都越來越趨向于“組件化”,即應(yīng)用的功能被分割成一個(gè)個(gè)獨(dú)立的組件。微服務(wù)就是這種趨勢(shì)的一個(gè)最新的例子,由于單獨(dú)的部件可以水平擴(kuò)展從而能夠提高應(yīng)用的處理能力,組件化被視為一種向云靠攏的方式。這句話有對(duì)也有錯(cuò)的地方。
組件化在云提供商和主機(jī)之間創(chuàng)建了一個(gè)長(zhǎng)的,多線程的工作流。該工作流的各個(gè)環(huán)節(jié)的問題將影響用戶體驗(yàn)的質(zhì)量(QoE)。
應(yīng)用性能管理的一個(gè)關(guān)鍵部分是衡量用戶的體驗(yàn)質(zhì)量并有一個(gè)基準(zhǔn)來進(jìn)行比較。最可靠的獲取信息的途徑是從最接近用戶的設(shè)備或前端應(yīng)用程序組件那里。如果你在一個(gè)應(yīng)用程序工作流的內(nèi)部來測(cè)量性能,你只會(huì)檢測(cè)出和解決應(yīng)用特定的那部分問題。如果軟件不能在用戶裝置上來測(cè)量響應(yīng)時(shí)間,那就手動(dòng)進(jìn)行測(cè)量,根據(jù)單個(gè)或一組的時(shí)序事務(wù)。“正常”或預(yù)期值將成為你的基準(zhǔn),任何偏差代表有問題需要確定并解決。
優(yōu)化多云應(yīng)用性能
當(dāng)應(yīng)用的性能在多云環(huán)境受到影響時(shí),大多數(shù)企業(yè)會(huì)首先確定這個(gè)問題是否與特定的云服務(wù)提供商有關(guān)。查看云管理日志,看性能問題是否由一些云事件引起,如故障或應(yīng)用實(shí)例的添加刪除。如果是這樣的話,問題可能與特定的云服務(wù)提供商有關(guān),你應(yīng)該在尋找多云本身的原因之前先解決這個(gè)問題。
如果問題不是某個(gè)單獨(dú)的供應(yīng)商造成的,則可以追蹤橫跨多云平臺(tái)的整個(gè)應(yīng)用的工作流。一個(gè)多云應(yīng)用一般分為兩類:一類是由云服務(wù)提供商在給定的地理區(qū)域或用戶組托管的應(yīng)用,另一類是用戶的應(yīng)用分散在多個(gè)供應(yīng)商。在第一種情況下的QoE的問題會(huì)同特定的一組用戶有關(guān),這可以定位到涉及的云服務(wù)提供商。但第二種情況更復(fù)雜。
數(shù)據(jù)丟失或延遲是造成大多數(shù)應(yīng)用性能問題的原因,所以必須了解工作如何在云服務(wù)提供商之間傳遞。有三大選擇:提供商通過互聯(lián)網(wǎng)傳遞工作,供應(yīng)商通過自己的中央VPN或通過一個(gè)專用網(wǎng)絡(luò)互連。每種選項(xiàng)都需要不同的測(cè)試和修復(fù)方法。
如果通過互聯(lián)網(wǎng)來連接工作流的話會(huì)難以監(jiān)控,并且云供應(yīng)商本身可能無法提供幫助。為了有效地監(jiān)控工作流程在供應(yīng)商之間的切換,在你的應(yīng)用程序組件中構(gòu)建丟失和延遲檢測(cè)的功能。值得慶幸的是,許多應(yīng)用都使用TCP/IP,而通過監(jiān)控窗口的大小和讀取中間件網(wǎng)絡(luò)日志經(jīng)常可以檢測(cè)到長(zhǎng)延遲,會(huì)表現(xiàn)為大的窗口或緩沖區(qū),以及分組包丟失。
窗口/緩沖區(qū)和網(wǎng)絡(luò)日志還可以幫助你監(jiān)控內(nèi)部VPN或直云連接,但除此之外還有一些其他的選擇。根據(jù)你的內(nèi)部工具和技能來挑選合適的選項(xiàng),或者考慮使用某個(gè)集成商,廠商或云提供商的專業(yè)服務(wù),來設(shè)置你的應(yīng)用便于監(jiān)測(cè)。
如果你的多云應(yīng)用工作流是通過VPN在供應(yīng)商之間連接的,使用一個(gè)數(shù)據(jù)監(jiān)控探頭來查看實(shí)際的數(shù)據(jù)包流。在某些情況下,你會(huì)發(fā)現(xiàn)一個(gè)延遲或損失的直接證據(jù)。同監(jiān)控供應(yīng)商進(jìn)行核查,確保你可以得到所需要的數(shù)據(jù)并讓理解數(shù)據(jù)包流的工作人員對(duì)結(jié)果進(jìn)行解釋。
還可以在云供應(yīng)商的邊界點(diǎn)將一個(gè)軟件探測(cè)器插入到應(yīng)用工作流。有一些監(jiān)控的標(biāo)準(zhǔn),如RMON,但廠商也會(huì)提供專門的測(cè)試和監(jiān)控工具,這些工具可以提供更好的功能。盡可能的在探測(cè)器的級(jí)別上分析,而不是創(chuàng)建一個(gè)監(jiān)控包流然后發(fā)送回遠(yuǎn)程位置再進(jìn)行分析。第二個(gè)模型會(huì)引入自己的延遲和變化,往往掩蓋了真正的問題。
找出一個(gè)多云模型中應(yīng)用性能問題的根源,最好的辦法是在組件的級(jí)別上或者至少在工作流跨公有云提供商的邊界處將該能力構(gòu)建到應(yīng)用程序中。事務(wù)的序列號(hào)和時(shí)間戳可以提供可靠的數(shù)據(jù)包延遲和丟失數(shù)據(jù),網(wǎng)絡(luò)和云供應(yīng)商都接受此信息作為問題的指示。
為了修復(fù)與多云應(yīng)用性能相關(guān)的任何問題,將證據(jù)交給你的云和網(wǎng)絡(luò)供應(yīng)商,并與他們一起找到解決的方法。目標(biāo)是要將你的性能問題關(guān)聯(lián)到一個(gè)供應(yīng)商可以修復(fù)的場(chǎng)景下。在某些情況下,你必須支付一個(gè)優(yōu)質(zhì)的服務(wù),以提高性能,所以不要認(rèn)為這是個(gè)能夠由云供應(yīng)商搞定的“問題”,你也得參與到其中。