回覆列表
-
1 # Aceyclee
-
2 # 猿宵
無伺服器架構的使用範圍是很廣闊的,它的優點在於,應用在小型任務和大型任務中很可能是一樣的,我們可以使用無伺服器架構構建整個系統,或建立獨立的元件,或者執行細粒度的任務。無伺服器器不僅僅是諸如Lambda這樣的執行程式碼的服務,它還涉及使用第三方服務和API減少你必須完成的工作量
下面簡單列舉一下無伺服器的應用場景
1. 做應用程式的後端
無伺服器技術適用於為各種Web 移動以及桌面應用構建可擴充套件的後端
2.資料處理與操作
無伺服器技術常見的用途是資料處理、轉換、操作和轉碼,例如使用Lambda函式來處理CSV,JSON,XML,調整影象尺寸及格式轉換
3. 實時分析
如使用Lambda對流資料中的新記錄做出反應,
快速的處理、儲存或丟棄
4.遺留API代理
可以使用API Gateway和lambda在遺留API和服務上建立新的API層,是它易於使用
5.計劃任務
類似於LINUX上的定時任務
6.自動化任務
建立自動化的機器人,響應命令,傳送報告和通知等
備註 上述敘述中出現的Lambda及API Getaway均為AWS提供的服務
Serverless 架構或者技術,可以用在什麼樣的場景下,來充分發揮它的優勢呢?如下的場景,都適合使用 Serverless 架構或產品,來實現所需的業務邏輯。
1. WEB 及移動後端
透過結合使用雲函式和 API 閘道器或 HTTP 觸發器,可以對外提供 URL 訪問地址,成為 Web、小程式、或移動應用等的後端服務。Serverless 架構既可以直接用於構建後臺來服務應用,也可以透過類似 BFF 模式,構建中臺和應用間的橋樑。
Serverless 架構提供的強彈效能力,使得可以支撐業務或應用的暴漲;而提供的低運維需求,使得開發者可以專注於業務實現和最佳化;同時,按實際使用量的付費方式,使得開發者無需預配置資源,無需擔心預配置資源的浪費。
2. 訊息處理
Serverles 架構的應用本身是由事件觸發的,因此極其適合於進行訊息處理。無論是訊息佇列中傳遞的業務訊息,還是 Kafka 中採集應用日誌,均可以對接到雲函式上,進行實時的訊息處理、分析。
3. 物件儲存檔案處理
在 Serverless 應用場景中,由物件儲存中的檔案上傳事件,來觸發雲函式的執行,也是一種常見場景。
4. 物聯網
物聯網意味著成千上萬的裝置會連入網路,時刻在不斷的產生資料,這對資料的分析、處理的及時性提出了很高的挑戰。透過使用 Serverless 架構,物聯網裝置所採集的資料將可以作為雲函式的觸發事件,而實現資料的實時處理、分析和應用。
隨著物聯網裝置計算能力的進一步提升,雲函式作為最小粒度的計算單元,有機會被排程到裝置端執行,實現邊緣計算,達到「端 - 雲」聯合的 Serverless 架構。
5. 運維及整合
透過對接雲函式以及雲上的各個產品、日誌服務、監控告警系統,雲時代的運維也都可以用雲函式來構建。定時觸發的雲函式,將可以方便地替代需要在主機上來執行的定時任務;而日誌或告警觸發的雲函式,將可以對雲中的事件作出立刻迴應及處理。