1、背景和挑戰:
作為廣受好評的學習應用,Timing App 專注于幫助社群使用者提升學習凝聚力,達成學習目标。目前已有超過 700 萬人通過 Timing 進行高效學習。與傳統線上學習應用不同,Timing app 提供了 Timing 自習室、圖書館學習、 視訊打卡、學習日記、契約群、學習服務等多類具有社交性質的線上教育服務,幫助使用者找到自己的學習節奏,找到 堅持學習的一萬種理由。Timing 業務本身具有潮汐特性,使用者通路主要集中在晚間和節假日。受疫情影響,春節期 間峰值流量暴增 4 倍,公司面臨較大的運維成本壓力。在使用者、流量爆發式增長背景下,Timing App 不得不直面以 下四大痛點:
(1)系統穩定性差。原有 PHP 單應用架構系統無法做到線性快速擴容,在業務高峰時段,系統問題頻繁發生,嚴 重影響使用者體驗。
(2)産品疊代緩慢。随着業務的高速發展,原有單體架構對于産品的疊代力不從心,沒法快速響應研發需求。
(3)資源使用浪費。由于業務具有非常強的流量潮夕特征,需要按照業務高峰階段進行資源保有配置,造成資源 的浪費。
(4)技術成本昂貴。以前的團隊除了技術負責人及少數團隊新成員外,基本缺乏微服務架構實戰經驗。想要實作 微服務改造,急需能夠快速上手的平台支撐,需要最大限度降低底層 IaaS, 容器以及常用微服務套件的學習 成本。
2、雲原生解決方案:
阿裡雲應用引擎 Serverless(SAE),基于 Serverless 架構,屏蔽了底層 IaaS 運維和 K8s 細節,差別 于 FaaS 形态的 Serverless 産品,使用者無需修改程式設計模型,零代碼改造就能直接使用。同時,完美結合 Spring Cloud/Duboo 等微服務架構,提供應用釋出、管理和服務治理等應用全生命周期的服務,完美貼合 Timing 的技術 需求:極限彈性伸縮,應用生命周期靈活管理,完美支援主流微服務架構。
下圖是方案架構示意圖。

3、方案的關鍵優勢:
(1)利用彈性伸縮,應對不确定突發流量。提供秒級自動彈性 & 定時彈性能力,幫助應用輕松應對大促峰值流量, 保證 SLA 的同時也節省機器保有成本。多适用于網際網路、遊戲、線上教育行業。 應用環境随需靈活啟停,節約成本。提供了一鍵啟停開發測試環境的能力,即開即用,節省成本,友善運維。 适用于對成本敏感、雲上有多套環境但部分環境閑置率較高的企業型客戶(不限行業)。
(2)中小企業快速建構雲上微服務應用。幫助使用者屏蔽底層 IaaS 購買和運維細節、底層 K8s 細節,低門檻部署 微服務應用。适用于初創型 / 上升期的公司(不限行業),業務增長很快,對增長有較高預期,但人員配置 跟不上。
(3)整體技術架構更為清晰,每個服務互相獨立且職責明确。加之阿裡雲應用引擎 Serverless (SAE)加持, 讓客戶隻關注在業務層,做好産品。
