
首先簡單介紹下,我們是一個有趣、有態度的汽車新媒體分享平臺,我們有自己的 APP 和網站,目前服務超過 2 億的汽車消費者與汽車興趣用戶群體,為廣大汽車用戶提供專業原創出品的圖文、短視頻、視頻、直播、音頻等多元化泛汽車生活領域節目,針對汽車消費者選車、用車、玩車等核心需求,老司機會讓「新司機們」選得輕松、買得安心、玩得盡興,讓「新司機們」體驗樂趣,享受汽車生活,
我的團隊是老司機資料智能組,負責公司 AI、大資料、推薦、搜索系統等業務和對外網站業務,團隊成員包括演算法工程師、資料挖掘/分析工程師、前端工程師、后端開發工程師,隨著業務的快速增長,需求迭代、資源投入、運維壓力也隨之變得越來越緊迫,怎樣提升研發效能、保障業務快速上線,提升資源利用效率、降低成本開銷,減少運維的壓力、又能保障系統的可靠運轉,輕松應對流量洪峰,逐漸成為我們的重點訴求,
我們發現最近云計算領域非常火的一個技術方向 Serverless 有諸多優勢,不僅可以節省運維人力和時間消耗,縮短開發周期,提升效率,同時提供了可靠的管理后臺集成開發,測驗,上線,監控等一系列功能,保證服務拆分后各個服務之間達到自動解耦自治的效果,大大降低了生產環境的部署成本,同時容量巨大的彈性伸縮性能,非常適合應對流量洪峰場景,
針對專案開發、專案維護及現有服務的遷移成本等方面的調研之后,我們最終選擇了騰訊云 Serverless 技術,
我們主要在推薦系統和用戶畫像以及后端的相關業務上使用了 Serverless 技術方案,一些輕量級的服務根據 Serverless 的技術方案進行了部署; 部分機器學習演算法推理引擎分拆為演算法遷移和資料遷移同時部署,部分實時資料 pipeline 的消費端進行遷移部署,部分定時批任務分批次進行遷移部署,
使用 Serverless 的技術方案后,對開發人員來說幫助挺大的,首先,團隊協作模式帶來了巨大改變,Serverless 的服務由開發人員自己監控管理及部署,不需要和運維人員配合服務的管理部署,包括測驗/線上環境的服務更新,版本控制也更為輕松,極大地簡化應用從開發到部署和維護的整個程序,其次,解決了高并發的問題,服務的回應也是極快的,最后,對眾多微服務進行統一管理和調度,輕松實作服務解耦、抽象、可重用、服務自動發現和服務自治,例如:版本控制、流量控制、測驗/預發布/發布環境、日志記錄、監控、告警等一系列服務支持,讓開發人員在專案中無論是開發還是日常管理,都起了極大的作用,
當然,和其他新技術的應用一樣,Serverless 的技術方案也有一些可以優化的空間,比如:
- 開發人員需要修改設計去適應它,對熟悉的編程模型進行調整,
- 開發人員需要解決諸如規劃預算、安全的問題,比如在彈性伸縮時對預啟動服務時間比較久的服務不是很友好,
- 服務運行最大記憶體也限制了一些服務運用 Serverless,
- Serverless 內部引起的錯誤告警可以更加完善,可以在發生錯誤的第一時間告知使用者,目前我們只能根據服務介面回應時長去預防,但無法解決根本性問題,
希望未來在使用 Serverless 的時候能給使用者在各個方面有更多的選擇,
對于還未開始 Serverless 的技術方案團隊,我推薦可以將部分輕量化服務遷移到Serverless 進行部署的,待熟悉 Serverless 的整套流程后根據遷移成本以及應用場景去考慮是否大量的使用,當然,無論是否會在業務中使用,Serverless 的技術都是值得去學習研究的,
推薦學習騰訊云 Serverless 官方檔案:
- https://cloud.tencent.com/document/product/1154
- https://cloud.tencent.com/document/product/583
One More Thing
3 秒你能做什么?喝一口水,看一封郵件,還是 —— 部署一個完整的 Serverless 應用?
復制鏈接至 PC 瀏覽器訪問:https://serverless.cloud.tencent.com/deploy/express
3 秒極速部署,立即體驗史上最快的 Serverless HTTP 實戰開發!
傳送門:
- GitHub: github.com/serverless
- 官網:serverless.com
歡迎訪問:Serverless 中文網,您可以在 最佳實踐 里體驗更多關于 Serverless 應用的開發!
推薦閱讀:《Serverless 架構:從原理、設計到專案實戰》
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/2243.html
標籤:其他
