首頁(yè) 資訊 > 資訊 > 正文

火山引擎云平臺(tái)前端穩(wěn)定性建設(shè)實(shí)踐

近日,在??WOT全球技術(shù)創(chuàng)新大會(huì)2023“大前端最佳實(shí)踐”??分論壇上,火山引擎云平臺(tái)前端負(fù)責(zé)人蔣雷分享了主題為“火山引擎云平臺(tái)前端穩(wěn)定性建設(shè)實(shí)踐”的演講。此次分享以火山引擎云平臺(tái)為例,從業(yè)務(wù)端切入,通過(guò)介紹前端穩(wěn)定性對(duì)云平臺(tái)的重要性,探討了前端穩(wěn)定性建設(shè)的目標(biāo)、整體思路、建設(shè)流程及評(píng)價(jià)體系,分享了前端穩(wěn)定性建設(shè)過(guò)程中面臨的挑戰(zhàn)和難點(diǎn),以及利用新技術(shù)和工具來(lái)提高前端穩(wěn)定性的方法。


(資料圖)

近日,在WOT全球技術(shù)創(chuàng)新大會(huì)2023“大前端最佳實(shí)踐”分論壇上,火山引擎云平臺(tái)前端負(fù)責(zé)人蔣雷分享了主題為“火山引擎云平臺(tái)前端穩(wěn)定性建設(shè)實(shí)踐”的演講。

此次分享以火山引擎云平臺(tái)為例,從業(yè)務(wù)端切入,通過(guò)介紹前端穩(wěn)定性對(duì)云平臺(tái)的重要性,探討了前端穩(wěn)定性建設(shè)的目標(biāo)、整體思路、建設(shè)流程及評(píng)價(jià)體系,分享了前端穩(wěn)定性建設(shè)過(guò)程中面臨的挑戰(zhàn)和難點(diǎn),以及利用新技術(shù)和工具來(lái)提高前端穩(wěn)定性的方法。

火山引擎是字節(jié)跳動(dòng)旗下的云服務(wù)平臺(tái)。云平臺(tái)是一個(gè)多邊平臺(tái),可以為多個(gè)不同角色用戶提供服務(wù),它不僅為客戶服務(wù),還為包括財(cái)務(wù)、稅務(wù)、法務(wù)的火山引擎內(nèi)部運(yùn)營(yíng),以及外部生態(tài)合作伙伴服務(wù)。因此,對(duì)于云計(jì)算平臺(tái)而言,穩(wěn)定性建設(shè)至關(guān)重要。蔣雷表示,在云計(jì)算業(yè)務(wù)中,官網(wǎng)和控制臺(tái)距離客戶最近,用戶與云平臺(tái)和云產(chǎn)品控制臺(tái)的交互幾乎都發(fā)生在前端,前端穩(wěn)定性對(duì)于整個(gè)云平臺(tái)的可用性和客戶體驗(yàn)至關(guān)重要。

一、火山引擎云平臺(tái)穩(wěn)定性建設(shè)的整體思路

火山引擎云平臺(tái)業(yè)務(wù)的穩(wěn)定性建設(shè)就像下一盤(pán)棋,而行棋的最高原則就是火山引擎整體的穩(wěn)定性建設(shè)。其中,云平臺(tái)的穩(wěn)定性作為火山引擎整體穩(wěn)定性范疇的關(guān)鍵部分也不可小覷。

由于云平臺(tái)業(yè)務(wù)多邊性的特點(diǎn),云平臺(tái)穩(wěn)定性建設(shè)的第一要義便是保證云產(chǎn)品服務(wù)的穩(wěn)定性,提升MTBF(平均無(wú)故障運(yùn)行時(shí)間),降低MTTR(平均故障修復(fù)時(shí)間),保證云業(yè)務(wù)安全、可靠、高效地運(yùn)行。

