開發與維運

Timing App的Serverless實踐案例

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 的技術 需求:極限彈性伸縮,應用生命週期靈活管理,完美支持主流微服務架構。
下圖是方案架構示意圖。
image.png

3、方案的關鍵優勢:

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

Leave a Reply

Your email address will not be published. Required fields are marked *