衡量云性能:我們需要一把不同于以往的標(biāo)尺
譯文正如開爾文勛爵所言:“衡量的目的在于了解。”不過(guò)這項(xiàng)簡(jiǎn)單的格言實(shí)現(xiàn)起來(lái)卻難度極高。其真實(shí)含義分為以下兩點(diǎn)。
***層含義非常明確:我們無(wú)法在不加以衡量的情況下,對(duì)事物加以認(rèn)知。舉例來(lái)說(shuō),如果大家希望快速了解應(yīng)用程序的運(yùn)作情況,那么必須選取幾項(xiàng)關(guān)鍵并加以追蹤。“良好的性能”意味著功能可在短時(shí)間內(nèi)完成,而糟糕的性能則代表著功能要耗時(shí)極久才能實(shí)現(xiàn)。
另一項(xiàng)重要指標(biāo)在于,應(yīng)用本身是否擁有“理想的性能”。例如,性能是否在不同負(fù)載條件下保持穩(wěn)定,或者在應(yīng)用的不同組件之間保持穩(wěn)定?
而第二層含義則相對(duì)隱晦,但卻同樣重要:通過(guò)定義衡量標(biāo)準(zhǔn),我們實(shí)際上也是在定義自身的知識(shí)界線。在應(yīng)用環(huán)境當(dāng)中,這可能并不是什么大問(wèn)題; 但云環(huán)境則提出了完全不同的挑戰(zhàn)。由于我們無(wú)法對(duì)環(huán)境加以全面控制,因此不能衡量一切將變得非常可怕。
當(dāng)應(yīng)用被遷移至云端
有鑒于此,當(dāng)將服務(wù)遷移至云端時(shí),大家必須切實(shí)利用衡量手段掌握用戶的使用體驗(yàn)。如果做不到這一點(diǎn),或者同時(shí)只能關(guān)注同一項(xiàng)指標(biāo),那么我們將很難做出正確的判斷。
例如,在傳統(tǒng)Web應(yīng)用環(huán)境當(dāng)中,我們往往會(huì)將與頁(yè)面加載或者渲染速度指標(biāo)視為其它組件的性能參照。例如,緩慢的頁(yè)面加載速度可能意味著數(shù)據(jù)庫(kù)后端存在故障或者承受的強(qiáng)度過(guò)大。
不過(guò)這種思考方式明顯有著自己的局限:其假定應(yīng)用之間的連接并不存在問(wèn)題。在內(nèi)部運(yùn)作的基礎(chǔ)設(shè)施當(dāng)中,我們可以以此為前提進(jìn)行排查——這種作法非常合理。但在云環(huán)境中,問(wèn)題顯然沒那么單純。
云改變了一切
在云環(huán)境內(nèi),這種假設(shè)不再成立。我們的云服務(wù)供應(yīng)商會(huì)隨時(shí)變更當(dāng)前環(huán)境,且整個(gè)重新配置過(guò)程完全超出大家的控制范圍。服務(wù)本身就是我們付費(fèi)所應(yīng)得的范疇,再無(wú)其它!而如果想像內(nèi)部基礎(chǔ)設(shè)施那么租賃完整的云資源,那么成本則會(huì)超出承受能力。
事實(shí)上,我們之所以將負(fù)載交由云環(huán)境打理,是因?yàn)槠淠軌蛱峁﹤鹘y(tǒng)數(shù)據(jù)中心所無(wú)法企及的容量上限。這意味著底層基礎(chǔ)設(shè)施——包括服務(wù)運(yùn)行所在的網(wǎng)絡(luò)、硬件乃至環(huán)境——始終作為變量存在。
這當(dāng)然不是壞事,但問(wèn)題在于衡量眾多獨(dú)立變量會(huì)帶來(lái)巨大挑戰(zhàn)。幸運(yùn)的是,云環(huán)境本身提供了一種能夠切實(shí)完成管理任務(wù)的辦法:
獲取數(shù)據(jù):大多數(shù)云服務(wù)提供單個(gè)指標(biāo)或者查詢機(jī)制,即使您所選擇的供應(yīng)商不提供相關(guān)方案,也可求助于其它廠商。每秒總線信息、存儲(chǔ)操作、計(jì)算資源使用量等等都能夠成為把握底層服務(wù)動(dòng)態(tài)的線索。
處理數(shù)據(jù):
一部分云服務(wù)會(huì)聚合數(shù)據(jù)并以易于使用的方式集中提供。大家可以借此隨時(shí)檢查數(shù)據(jù)流量,這也應(yīng)當(dāng)成為任何形式的云系統(tǒng)的必要配套方案。
數(shù)據(jù)可視化:
大多數(shù)數(shù)據(jù)聚合服務(wù)都提供多種可視化工具。運(yùn)維人員可隨后借此討論并向管理層解釋當(dāng)前運(yùn)行狀況,并確保一切處于“基準(zhǔn)”范圍內(nèi)。只有把握住這種“正常”狀態(tài),異常問(wèn)題才能被及時(shí)發(fā)現(xiàn)。
確保應(yīng)用生成有價(jià)值數(shù)據(jù):
應(yīng)用日志通常分為兩種類型:全面調(diào)試與停止發(fā)報(bào)。確保應(yīng)用能夠生成有價(jià)值且具備可操作性的指標(biāo)。
不要僅依賴單一來(lái)源:
如果大家只使用當(dāng)前云服務(wù)廠商提供的衡量指標(biāo),那么恐怕無(wú)法保證審計(jì)合格。正如良好的財(cái)務(wù)控制與審計(jì)是保障業(yè)務(wù)成功的關(guān)鍵,我們?cè)诩夹g(shù)層面需要采取同樣的心態(tài)。事實(shí)上,大家不妨以懷疑的態(tài)度審視一切,并在必要時(shí)求助于第三方廠商。
當(dāng)然,云服務(wù)供應(yīng)商本身往往是***發(fā)現(xiàn)問(wèn)題的一方。遇到這種情況,我們應(yīng)當(dāng)與外部監(jiān)控廠商交流問(wèn)題,從而建立更可靠、更及時(shí)的衡量體系。