云平臺(tái)行業(yè)SRE實(shí)踐可以細(xì)分為Pre-MTBF、MTTI(發(fā)生故障到故障被識(shí)別的平均時(shí)間)、MTTK(發(fā)生故障到了解故障根因的平均時(shí)間)、MTTF(故障出現(xiàn)后的平均解決時(shí)間)、MTTV(故障修復(fù)完成后重新驗(yàn)證系統(tǒng)正常運(yùn)行所需的平均時(shí)間)、Post-MTBF等環(huán)節(jié),為了保證云平臺(tái)運(yùn)行的穩(wěn)定性,火山引擎云平臺(tái)前端團(tuán)隊(duì)采用了以下措施進(jìn)行維護(hù):

在事故發(fā)生前,通過(guò)故障演練、容量評(píng)估、自動(dòng)化測(cè)試等方式,進(jìn)行故障預(yù)防;當(dāng)事故發(fā)生后,利用監(jiān)控告警、客戶反饋、輿情感知等工具發(fā)現(xiàn)故障,通過(guò)日志分析、鏈路跟蹤、根因定位等方式進(jìn)行故障定位,再采取容災(zāi)切換、服務(wù)降級(jí)、服務(wù)限流、異常熔斷等措施進(jìn)行故障恢復(fù);當(dāng)然,故障恢復(fù)之后,故障復(fù)盤(pán)、改進(jìn)驗(yàn)收以及故障模擬等環(huán)節(jié)也是必不可少的。

此外,火山引擎云平臺(tái)依照行業(yè)SRE實(shí)踐進(jìn)行前端穩(wěn)定性維護(hù)的同時(shí),還進(jìn)一步精進(jìn)了企業(yè)內(nèi)部的云平臺(tái)維護(hù)方法論。

一是文化建設(shè),由于工作人員的意識(shí)在云平臺(tái)穩(wěn)定性建設(shè)中起著重要作用,火山引擎內(nèi)部開(kāi)展了一系列培養(yǎng)工作人員穩(wěn)定性意識(shí)的工作,包括穩(wěn)定意識(shí)建設(shè)的月會(huì)、培訓(xùn)、考試、復(fù)盤(pán)等。這些工作的實(shí)行有效地提高了工作人員對(duì)故障預(yù)防的積極性與主動(dòng)性,從而有效增加了云平臺(tái)無(wú)故障運(yùn)行時(shí)間。

二是通過(guò)控制操作管理流程來(lái)提升MTBF,降低MTTR,比如事故前的預(yù)防流程,包括變更的規(guī)范、事故演練的規(guī)范;事故中的管控,比如發(fā)現(xiàn)故障后的處理方法,事故的及時(shí)定位等;事故后的治理,復(fù)盤(pán)要遵循的規(guī)范等。

二、火山引擎云平臺(tái)前端穩(wěn)定性具體實(shí)踐

前端是云平臺(tái)與客戶直接的接觸點(diǎn),客戶對(duì)操作類故障的感知更加明顯,也更容易發(fā)現(xiàn)體驗(yàn)類的問(wèn)題,因此前端反饋的信息更能代表客戶的真實(shí)體驗(yàn)。此外,前端幾乎覆蓋全部的用戶場(chǎng)景和終端場(chǎng)景,但在測(cè)試的過(guò)程中又會(huì)遇到非必現(xiàn)問(wèn)題等特殊情況,使得前端復(fù)現(xiàn)路徑成為難點(diǎn)。

火山引擎云平臺(tái)前端團(tuán)隊(duì)通過(guò)建立前端底層技術(shù)基座,接入統(tǒng)一的渲染、頁(yè)面托管服務(wù),從而解決前端建設(shè)多站點(diǎn)、多域名、多語(yǔ)言以及多客戶端支持的問(wèn)題。在向上涉及到業(yè)務(wù)層面時(shí),也能解決業(yè)務(wù)統(tǒng)一埋點(diǎn)的問(wèn)題。此外,在統(tǒng)一的架構(gòu)基礎(chǔ)上,火山引擎云平臺(tái)前端團(tuán)隊(duì)還建設(shè)了統(tǒng)一的監(jiān)控告警和性能體驗(yàn),多方位保障前端業(yè)務(wù)的穩(wěn)定運(yùn)行。

