
作者 | 山獵
近年來,Serverless 一直在高速發展,并呈現出越來越大的影響力。主流的雲服務商也在不斷地豐富雲産品體系,提供更好的開發工具,更高效的應用傳遞流水線,更好的可觀測性,更細膩的産品間內建,但一切才剛剛開始。
國内一些大公司已經有了一些成熟的 Serverless 應用案例,一些創業公司也開始加入 Serverless 陣營,如果說Serverless 到底解決了什麼問題,核心就是節約成本、節省精力。
藍墨是一家由美國留學生回國創業的高科技公司,專注于移動互聯時代數字出版和移動學習領域的新技術研究及平台營運,依托自主研發的藍墨移動互動式數字教材核心技術體系,為出版社、學校和教師提供移動互動式數字教材、校園移動學習平台及教師自助數字出版等解決方案。
自 2012 年成立以來,藍墨的技術團隊對于一些開放的新技術抱有極大的熱情,并願意應用快速疊代的網際網路新技術,來確定其業務系統穩定運作。2020 年初,疫情期間,線上教育迎來需求爆發。為了應對高流量,藍墨加大了整合業界優質課程資源的力度,不斷拓展自身的業務邊界,在赢得機遇的同時,技術團隊也面臨了前所未有的挑戰。
面臨挑戰
作為教學平台,藍墨每天要處理大量視訊教材資源,涉及到視訊剪輯、切分、組合、轉碼、分辨率調整、用戶端适配等一系列複雜的技術工作,視訊處理相關業務是藍墨的技術團隊面臨的最大挑戰之一。通過幾年的技術實踐,藍墨技術團隊通過 FFmpeg 等技術已經建立起一整套自主可控視訊處理機制,支撐了業務的快速發展。但今年的業務增長速度讓藍墨的技術團隊始料未及,高峰期數十倍于往年的視訊處理需求讓現有的架構不堪重負,嚴重影響了使用者體驗。
高峰需求量難規劃,水準擴容難走通
面對挑戰,最初藍墨技術團隊希望通過水準擴容解決問題,但在全天範圍内,視訊處理的需求量存在極為陡峭的波峰波谷,大量的任務發生在幾個高峰時間段,而且具有一定程度上的突發性。如果按照最高峰期的需求量來規劃系統容量,會造成計算資源的大量浪費,而且最高峰期的需求量到底是多少,也是很難預判的。如果采用錯峰處理的方式,可以降低計算資源成本,但對于使用者的需求得不到及時的處理。水準擴容方案是以被放棄。
自身業務邏輯要求,難以使用第三方的視訊轉碼服務
還有一種解決方案是直接使用雲廠商提供的視訊轉碼服務,類似于 BaaS 的方式。采用這樣的方案的優勢是,可以完全不用考慮容量規劃的問題,根據實際業務量按需調用雲服務即可。但藍墨的視訊處理機制做得非常精細,包含着大量自定義的業務邏輯,需要使用代碼來實作,第三方的視訊轉碼服務根本無法滿足要求。
解決方案
推倒重來!藍墨現在的核心訴求概括有三個:節省成本、極緻彈性、免運維,而這些恰恰是 Serverless 最擅長解決的問題。經過對國内雲廠商提供的 Serverless 服務的多方面調研後,藍墨技術團隊一緻認為在視訊處理領域阿裡雲函數計算是最适合他們的方案。
阿裡雲函數計算(Function Compute,簡稱 FC)是一個事件驅動的全托管 Serverless 計算服務,對于使用者而言,無需管理伺服器等基礎設施,隻需編寫代碼并上傳,函數計算會準備好計算資源,并以彈性、可靠的方式運作代碼。由于阿裡雲函數計算完全相容現有的代碼邏輯,也能夠支援各類主流的開發語言,是以藍墨技術團隊可以把代碼邏輯以近乎無縫銜接的方式從原有的架構遷移到阿裡雲函數計算上,并且成本極低。通過對接 OSS 觸發器,隻要 OSS 上有新的視訊源檔案上傳,就能自動拉起函數計算執行個體,開啟一次視訊處理業務的生命周期。通過整合 Serverless 工作流,還能對分布式任務進行統一編排,實作對于大檔案切片後進行并行處理并最終合并的複雜操作,更進一步的提升了處理效率。
對于藍墨的技術團隊而言,函數計算是一種完全按需調用的 Serverless 化方案,能夠充分利用雲計算的彈性能力。
- 一方面,阿裡雲函數計算能夠在短時間内迅速調集上萬個執行個體的計算資源,實作視訊處理任務的快速執行;
- 另一方面,由于不需要預留計算資源,也不需要對底層的軟硬體進行維護,可以極大地降低營運成本,讓藍墨技術團隊更專注于複雜業務邏輯的實作上。
相比于傳統的方式,基于阿裡雲函數計算的 Serverless 方案在視訊處理場景下,幫助藍墨節省了 60% 左右的 IT 成本投入。
在享受到函數計算所帶來的巨大價值後,藍墨也積極在視訊處理之外的其他業務領域探索可以進行 Serverless 化改造的場景,并成功落地了阿裡雲函數計算和日志服務的內建,當日志以流的方式源源不斷寫入時,日志服務會自動觸發函數計算對資料進行處理,分析日志中的重要資訊,實作異常事件的報警,并按照業務規則把日志進行壓縮、轉換後存放到其他媒介中。函數計算內建了大量的阿裡雲服務如 OSS、OTS、MNS、CDN 等,也支援被其它雲服務內建,其獨特的 callback機制幫助藍墨串聯起 OSS、SLS 等存儲服務,符合開發者的編寫習慣,無需為異步回調浪費大量的設計和容災。
藍墨技術團隊負責人表示,将來藍墨會将更多場景與阿裡雲函數計算進行整合,充分享受雲原生的技術紅利,提升整個團隊的戰鬥力。而阿裡雲也将一直與使用者站在一起,打赢接下來每一場漂亮的戰鬥!
阿裡雲函數計算
阿裡雲是國内最早一批推出 Serverless 計算服務的企業,函數計算(Function as a Service)更是 Serverless 中最具代表性的産品形态。可以說,藍墨并不是第一家享受到函數計算 FC 巨大價值的企業,新浪微網誌、石墨文檔、芒果TV等都是函數計算的擁趸者。前不久,在2020可信雲線上峰會上,阿裡雲函數計算FC通過了基礎能力要求、平台可觀測能力、服務性能、服務和服務計量準确等21項測試,以全部滿分的成績通過了可信雲函數即服務能力認證。此前,在 Forrester 釋出的報告中,阿裡雲函數計算被給予“強勁表現者”的評價。
除了拓展更加豐富的産品形态,阿裡雲函數計算也不斷優化使用者體驗,包括做了硬碟挂載、預留執行個體、鏡像加速、大規模執行個體等業内領先的實踐,真正把使用者需求放在首位,沉下心來做對使用者更有價值的産品。
課程推薦
為了更多開發者能夠享受到 Serverless 帶來的紅利,這一次,我們集結了 10+ 位阿裡巴巴 Serverless 領域技術專家,打造出最适合開發者入門的 Serverless 公開課,讓你即學即用,輕松擁抱雲計算的新範式——Serverless。
點選即可免費觀看課程:
https://developer.aliyun.com/learning/roadmap/serverless“Serverless 公衆号,釋出 Serverless 技術最新資訊,彙集 Serverless 技術最全内容,定期舉辦 Serverless 活動與直播以及使用者最佳實踐釋出。關注 Serverless 趨勢,更關注你在落地實踐中遇到的困惑和問題。”