什么是Azure函數(shù)

來源: 百家號
作者:TechWeb
時間:2020-11-27
16617
Azure Functions是Microsoft的云計算平臺上提供的一項服務(wù)。它被分配給“功能即服務(wù)”服務(wù)模型,并且可以執(zhí)行單個功能或相互關(guān)聯(lián)的功能,而不必?fù)?dān)心基礎(chǔ)IT基礎(chǔ)架構(gòu)。

【TechWeb】Azure Functions是Microsoft的云計算平臺上提供的一項服務(wù)。它被分配給“功能即服務(wù)”服務(wù)模型,并且可以執(zhí)行單個功能或相互關(guān)聯(lián)的功能,而不必?fù)?dān)心基礎(chǔ)IT基礎(chǔ)架構(gòu)。

bd3eb13533fa828b6ef0a1d0c7a1e433960a5a73.jpeg

Azure Functions是Microsoft的云服務(wù)的名稱。它是在Microsoft的云計算平臺Azure上提供的,可以分配給“功能即服務(wù)(FaaS)”服務(wù)模型。功能即服務(wù)位于后端即服務(wù)(BaaS)和軟件即服務(wù)(SaaS)之間,是所謂的無服務(wù)器計算的一部分。

Azure Functions的主要目標(biāo)是通過消除程序員擔(dān)心底層IT基礎(chǔ)結(jié)構(gòu)的需要,來加速和簡化應(yīng)用程序的開發(fā)和部署??梢哉J(rèn)為業(yè)務(wù)邏輯之下的所有內(nèi)容都是理所當(dāng)然的,并由Microsoft通過云提供并根據(jù)需要進(jìn)行擴展。

各個功能是受事件控制的代碼元素。它們通過事件提供某些結(jié)果或觸發(fā)其他功能。這些功能可以組合并相互鏈接?;谖⒎?wù)的應(yīng)用程序是從全部功能及其連接創(chuàng)建的。

Azure Functions的其他典型應(yīng)用程序領(lǐng)域是處理大量數(shù)據(jù)或數(shù)據(jù)收集以及來自物聯(lián)網(wǎng)(IoT)的事件處理。Azure功能可以與其他Azure服務(wù)(例如Azure Cosmos DB,Azure移動應(yīng)用程序或Azure Service Bus)結(jié)合使用。他們與來自著名云提供商的其他FaaS產(chǎn)品競爭,例如Google Cloud Functions,IBM Cloud Functions,Oracle Cloud Fn或Webbtask.io和Hook.io。

無服務(wù)器計算和功能即服務(wù)(FaaS)的基礎(chǔ)為了更好地了解Azure功能,首先要了解有關(guān)無服務(wù)器計算和功能即服務(wù)(FaaS)服務(wù)模型的一些基本信息。可以在云計算中在服務(wù)模型后端即服務(wù)(BaaS)和軟件即服務(wù)(SaaS)之間對功能即服務(wù)進(jìn)行分類。它是所謂的無服務(wù)器計算概念的一部分。其背后的基本思想是使應(yīng)用程序的開發(fā)和提供與底層基礎(chǔ)結(jié)構(gòu)脫鉤。程序員僅需定義其功能并將其相互鏈接,而不必?fù)?dān)心服務(wù)器,網(wǎng)絡(luò),存儲,操作系統(tǒng),運行時環(huán)境,虛擬機或其他IT體系結(jié)構(gòu)組件。

功能或程序邏輯下面的所有內(nèi)容都可以假定為存在。云提供商負(fù)責(zé)基礎(chǔ)架構(gòu)的提供和操作。程序員創(chuàng)建功能代碼,將其上傳到云中,并定義觸發(fā)功能執(zhí)行的條件或事件。提供程序使資源可用于執(zhí)行代碼,并在執(zhí)行后再次釋放它們。FaaS的服務(wù)通常根據(jù)功能的執(zhí)行時間向客戶收費。這些函數(shù)本身是獨立的,并且是無狀態(tài)的。如果要保留持久狀態(tài)和數(shù)據(jù),則必須集成外部數(shù)據(jù)庫管理系統(tǒng)或文件系統(tǒng)。

