天天看點

全面上雲這條路,洋蔥學院已經走了近7年

洋蔥學院在2013年末成立,原名洋蔥數學,是一家K12線上教育公司。課程裡沒有真人老師授課,而是采用100%人機互動學習方式,每節課5-8分鐘動畫視訊的形式精講一個知識點或解題思維,希望有趣生動的講解方式讓更多的孩子們愛上學習。

創新且銳意進取,是這個公司的基因。

洋蔥學院由楊臨風、朱若辰和李諾聯合創辦,團隊希望通過技術方式促進教育均衡。在創立之初,團隊就做出了一個意識超前的決定:整套業務系統均基于阿裡雲搭建。

全面上雲這條路,洋蔥學院已經走了近7年

要知道,2013年,能選擇全面上雲的中國企業屈指可數。

上雲先鋒洋蔥學院這一路走來,也是和阿裡雲一同攜手成長的難忘曆程。幾年前,由于某個特殊使用場景,線上業務受到嚴重影響,洋蔥學院和阿裡雲緊急溝通、快速排查問題,阿裡雲雲資料庫的專家同學進行了重新開機、備份等一系列工作。

早先,洋蔥學院起步于國中數學、實體課程,但是随着不斷發展,開始加入國文和英語等學科,這些課程特點不同、相應的學習流程不同。除了早先選用的ECS雲服務、SLB負載均衡、阿裡雲雲資料庫等經典基礎産品之外,洋蔥學院也嘗試将新的業務應用搭建于一些新興阿裡雲産品,如ACK容器服務、RSS彈性伸縮、SLS日志服務、Blink實時計算、ARMS前端監控等,來滿足日趨複雜和多樣化的業務需求。

如今,從國中理科逐漸擴充到小初高全學段全學科,為130多萬教師以及3600多萬的中國小生提供24小時線上的“雲課堂”。

疫情大考突如其來,IT架構穩如泰山

疫情期間(近一個月以來),有超過700萬學生、35萬教師使用洋蔥學院APP線上學習或輔助授課,同時還将課程資源開放給學習強國、快手等第三方平台播放,幫助更廣泛的學生遠端學習。

能應對猝不及防的疫情流量洪峰,洋蔥都做了怎樣的努力、下足了哪些功夫呢?

線上教育業務的一個重要特點,就是波峰波谷比較規律,可預測。在學校下課或放假時期,業務會達到上升,洋蔥學院便會在數分鐘擴容雲上資源,待學生返校上課之時,再根據業務情況釋放資源,這樣持續保持較高的資源使用率,既節省成本又確定業務響應。

3年前,洋蔥學院開始嘗試微服務改造,将複雜的單體架構進行拆分和解耦。同時采用容器技術,并也将swarm遷移至阿裡雲容器服務ACK之上,原本每個子產品都對應一套ECS與SLB,但是随着微服務越拆越細,開始出現資源浪費的情況,而且排程複雜度都在迅速膨脹。容器服務可以根據不同子產品的配置所需,資源配置設定更加合理,按照定義規則自動彈性伸縮避免了複雜的排程維護。

全面上雲這條路,洋蔥學院已經走了近7年

容器的彈性

基本功夯實的基礎上,洋蔥學院還做了一些方案優化和更新。

延期開學的這段時間裡,廣大學生學習時間較為集中,面對大流量、高并發通路需求,洋蔥學院需要確定業務穩定性,采用阿裡雲容器服務與雲資料庫融合解決方案,在應用不變的情況下,快速平穩實作擴容的問題。阿裡雲容器服務可以在幾分鐘内擴充底層資源,滿足快速部署數千個應用執行個體的需求。阿裡雲容器服務團隊的建議下,洋蔥學院還進一步優化了整體的ECS伺服器配置,将大量的小規格ECS伺服器更換成30至50核大規格ECS,從容應對10倍擴容,同時運維管控更加便捷。

