![17Live集團技術副總經理徐永吉 (攝影/洪政偉)](https://s4.itho.me/sites/default/files/1037-cto-xu_yong_ji_-she_ying_hong_zheng_wei_-960.png)
17Live集團技術副總經理徐永吉 (攝影/洪政偉)
2020年,當全世界飽受病毒肆虐時,因防疫有成,臺灣猶如平行世界,依然可以如往地生活,然而,提供跨國服務的業者早已面對海外不平靜的情勢,感受疫情改變用戶習慣帶來的衝擊。全球擁有超過5千萬名用戶的直播服務業者17Live,就是其中一家深刻感受海外疫情衝擊的企業。
去年3月,日本爆發疫情後,占據日本直播龍頭的17Live,開始面對系統流量增長的挑戰。日本民眾遵守防疫規範長期宅在家,大幅增加使用網路服務的時間。因為缺少了許多實體社交機會,具即時互動特性的直播服務比過去更加受到歡迎,迅速湧入了爆量用戶,不但考驗直播平臺既有雲端架構的部署,也考驗即時性互動功能的支援力。
17Live集團技術副總經理徐永吉回憶,疫情爆發後最可怕的營運挑戰就是,隨著疫情變化,流量尖峰時間點也跟著改變,甚至出現在許多不同時段。透過數據分析,徐永吉也第一時間觀察到疫情下服務流量的變化,尤其是隨著用戶使用服務的時間增加,也使得流量的時間變化趨勢與過去格外不同。徐永吉表示,原本的流量尖峰時間點仍存在,但增加了許多小型和中型的流量尖峰點。
17Live原本就有一套例行的雲端基礎設施擴充計畫,但是遇到了疫情爆量需求,已無法滿足整體用量的增長趨勢,系統開始出現一些異常徵兆。所幸,他們有一套長期累績的縝密警報機制,可自動監控系統狀況。一旦流量超過設定門檻,維運人員收到警報後,會立刻展開行動排解問題。
去年3月中,他們的工程團隊先從自動化監控系統下手,重新調整所有緊急警報的設定,還針對需要彈性擴充資源的關鍵性功能,新增更多警報監控機制。徐永吉表示,經調整後,警報發出時間點,以及維運人員採取行動的時間點,都可有效提前,減少了系統發生異常的狀況。
定義服務關鍵路徑,確保流量增長致異常時,用戶也可進入直播間
疫情在日本爆發時,剛好17Live開始在系統上導入局部影響(Partial Impact)的維運概念,要藉由分析流量、營收資料,來定義直播服務的關鍵路徑(Critical Path),也就是觀眾和直播主在流量尖峰期間最常使用的功能,以及進入直播間的各種方式。
以觀眾為例,觀眾進入直播間後會看播、追蹤、送禮、留言等,而進入直播間的方式主要則有兩種,一是通過首頁點選,二是接到追蹤者開播通知後,點選進入直播間。另外,也列出非關鍵路徑(Non-critical Path)的功能,例如動態頁面、貼文分享等。
徐永吉表示,發生故障事件時,要保持關鍵路徑「繼續存活。」盡可能降低突發問題對關鍵路徑造成的衝擊,是工程團隊的首要任務,特別是遭遇雲端服務故障的狀況,仍要確保直播主可以開播,同時觀眾也可以順利進入直播間。
徐永吉提到,隨著用戶數增長,直播平臺對故障的忍受度越來越低。這正是工程團隊導入局部影響概念的主因,工程團隊要靠事先定義的關鍵路徑,來作為問題修復順序的決定依據,以恢復關鍵路徑為第一優先,而面對疫情下流量尖峰飄移的情況,保持關鍵路徑暢通的準則,更是他們得以持續提供全球服務的關鍵作法。
因應流量尖峰隨疫情變化跟著移動的狀況,工程團隊為了早一步發現可以預防的系統錯誤,開始採取建置模擬環境的方法,來測試系統的流量承載能力。徐永吉表示,團隊已越來越難預測流量,以往待警報出現再採取行動,來排除流量造成的異常狀況,已經不足以因應,需投注更多時間來提早預防。
通過模擬環境,可以建置模擬機器人來提高直播平臺系統的流量,甚至要超出原先系統設計的可承載量,來得知系統遭遇高流量後,哪些環節可能會發生問題。徐永吉提到,過往遇上故障事件很難重複再現系統錯誤,因為每次復現問題,也代表系統會故障一次,如今通過模擬環境,就可不斷復現系統錯誤,進而能研究解決錯誤的方法。
面對流量尖峰時間不停移動的現象,不只需調整警報通報機制及早排除異常,也影響直播平臺進行服務更新的時程。有一回,工程團隊完成一項服務更新工程後,引來營運單位諸多抱怨,紛紛反映該時間點為流量尖峰時間,然而,後臺數據卻顯示,這時間點並非流量尖峰,這個數據和實際面的矛盾,讓徐永吉驚覺,必須重新定義流量尖峰時間點。
徐永吉表示,用戶散落各地區,很難找出共同的流量尖峰時間點,須重新思考流量尖峰的定義。後來發現,並非觀看流量越高的時間點對平臺營運的影響最大,而是當觀看人流越多,而且是用戶消費金額最高的時間點,才是營運團隊最在意的時刻。
因為進行服務搬遷或更新工程時,難免會對服務帶來些許影響,所以,17Live開始利用營收來作為系統穩定度的考量因子,建置了一個數據分析系統,設定營收為主考量要因子,其次才考慮看播人數,交由系統分析營收、流量資料,找出新定義的流量尖峰時間點,作為工程團隊可以找到相對非流量尖峰時間,來安排服務更新計畫。
疫情帶動新直播需求,大型活動成了新考驗
疫情終點至今仍還看不見,直播服務的需求越來越夯,徐永吉表示,疫情已經改變人們的生活,人們開始習慣線上參與往日現場舉辦的活動。甚至連許多大型活動都看上直播服務,例如就有大型演唱會也改為直播形式,這也帶給17Live工程團隊新考驗。
今年5月下旬的一個周末,17Live直播平臺一連舉辦了3場日本女團AKB48的15周年演唱會,徐永吉形容這個任務就像一顆大炸彈,突然降臨。他不諱言,用直播形式舉辦萬人線上演唱會,工程團隊起初都嚇到了,從來沒有料想。
17Live工程團隊接下任務,著手建置模擬器,想盡辦法模擬演唱會開唱後服務的實際環境。為了確保演唱會順利進行,團隊更以預估參與人數的數倍流量來測試系統環境,並把流量打在系統的每一個環節。徐永吉表示,必須確認系統的每一個角落都可以承載數萬人流量,才能確保演唱會人流亂竄平臺時,不會造成系統發生故障。
當日演唱會開唱前,6萬名觀眾瞬間湧入平臺,面對遠比預估參與人數高出數倍的流量,幸好,這個流量強度還在事前模擬器測試的範圍內,團隊也超前得知可能會遭遇的問題,在演唱會前及時補強了可能出現錯誤的系統環節,尤其針對無法自動擴充資源的服務環節,像服務網站入口處等,早已預先擴充資源來因應爆量流量。
徐永吉表示,這樣的流量級別以往不常見,通過舉辦這場直播演唱會,實際驗證到直播系統的流量承載能力,單一直播間至少可容納逾6萬名觀眾同時在線觀看。不過,這次活動也給徐永吉一個警示,不能安於系統當前運作良好的現況,因為,「下一秒,系統可能就會遭遇前所未有的挑戰。」這個警示促使工程團隊思考如何調整系統的架構設計,以承載更高的流量。
為提高直播平臺整體的強健度,徐永吉近期也導入領域知識(Domain Knowledge)架構設計的概念,建立解耦合的IT架構,切分整體平臺架構為多個領域知識服務,包含主頁、直播、互動、遊戲、特效等,而各服務各自擁有完整且獨立的系統架構,以降低應用彼此的相依性。
從組織人力配置來看,每個領域服務團隊都配有前、後端、基礎架構、QA等人力,自行為服務設計架構,還有設定服務級別目標(SLO),並照顧領域服務裡的關鍵路徑。採用這樣的系統架構設計方式,為直播平臺帶來了不少好處,徐永吉表示,倘若單一服務出現問題時,不會發生連鎖效應,且整體基礎架構變得更加強健。此外,因應公司業務的發展,工程團隊將來也可單獨拆解各個領域服務,移轉供他人使用。
為了建立解耦合的IT架構,徐永吉還設立了一個策略架構部門,負責驅動每個領域服務團隊按自身需求設計系統架構。徐永吉表示,策略部門會決定整體平臺大方向採用的技術,再由各團隊負責技術落地的方式,並且主架構師會掌握每個團隊的架構規畫,確認各服務的架構設計方式符合整體平臺的效益。
疫情下越來越難預測流量變化,接到警報才排除異常,已經不夠,需投注更多時間提早預防。── 17Live集團技術副總經理 徐永吉 (攝影/洪政偉)
打造互動式多人直播功能,提升用戶黏著度
今年5月下旬,臺灣疫情突然蔓延,全國進入三級緊戒後,17Live在臺遭遇與先前在日本相似的狀況,流量尖峰時間開始會移動,徐永吉表示,不一樣的是,許多舊直播主及觀眾回歸平臺。
因為先前在日本抗疫的經驗,今年在臺灣就可以從容因應,甚至工程團隊還大力投入開發不同類型的直播服務,想要打造虛擬社交情境,例如今年6月底推出的多人團體直播功能。
因為剛換了新的架構設計方式,也改用新作法來開發新功能。工程團隊建立了獨立的系統環境,來處理多人直播功能,避免新功能的邏輯與服務既有邏輯互斥。當系統接獲用戶提出的多人直播要求後,工程團隊會在一個獨立的服務通道中,處理多個直播間合併的作業,待團體直播告一段落後,也會在獨立通道中拆分直播間。
徐永吉表示,如此可避免直接修改既有服務的系統,確保直播間順利切換狀態,不用擔心直播間的新狀態與原有服務衝突。
而直播無可避面會有延遲性,因此,工程團隊也花了很多的心力優化現有通訊協定,在同一個通訊協定上切分流量,來降低延遲性,讓直播主的互動時間點,與觀眾實際看到畫面的時間點,近乎吻合。
轉換RCA為數值資料,以訓練推論系統邁向AIOps
直播服務遭遇系統故障或中斷事件,都會直接影響營運表現,17Live已納入營收表現資料,作為判定相對低流量時間段的主要因子,來進行系統工程,不過這仍然不夠。徐永吉表示,還欠缺了對過往該時間點,進行大型系統更動工程時,發生故障事件機率的掌握,他強調,這個數值是另一個重要考量依據。
下一步,徐永吉計畫轉換故障事件的根本原因分析(RCA)報告內容,為數值型資料,並建置AIOps推論系統,納入各時間點故障發生機率,來分析適合進行工程的時間點。徐永吉表示,這是17Live邁入AIOps發展的第一個計畫,每當工程團隊需進行系統更動工程前,會通過系統演算,挑選最合適執行工程的時間點。
他坦言,系統建置工程有一定的難處,過往累積的故障事件發生量不夠多,因此,團隊正研究如何利用模擬器,模擬系統未來會遭遇的狀況,創造訓練數據,再倒入推論系統。徐永吉期望未來AIOps系統還可自動偵測異常流量狀況,甚至依照過往類似問題的相關處理經驗,自動採取行動,緩解問題。
CTO小檔案
徐永吉
17Live集團技術副總經理
學歷:交通大學電控工程所博士
經歷:累積逾10年軟體研發、AI落地的相關經驗,曾服務於玩具製造商美泰兒,導入了敏捷式開發,並曾在趨勢科技擔任資深軟體研發經理,爾後進入17Live集團,擔任集團技術副總經理,領導工程團隊建置多雲架構,以及採用微服務設計,來提升系統穩定度,並持續優化系統的流量承載力
公司檔案
17Live
● 業務介紹:直播串流社群平臺
● 總部:日本
● 地址:臺北市仁愛路二段22號
● 網址:tw.17.live
● 成立時間:2015年
● 員工數:臺灣約420人
● 執行長:小野裕史
● 部門名稱:工程部
● 部門主管職稱:集團技術副總經理
● 部門人數:約200人
● 部門分工:技術開發與平臺維運
公司大事記
● 2015年:17Live App正式上架App市集;成立專職團隊監控直播、貼圖或回應,避免出現任何不當內容
● 2017年:17Live正式進軍日本市場
● 2018年:17Live正式在美國推出;日本17Live打造虛擬直播主V-Liver;將服務從AWS搬遷到GCP
● 2019年:推出直播互動遊戲
● 2020年:推出2人連線雙人直播功能;布局多雲架構策略
● 2021年:推出9人群播功能
熱門新聞
2024-08-28
2024-08-26
2024-08-30
2024-08-26
2024-08-27
2024-08-24