此外,火山引擎云平臺(tái)前端團(tuán)隊(duì)還精心設(shè)計(jì)前端的服務(wù)架構(gòu)。當(dāng)用戶在瀏覽器發(fā)起請(qǐng)求時(shí),靜態(tài)資源會(huì)直接請(qǐng)求CDN,動(dòng)態(tài)資源會(huì)直接請(qǐng)求DCDN。根據(jù)前端頁(yè)面的渲染方式不同,請(qǐng)求不同的后端服務(wù)層,再進(jìn)一步對(duì)接下游服務(wù),從而在架構(gòu)設(shè)計(jì)上促進(jìn)前端業(yè)務(wù)平穩(wěn)運(yùn)行。

官網(wǎng)的穩(wěn)定性建設(shè)

云計(jì)算官網(wǎng)是觸達(dá)云計(jì)算客戶,以及完成客戶轉(zhuǎn)化的主要平臺(tái)。其中包括產(chǎn)品介紹頁(yè)面、活動(dòng)營(yíng)銷等功能,但同時(shí)也會(huì)有一些強(qiáng)依賴后端的業(yè)務(wù),比如搜索、文檔、產(chǎn)品體驗(yàn)等。

火山引擎云平臺(tái)前端團(tuán)隊(duì)從前端接入層、服務(wù)層、數(shù)據(jù)層、基建層各方面協(xié)調(diào)布局,從官網(wǎng)服務(wù)面和管理面雙管齊下,推進(jìn)服務(wù)穩(wěn)定性監(jiān)控、網(wǎng)絡(luò)鏈路治理、頁(yè)面穩(wěn)定性治理。通過(guò)接入APM和TLS服務(wù),建立前端服務(wù)的監(jiān)控體系,實(shí)現(xiàn)頁(yè)面請(qǐng)求、渲染、JS、黑白屏等指標(biāo)和異常的上報(bào)功能,并使用自定義事件來(lái)補(bǔ)充定制業(yè)務(wù)指標(biāo)的上報(bào)功能,使用自動(dòng)化歸因工具來(lái)輔助研發(fā)人員排查定位告警問(wèn)題,告知錯(cuò)誤信息(觸發(fā)的用戶環(huán)境、URL、發(fā)布版本、狀態(tài)碼,堆棧信息等)。此外,通過(guò)頁(yè)面代碼巡檢根據(jù)特征匹配防止上線時(shí)出現(xiàn)錯(cuò)誤,利用E2E巡檢進(jìn)行通用CV監(jiān)控、白屏檢測(cè)等有效降低官網(wǎng)頁(yè)面MTTR,提升用戶體驗(yàn)。

火山引擎控制臺(tái)穩(wěn)定性建設(shè)

火山引擎云控制臺(tái)主要分為三部分,分別是客戶側(cè)、云控制臺(tái)、云產(chǎn)品??蛻粼谑褂迷飘a(chǎn)品時(shí),首先會(huì)涉及火山引擎控制臺(tái)的基礎(chǔ)功能,例如賬號(hào)注冊(cè)、登錄、賬單查詢等。其次是依托IaaS、PaaS、SaaS等云控制平臺(tái)而運(yùn)行的各種云產(chǎn)品。讓云產(chǎn)品通過(guò)平臺(tái)對(duì)外進(jìn)行服務(wù),并且保證云產(chǎn)品的穩(wěn)定性,是火山引擎控制臺(tái)穩(wěn)定性建設(shè)中非常重要的話題。