針對疫情延期開學,洋蔥學院作為頭部K12線上教育公司,免費向全國師生開放了平台的全部核心課程資源,這期間每天的學習通路人數持續飙升。使用雲容器之後,系統在資源使用率上提升了約60%,出現問題後可快速隔離,當面對急劇增長的業務量,也可以在短時間内擴容進行業務支撐。——李諾 洋蔥學院聯合創始人&CTO

全面上雲這條路,洋蔥學院已經走了近7年

資料庫的更新

為了確定平台使用起來“絲般順滑”,阿裡雲為洋蔥學院提供了綜合架構解決方案:資料庫層将雲資料庫Redis資料庫做高速緩存,RDS PostgreSQL+MongoDB做持久化存儲;應用層對微服務進行改造,以及容器化部署。這是完成挑戰的核心能力。

洋蔥學院還對冷使用者和冷熱資料做了優化:冷使用者,即第一次來的使用者資訊較少,此期間冷使用者過多,亟需優化冷使用者的流程處理,這需要提高高壓下的資料快速處理能力,處理變得更快;老師和學生的作業資料,會有冷熱資料之分,每隔一段時間進行資料遷移,但是熱資料增長過快,此前方案逐漸應接不暇。在阿裡雲雲資料專家的建議下,将冷使用者緩存增加,更新資料庫,對資料庫進行了分庫分表,還進行了一系列索引優化、語句改寫以及業務改造等工作。

在此次疫情中,洋蔥學院利用阿裡雲資料庫的極緻彈性、無縫更新擴容能力,一晚上便完成了幾十個核心資料庫的容量更新以及PG執行個體版本更新。單個雲Redis叢集可承載千萬級通路的超高性能,確定了即使流量數十倍增長也不會有業務瓶頸。同時,持久化存儲RDS PostgreSQL、MongoDB有更強的承載能力,不僅可以應對複雜查詢,還可做到極緻超強彈性水準擴充,全面保障了洋蔥學院的運作,在業務量比曆史同期翻了10倍的情況下仍然保持平穩。

故障檢測

此外,原本隻能依靠負載均衡的定時掃描錯誤節點,故障檢測存在一定時延;而Kubernetes自帶容災和錯誤發現機制,容器内部pod之間自動實作切換,大大縮短問題發現時間,同時基于阿裡雲雲監控、ARMS Prometheus、ARMS前端監控和日志服務,實作雲資源、容器叢集、容器節點、Pod等名額的完善監控,對叢集變更狀态、pod建立拉起删除、元件異常等資訊,基本可以覆寫到各種監控報警問題,将重大故障‘扼殺于搖籃之中’。

AI輔助教學,學生老師個性化“Friday”

全面上雲這條路,洋蔥學院已經走了近7年

看過複仇者聯盟的朋友們,都記得鋼鐵俠的AI助手Friday,每次關鍵時刻都協助鋼鐵俠力挽狂瀾。

洋蔥學院的APP,其實早已經成為很多學生和老師的AI助手Friday。2017年,洋蔥學院成立人工智能實驗室,并嘗試将AI賦能引入其教學體系。最主要的原因,是希望為學生們打造完整的學習閉環,産品能根據學生的學習現狀和效果,動态規劃學習路徑,推送個性化學習内容。

而老師則可以通過資料背景實時充分掌握班上每名學生的學習能力和知識掌握情況,為同班同學一鍵布置不同的教學任務。

用心做産品,以誠待客

全面上雲這條路,洋蔥學院已經走了近7年

洋蔥學院自成立之處,便決心搭建于雲上。在他們看來,自己研究開源方案或重新搭建系統,是"事倍功半"的,意味着巨大的運維負擔;是以,每當有新的業務需求時,洋蔥學院都會首先考慮能否使用雲上已有方案,他們相信阿裡雲服務的穩定性、專業性。

洋蔥學院将更多的人力和精力投入到了課程研發之中,打磨課程。如今,洋蔥的使用者遍布全國,深受師生和家長的喜愛,多達3600萬學生自發推薦,社科院白皮書顯示其教師推薦度和家長滿意度分别高達85%和90%。

洋蔥學院以匠人之心打造“ 雲 ”課堂,是一群踐行教育初心的夢想家和冒險家。