3 天擴擴擴擴擴擴擴容數 10 倍?

2億學生在線上課。

疫情的肆虐,原本該回歸各大校園的師生們涌入線上,突如其來的流量洪峯給在線教育行業帶來了極大挑戰。

長期服務教育企業的百家雲也不例外。作爲一家致力於爲教育機構提供一站式雲課堂解決方案的企業,疫情期間,百家雲接到來自多家教育機構搭建在線雲課堂的需求。同時,原來以線下爲主的教育機構,流量瞬間轉到了線上。

爲了響應教育部門停課不停學的號召,幫助學生老師們開學,百家雲全體員工縮短了假期,從大年初二開始在家辦公,初七開始全員辦公。

短時間內爆發式的需求,對於每一家教育企業而都是始料未及的。據百家雲CEO李鋼江透露,百家雲的業務量短時間內增長了數十倍。如此迅速的擴容需要,還要在客戶無感知的情況下完成,比交付一個新系統難度更大。

不幸中的萬幸是,百家雲團隊對敏捷架構的探索讓他們在如此高併發場景上早有準備。這場戰役之前,百家雲已在阿里雲團隊的幫助下,優化自身容器集羣架構與規劃,通過以阿里雲容器服務ACK、彈性裸金屬(神龍)實例的核心方案,從容實現動態擴容與高效管控。

探索容器化改造,具備應對洪峯敏捷能力

百家雲非常幸運,在這輪爆發之前完成了容器化改造。其他沒有使用容器的在線教育企業,面對暴漲的用戶,只能成倍堆積機器,導致部署時間拉長,業務成本劇烈升高。

故事要從百家雲的業務發展開始說起。

百家雲從2017年誕生之初就是在做直播大班課產品,是行業內擁有最純正的教育基因的雲視頻公司。在2018年已經實現了過億營收,服務了超過1000多家教育企業。

業務高速增長也在促使百家雲技術團隊探索自身技術架構的優化。到了2019年,百家雲逐步推出小班課產品,該產品的處理方式與大班課不同,需要通過音視頻抓屏的方式,將課程錄製下來回放。

此過程中,還需要將音頻與視頻進行隔離。用虛擬機級別的隔離成本太高;若跑在統一虛擬機裏,各個進程則會互相干擾。百家雲團隊於是關注到了容器這種更爲輕量級的虛擬化技術。

在2019年上半年,百家雲內部就開始嘗試小規模對業務進行容器化改造,完成了基本流程的跑通。

然而,隨着百家雲容器規模的擴大,調度與管理成爲了新的問題。阿里雲的容器管理平臺(ACK, Alibaba Cloud Container Service for Kubernetes),大大減少百家雲的工作。百家的技術團隊表示,容器減少了運維和測試的工作量;方便了對應用運行環境實現版本控制;且相比虛擬機有着更小計算開銷,降低了IT成本。

彼時基於容器的雲原生大潮已然席捲,基於容器技術的雲原生架構,爲百家雲可能出現的業務峯值做了敏捷彈性的技術儲備。

只是,這還是第一步。

瞬間來臨的洪峯,還是給百家雲帶來了考驗。

藉助阿里雲“容器+神龍”

三天內實現數十倍擴容

潮水襲來,百家雲的問題很直接:擴容。

疫情是全國共同的敵人。業務持續穩定增長的百家雲,未曾料想到新禧之年將面臨這樣一場“戰役”,原來容器集羣的許多配置沒有按大規模集羣去規劃,導致單個集羣可容納的節點受限,原來使用的小規格實例也限制了單個節點的容量。

針對百家雲的擴容問題,阿里雲團隊建議客戶選用大規格的彈性裸金屬服務器(神龍)。根據百家雲的應用負載特點,結合容器服務管控合適規格的彈性裸金屬實例來優化成本、避免浪費,提升彈性供給保障。

首先,阿里雲彈性裸金屬服務器(神龍)服務器的規格較高,可以幫助百家雲顯著提升了單個節點的容量。

更重要的是,百家雲的K8s集羣對性能要求極高。神龍服務器的性能優勢明顯, “容器+彈性裸金屬(神龍)”的解決方案非常契合百家雲大流量、高併發的場景。

