- Serverless從入門到進階:架構、原理與實踐
- 方坤丁 孫遠高
- 711字
- 2021-06-24 11:19:06
1.4 Serverless的應用場景
Serverless.com公司在2019年的一份調研報告表明,Serverless當前的典型使用場景可以歸納為以下幾種。
1. RESTful & GraphQL API
調研表明,RESTful API的Serverless應用場景占比高達70%,REST(Representational State Transfer,表現層狀態轉移)的主要作用是為HTTP API提供通用的訪問格式和規范,讓其更易理解,更加通用。由于API的增刪改查(CRUD)操作是通過觸發實現的,和Serverless架構的實現天然匹配,并且適用于彈性擴縮容,因此很多企業通過Serverless架構提供RESTful API服務。
2. Web框架支持
因為Serverless具備彈性擴縮容的特性,所以也適合搭建Web框架提供服務。不同開發語言的Web框架都可以支持Serverless部署,例如Python Flask、Node Express.js、 Next.js、PHP Laravel等。但由于Serverless FaaS層事件觸發、無狀態的特性,針對Web框架的支持需要一定的適配成本,可以通過中間層來實現,這部分內容在后續章節的實戰中也會詳細說明。
3. 數據管道——流數據處理
在流式消息處理的架構中,如果要對流數據做一些分析和處理,可以采用Serverless架構。通過隊列中的消息/日志等觸發函數的計算平臺,對數據進行處理后再次投遞到后端做備份存儲和離線分析,Serverless的計算節點可以很好地根據數據量大小擴縮容,并且無須考慮節點的運維。
4. CI/CD流程自動化
持續集成(CI)和持續部署(CD)是DevOps的核心概念,利用CI/CD流水線可以很好地實現測試/發布自動化,降低錯誤率,提升軟件開發效率。而Serverless通過事件觸發能力,可以完整串聯構建、測試、部署的流程,實現自動化的CI/CD流水線。
5. 物聯網
物聯網具備事件觸發的特性,Serverless非常適合作為物聯網設備后端,處理物聯網設備的消息,例如智能音箱觸發語音指令、攝像頭圖片的處理和轉儲等。
從上述場景也可以看出,這些典型應用都充分利用了Serverless架構的優勢和特點,即彈性伸縮、事件觸發、無狀態等。后續的章節會對Serverless架構做進一步解析,通過實戰案例幫助讀者更好地理解這些典型的應用場景。
- CMDB分步構建指南
- 深度學習經典案例解析:基于MATLAB
- Oracle Database In-Memory(架構與實踐)
- Vue.js快跑:構建觸手可及的高性能Web應用
- 新編Premiere Pro CC從入門到精通
- Building Minecraft Server Modifications
- 小程序開發原理與實戰
- Kotlin編程實戰:創建優雅、富于表現力和高性能的JVM與Android應用程序
- GitHub入門與實踐
- QlikView Unlocked
- TypeScript圖形渲染實戰:2D架構設計與實現
- 透視C#核心技術:系統架構及移動端開發
- ANSYS FLUENT 16.0超級學習手冊
- Learning iOS Penetration Testing
- Practical XMPP