什么是 Azure 無服務器/函數?
Azure Functions 是一種按需提供的云服務,可提供運行應用程序所需的所有基礎設施和資源,為 Azure 提供無服務器計算,用戶無需管理服務器或計算資源,節省成本。無服務器函數可以提高應用程序的性能以及開發人員和客戶的體驗。
優勢
更容易在 Azure 環境中編寫和部署。
無需擔心服務器基礎設施、運行時等。
具有高度可擴展性。當需求增加時,將自動分配所需的資源,當需求下降時,額外的資源將自動減少。
非常輕量級且無服務器。
基于事件觸發功能。
由不同的 Azure 安全服務(如 Azure 活動目錄)支持。
執行起來很快,因為在執行代碼之前不需要使用大型應用、啟動時間、初始化和其他事件。
支持多種編程語言,包括 C#、F#、Java、JavaScript、TypeScript 和 Python。
可以使用瀏覽器在 Azure 門戶中構建、測試和部署。
使用Visual Studio,開發人員可以使用 Azure 存儲模擬器在本地測試。
無服務器函數架構
無服務器架構將代碼與其托管環境分開,允許用戶定義調用函數的觸發器,可以是手動的,也可以是自動的。執行的結果就是代碼的執行。此外,大多數無服務器平臺都提供對預定義API和綁定的訪問,以簡化數據庫寫入或對結果進行排隊等任務。
WebJobs Core 為函數提供了一個執行上下文和執行函數的平臺。Language Runtime負責運行腳本、執行庫和托管目標語言的框架。例如,Node.js 用于運行 JavaScript 函數,.NET Framework 用于運行 C# 函數。
無服務器架構模式
1. 用于 Web 應用程序和移動設備 零售場景的Web 應用程序后端用于從隊列中提取在線訂單并處理。結果數據存儲在數據庫中。
例子:
數據可以映射到 Cosmos DB 或保存到 Blob 存儲,具體取決于數據是結構化的還是非結構化的。 2. 文件的實時處理和批處理 實時文件處理,如生成即時發票和連續計算收入。可以使用OCR檢測對文件進行處理,并將其添加到數據庫中以便于查詢。
例子:
3.實時流處理獨立軟件供應商(ISV)場景 一種近乎實時的數據,比如由“空氣質量傳感器”生成的數據,用于確定空氣質量類別。
例子:
Serverless 架構并不適合所有用例,在某些情況下它可能并不合適。
共享代碼/邏輯
分布式Monoliths
復雜加工
無服務器大數據 ETL 管道
長處理任務
異步調用
結 論
Microsoft Azure 提供多種無服務器服務,可幫助客戶快速構建應用程序。Azure Functions 在構建、測試和部署低延遲應用程序方面發揮著關鍵作用。Azure 具有高可擴展性和可用性。在不涉及任何 Web 服務器的情況下直接在 Azure Blob 存儲上托管單頁應用程序是很容易的。成本控制(PAAS)的主要好處是,與物理托管在數據中的服務器相比,可以緩慢地交付服務。Azure Functions、SQL 和邏輯應用是用于設計容錯應用程序的最常見且使用率最高的無服務器服務。
審核編輯:湯梓紅
-
函數
+關注
關注
3文章
4331瀏覽量
62622 -
Azure
+關注
關注
1文章
123瀏覽量
12781 -
無服務器
+關注
關注
0文章
16瀏覽量
4071
原文標題:初探 Azure 無服務器架構
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論