基於容器化構建方式,可以滿足業務快速發放和彈性的要求。神龍服務器完全消除了虛擬化損耗,提升了8%的計算性能,其類物理機特性,可進行二次虛擬化。

第二,神龍的性能,加上容器的彈性,形成了天作之合。數據顯示,容器運行在雲上神龍反而比非雲物理機的性能要好10%-15%。主要是因爲虛擬化開銷已經offload到MOC卡上,神龍的CPU/Mem是無虛擬化開銷的,而上雲後運行在神龍上的每個容器都獨享ENI彈性網卡,能提升13%的網絡吞吐量。

第三,神龍服務器的存儲帶寬和計算帶寬分離,能滿足百家雲業務場景的大量讀寫需求。使用神龍服務器之後,計算能力大增,但是同時也遇到了存儲I/O性能瓶頸的問題。百家雲通過使用阿里雲的高性能NAS服務,並通過水平擴展爲4個集羣,解決了I/O的瓶頸。

基於以上方案,藉助自身的大規模集羣管理能力,在短短几天之內,阿里雲團隊幫助百家雲團隊有效升級了原有的架構方案,實現了數十倍的擴容,大幅提升了其性能與穩定性,並擁有了應對爆發性規模的能力。

優化架構與集羣規劃,顯著降低運維成本

面對突增流量壓力,如何迅速動態彈性擴容以及高效管控運維成爲迫切問題。

改變了原來虛擬化嵌套的形式,百家雲利用神龍實現了容器的高密度部署。配合容器的敏捷管理能力,起碼節省了25%的成本,降低了80%的運維工作量。同時,合理規劃K8s集羣,優化整體架構如網絡、存儲方案、擴容原則,確保後續運維的穩定性並降低使用成本。

此外,百家雲還使用了阿里雲高效運維管理的工具,顯著降低了運維工作量。

由於百家雲業務上容器的時間非常緊迫,根本沒有多少時間可以花在運維監控上。通過使用ARMS Prometheus,僅僅半小時百家雲就實現了容器節點環境的監控。相比開源 Prometheus 監控,ARMS Prometheus的數據量無上限且與阿里雲容器服務ACK無縫對接,讓百家雲在容器裏高效快速定位問題,瞭解如何改善自己的產品。

阿里雲容器平臺的日誌服務(SLS)Kubernetes事件中心,詳細展示了集羣的狀態變更
和組件異常等事件,幫助百家雲把節點裏面日誌的異常信息彙總到控制面板,及時告警。

百家雲CEO李鋼江總結,阿里雲帶給百家雲的價值主要是以下三點:

第一,提供了彈性計算的空間與敏捷安全的擴容能力

阿里雲對應用鏡像進行了鏡像預熱等手段,在擴容時可第一時間拉起容器。基於容器鏡像服務ACR 安全託管大規模容器鏡像資產,通過細粒度的鏡像授權管控,安全快速地對應用鏡像進行全生命週期管理。

第二,提供了相對穩定的服務與優異性能

基於阿里雲自研的神龍軟硬一體架構,彈性裸金屬服務器(神龍)有着物理機的性能和虛擬機的使用體驗。通過利用神龍,百家雲實現更好地調度K8s集羣,加上高性能NAS服務,解決了I/O瓶頸問題。

第三,技術支持團隊響應及時,幫助百家雲優化架構

百家雲之所以後來面臨擴容問題,部分源於其原來業務架構規劃未做好管理大規模集羣的準備,阿里雲幫助了百家雲在短時間內優化了業務架構,優化集羣的管理能力。

阿里雲作爲全國第一、世界頂尖的雲服務商,在IaaS和PaaS層能力強大;百家雲在教育SaaS層的積累,可以與阿里雲互補,一同以完整的在線教育方案去覆蓋市場。

雙方正在逐步深化合作,百家雲將很快上線阿里云云市場——阿里雲SaaS加速器的商業平臺,即“軟件天貓”,後續用戶可直接在雲市場選購百家雲的服務。

編輯:Anlin

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章