無服務器計算簡介

2022-10-08    分類: 網(wǎng)站建設

無服務器計算,盡管它的名字,需要服務器——但它確實將開發(fā)人員和IT工程師從管理服務器硬件中解放出來,并允許應用程序按需運行,使其成為某些用例的理想方法。

無服務器計算是一種應用程序部署范例,它允許應用程序按需運行,僅消耗執(zhí)行它們所需的資源。相比之下,在傳統(tǒng)計算模型中,應用程序不斷運行(并消耗資源),即使它們不處理用戶請求也是如此。

無服務器計算簡介

使用無服務器計算策略部署的應用程序通常稱為無服務器功能。公共云供應商提供用于執(zhí)行無服務器功能的服務,例如AWSLambda和AzureFunctions。開發(fā)人員還可以使用開源無服務器計算引擎OpenFaaS和Knative等平臺在基于云的或本地基礎設施上自行設置無服務器環(huán)境。

術語“無服務器計算”——有時也稱為事件驅(qū)動計算——有點誤導,因為無服務器功能需要服務器運行。但是,服務器資源在“幕后”進行管理,每個無服務器功能都由無服務器編排引擎按需執(zhí)行。因此,盡管無服務器計算環(huán)境依賴于底層物理服務器,但部署無服務器功能的開發(fā)人員或IT工程師無需管理服務器硬件或操作系統(tǒng)環(huán)境。

無服務器計算如何工作?

開發(fā)人員和IT工程師通常首先將無服務器功能部署到無服務器計算環(huán)境中——這同樣可以是基于云的服務或他們自己配置和管理的環(huán)境。這些功能本身可以是完整的應用程序,也可以是應用程序組件,例如執(zhí)行特定類型功能所需的代碼,例如調(diào)整圖像大小或掃描數(shù)據(jù)庫。

接下來,團隊設置確定功能何時執(zhí)行的條件。例如,開發(fā)人員可以將無服務器功能配置為在另一個應用程序請求時執(zhí)行。

從那里,無服務器計算環(huán)境在滿足預配置條件時自動執(zhí)行功能。除了存儲函數(shù)代碼所需的磁盤空間(通常是最小的)之外,這些函數(shù)除非正在運行,否則不會消耗任何資源。(無服務器環(huán)境可能會緩存一些資源以保持無服務器功能“溫暖”,以防它們在短時間內(nèi)被重復調(diào)用,但為此目的分配的資源不如運行傳統(tǒng)應用程序所需的資源多。)

無服務器計算的好處是什么?

無服務器計算提供了兩個關鍵優(yōu)勢:簡化的應用程序管理和更有效的資源消耗——這反過來又轉(zhuǎn)化為更低的成本。

(1) 簡化的應用程序管理

由于無服務器計算將應用程序從底層服務器和操作系統(tǒng)中抽象出來,因此無服務器功能更易于部署和管理。開發(fā)人員和IT工程師無需擔心為服務器配置操作系統(tǒng)、安裝傳統(tǒng)意義上的應用程序或配置運行傳統(tǒng)操作系統(tǒng)環(huán)境所需的各種資源(如用戶帳戶、文件系統(tǒng)和軟件庫).

相反,無服務器計算使他們能夠?qū)W⒂谒麄兊拇a,而不是托管它的環(huán)境。

(2) 資源和成本效率

由于無服務器功能僅在主動處理請求時消耗資源,因此它們比持續(xù)運行的傳統(tǒng)應用程序更高效,即使它們沒有被使用。

這種效率意味著更多的無服務器功能可以托管在單個服務器上,假設這些功能不會同時執(zhí)行。這也意味著通過無服務器功能部署應用程序(或應用程序組件)的成本通常較低,尤其是在處理計算或內(nèi)存密集型應用程序時。

對于傳統(tǒng)應用程序,組織會持續(xù)為應用程序在需求高峰時期可能需要的計算和內(nèi)存資源付費,即使它不會一直使用所有這些資源。(配置資源的自動擴展策略可能會在一定程度上減少這種浪費,但不是完全。)相比之下,對于無服務器功能,企業(yè)只需為這些功能消耗的資源付費。不會在分配給應用程序但實際上未被應用程序使用的資源上浪費金錢。

無服務器計算的缺點是什么?

盡管無服務器計算對于部署某些類型的應用程序(尤其是資源密集型應用程序)是一種有用的策略,但并非在所有情況下都是正確的方法,因為使用它存在許多缺點和限制。