Azure函數(shù)的主要特征Azure Functions的主要功能是可以使用云中提供的功能來實現(xiàn)無服務(wù)器應(yīng)用程序??捎糜诠δ艿木幊陶Z言是Java和JavaScript,Python,Powershell或C#等。Azure函數(shù)的其他特征是:

基于使用量的定價模型事件控制的功能觸發(fā),通過OAuth提供程序的身份驗證來保護(hù)HTTP事件觸發(fā)的功能,可以與Azure平臺的其他服務(wù)和SaaS產(chǎn)品結(jié)合使用,功能運行時可在GitHub上免費使用,使用持久函數(shù)映射狀態(tài)依賴項。Azure功能的成本您可以根據(jù)自己的需求選擇三種不同的Microsoft Azure功能收費標(biāo)準(zhǔn)。

這三個是:

1.基于使用情況的使用計劃:Azure平臺提供所有必需的資源并負(fù)責(zé)資源管理。資源會根據(jù)功能需求動態(tài)添加或刪除??蛻舾鶕?jù)其代碼的執(zhí)行時間付款。

2.應(yīng)用程序服務(wù)計劃:功能被視為網(wǎng)絡(luò)應(yīng)用程序??梢酝ㄟ^現(xiàn)有的應(yīng)用程序服務(wù)免費執(zhí)行功能。與消費計劃相比,可以更好地預(yù)先估算成本。

3.高級計劃:在高級計劃中,預(yù)先定義了用于執(zhí)行功能的可直接尋址實例的數(shù)量。Azure提供了用于執(zhí)行功能的所有其他資源。服務(wù)根據(jù)提供的實例計費。Azure功能的功能概念和組件與常規(guī)應(yīng)用程序相比,使用Azure函數(shù)和無服務(wù)器計算,創(chuàng)建的應(yīng)用程序部分不再通過函數(shù)調(diào)用鏈接,而是通過事件鏈接。功能的執(zhí)行可以由各種事件觸發(fā)??赡艿氖录抢鐐魅氲腍TTP請求,Azure Blob容器或Azure隊列中的更改或來自服務(wù)總線的消息。通過HTTP,也可以通過其他SaaS產(chǎn)品的任何事件來觸發(fā)觸發(fā)。

Azure Functions支持多種語言,例如Python,C#,Java,JavaScript,PHP等用于編程功能的語言??梢酝ㄟ^開源數(shù)據(jù)包管理器NuGet和JavaScript的Node Package Manager集成許多庫。Azure Functions使用Azure存儲來管理觸發(fā)器和執(zhí)行日志功能。這需要一個Azure存儲帳戶,該帳戶必須支持Azure Blob,隊列和表的存儲服務(wù)。

Azure函數(shù)的一個特殊功能是持久函數(shù)和持久實體。Azure Functions提供具有持久功能和持久實體的狀態(tài)服務(wù)。與正常功能相反,持久功能的運行時間長達(dá)數(shù)分鐘,數(shù)小時,數(shù)天或更長時間。即使從內(nèi)存中刪除了功能代碼,也將保留持久功能的狀態(tài)。

使用Azure功能的優(yōu)勢Azure函數(shù)和無服務(wù)器計算具有許多優(yōu)點,例如:

快速輕松地開發(fā)和部署應(yīng)用程序,通過事件控制的功能鏈接可以映射業(yè)務(wù)邏輯,開發(fā)人員不必?fù)?dān)心基礎(chǔ)IT基礎(chǔ)架構(gòu),服務(wù)計費是基于使用情況的,Azure云平臺會根據(jù)功能的資源要求自動擴展,函數(shù)運行時是開源的,可以在GitHub上免費使用;它是便攜式的,可以在任何地方運行,可以使用不同的編程語言簡單的編程模型可以與許多其他Azure服務(wù)和產(chǎn)品一起使用,廣泛的托管選項,具有調(diào)試,監(jiān)視和DevOps功能的強大開發(fā)環(huán)境,提供不同的定價模式。【TechWeb】

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于百家號,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多