火山引擎控制臺(tái)前端團(tuán)隊(duì)為各云產(chǎn)品提供了前端頁(yè)面服務(wù)接入和托管的方案。在前端BFF場(chǎng)景中,主要使用三個(gè)內(nèi)部工具進(jìn)行全鏈路穩(wěn)定性監(jiān)控和治理。其中,Rhino用于壓測(cè),ByteHAS用來(lái)進(jìn)行故障注入,Argos則是服務(wù)監(jiān)控告警平臺(tái)。通過(guò)這些工具,可以幫助團(tuán)隊(duì)快速定位問(wèn)題、驗(yàn)證評(píng)估方案并監(jiān)控服務(wù)狀態(tài),從而提高系統(tǒng)可靠性。

隨著業(yè)務(wù)不斷發(fā)展,BFF服務(wù)規(guī)模和復(fù)雜程度越來(lái)越高,服務(wù)間調(diào)用鏈路也越來(lái)越長(zhǎng)。因此,維護(hù)BFF層的穩(wěn)定性就變得至關(guān)重要。為此,火山引擎云平臺(tái)前端團(tuán)隊(duì)從確定監(jiān)控指標(biāo)、監(jiān)控可行性驗(yàn)證、實(shí)施監(jiān)控方案到分析結(jié)果、改進(jìn)優(yōu)化,不斷精細(xì)化BFF 穩(wěn)定性評(píng)估指標(biāo)類型,并制定了全方位的BFF層穩(wěn)定性建設(shè)方案,不斷推進(jìn)火山引擎穩(wěn)定性建設(shè)的可操作性和科學(xué)性。

此外,所有云產(chǎn)品的控制臺(tái)都需要火山引擎云平臺(tái)前端團(tuán)隊(duì)提供服務(wù),比如頁(yè)面通用的頂部導(dǎo)航、側(cè)邊欄以及Web SDK功能。其中,Web SDK的接入使得所有控制臺(tái)頁(yè)面、云產(chǎn)品頁(yè)面具備了異常監(jiān)控的能力?;鹕揭嬖破脚_(tái)前端團(tuán)隊(duì)基于此來(lái)進(jìn)行頁(yè)面的資源檢測(cè)、HTTP的Error監(jiān)控、白屏檢測(cè)等統(tǒng)一的前端情況監(jiān)控以及數(shù)據(jù)收集工作。再將數(shù)據(jù)匯總到Slardar平臺(tái),由Slardar平臺(tái)判斷性能分析的情況以及是否進(jìn)行告警。Slardar平臺(tái)一旦分析出異常情況就會(huì)立即發(fā)出告警,再經(jīng)由團(tuán)隊(duì)內(nèi)部嚴(yán)謹(jǐn)?shù)墓芸亓鞒踢M(jìn)行告警處理。

火山引擎云平臺(tái)前端團(tuán)隊(duì)在進(jìn)行前端穩(wěn)定性維護(hù)時(shí),利用先進(jìn)的監(jiān)控管理工具,采納周密嚴(yán)謹(jǐn)?shù)氖鹿暑A(yù)防和解決流程,不僅注重團(tuán)隊(duì)技術(shù)上的專業(yè)性,也從未忽視意識(shí)上的能動(dòng)性,前端架構(gòu)和團(tuán)隊(duì)文化兩手抓,形成了一套專業(yè)、具體、可操作性強(qiáng)的前端穩(wěn)定性建設(shè)方法論,火山引擎云平臺(tái)前端團(tuán)隊(duì)的前端穩(wěn)定性建設(shè)實(shí)踐也成為眾多前端工程師學(xué)習(xí)的范本。

本文整理自火山引擎云平臺(tái)前端負(fù)責(zé)人蔣雷在WOT2023大會(huì)上的主題分享,更多精彩內(nèi)容及現(xiàn)場(chǎng)PPT,請(qǐng)關(guān)注《清一色技術(shù)棧》公眾號(hào),發(fā)消息【W(wǎng)OT2023PPT】即可直接領(lǐng)取。

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2023 創(chuàng)投網(wǎng) - www.mallikadua.com All rights reserved
聯(lián)系我們:39 60 29 14 2@qq.com
皖I(lǐng)CP備2022009963號(hào)-3