(1) 平臺依賴

迄今為止,圍繞無服務器計算的標準化相對較少。每個無服務器云服務或平臺都需要以不同的方式構(gòu)建、部署和管理無服務器功能。

出于這個原因,無服務器功能往往依賴于平臺,如果不對您的功能和用于管理它們的規(guī)則進行重大更改,就很難從一個無服務器計算環(huán)境轉(zhuǎn)移到另一個無服務器計算環(huán)境。

(2) 能見度有限

由于無服務器計算從使用無服務器環(huán)境的團隊中抽象出服務器和操作系統(tǒng),因此調(diào)試功能可能會更加困難。雖然大多數(shù)無服務器平臺提供某種形式的日志記錄,但通常您無法檢查完整的操作系統(tǒng)日志或跟蹤整個托管堆棧的請求來解決問題。您受限于無服務器環(huán)境支持的可見性級別。

(3) 安全挑戰(zhàn)

使用無服務器計算本質(zhì)上沒有任何不安全之處。但是,在某些方面,無服務器環(huán)境可能更難以保護。缺乏對主機環(huán)境的完全控制意味著您無法利用在操作系統(tǒng)級別運行的安全工具或監(jiān)控。您還受限于無服務器環(huán)境支持的任何訪問控制工具。大多數(shù)無服務器功能在共享服務器上運行,這意味著您無法將您的功能與其他團隊或組織的功能隔離,以降低其他用戶功能中的安全問題影響您的風險。

(4) 成本

雖然無服務器計算是在只需要定期執(zhí)行的資源密集型操作上節(jié)省資金的好方法,但在無服務器環(huán)境中消耗的資源通常比通過傳統(tǒng)應用程序托管(至少在云中)消耗的資源成本更高。換句話說,與在VM中運行相同代碼相同的時間相比,按單位計算,您將為無服務器函數(shù)消耗的計算和內(nèi)存支付更多費用。

無服務器計算示例

無服務器計算并非適用于每個用例的正確方法,但無服務器功能已成功部署在各種常見設置中。

(1) 數(shù)據(jù)分析

解析和分析大量數(shù)據(jù)往往需要大量的計算資源。這使得數(shù)據(jù)分析成為無服務器計算的一個很好的用例,特別是當分析只需要定期執(zhí)行時。

例如,如果您的應用程序需要每小時分析一次數(shù)據(jù)庫,您可以在無服務器環(huán)境中運行分析功能。這樣,您無需為必需的計算資源付費,除非它們被積極使用。

(2) CI/CD操作

使用CI/CD架構(gòu)的軟件交付管道中的某些操作也可以使用無服務器功能來執(zhí)行。例如,通常需要大量計算資源且僅定期發(fā)生的應用程序構(gòu)建可以使用無服務器功能執(zhí)行,以提高整個CI/CD管道的資源效率。

(3) 文件轉(zhuǎn)換

文件轉(zhuǎn)換是無服務器函數(shù)如何在現(xiàn)實世界中使用的另一個很好的例子。如果應用程序需要重新格式化用戶上傳的文件或從一種格式(如WordDoc)轉(zhuǎn)換為另一種格式(如PDF),無服務器功能是按需執(zhí)行操作的好方法,而無需專門持續(xù)運行的進程到它。

(4) 日志聚合和重組

如果您有一個定期收集和/或重組大量日志文件的應用程序,無服務器功能是完成這項工作的明智方法。您將能夠在必要時執(zhí)行計算密集型日志聚合和重新格式化,而無需為任務分配超過所需的資源。

(5) 動態(tài)網(wǎng)站生成

可以在無服務器功能的幫助下托管嚴重依賴自定義、動態(tài)生成內(nèi)容的網(wǎng)站。在此用例中,無服務器功能將在用戶請求時運行生成動態(tài)內(nèi)容所需的操作。

概括

無服務器計算是一種強大的技術,可以在節(jié)省資金的同時簡化應用程序部署。然而,由于平臺鎖定和有限控制等限制,重要的是通過堅持使用無服務器有意義的用例來戰(zhàn)略性地使用無服務器功能。

當前標題:無服務器計算簡介
網(wǎng)址分享:http://bm7419.com/news/203641.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、用戶體驗、網(wǎng)頁設計公司、網(wǎng)站維護網(wǎng)站排名、靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設