無(wú)服務(wù)器架構(gòu)的發(fā)展與應(yīng)用
作者:Lisa Morgan 2019-07-02 10:55:21
云計(jì)算 無(wú)服務(wù)器架構(gòu),通常被稱為“無(wú)服務(wù)器計(jì)算”,但并不像其名稱所暗示的那樣完全沒(méi)有服務(wù)器。無(wú)服務(wù)器架構(gòu)是一種基于應(yīng)用的云計(jì)算服務(wù),其中由云計(jì)算提供商管理服務(wù)器,提供更高的效率和潛在的成本節(jié)約。對(duì)于大多數(shù)云計(jì)算用戶來(lái)說(shuō),這更容易和有效。

創(chuàng)新互聯(lián)專注于石拐網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供石拐營(yíng)銷型網(wǎng)站建設(shè),石拐網(wǎng)站制作、石拐網(wǎng)頁(yè)設(shè)計(jì)、石拐網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造石拐網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供石拐網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
無(wú)服務(wù)器架構(gòu),通常被稱為“無(wú)服務(wù)器計(jì)算”,但并不像其名稱所暗示的那樣完全沒(méi)有服務(wù)器。無(wú)服務(wù)器架構(gòu)是一種基于應(yīng)用的云計(jì)算服務(wù),其中由云計(jì)算提供商管理服務(wù)器,提供更高的效率和潛在的成本節(jié)約。對(duì)于大多數(shù)云計(jì)算用戶來(lái)說(shuō),這更容易和有效。
無(wú)服務(wù)器也稱為功能即服務(wù)(FaaS),無(wú)需存儲(chǔ)數(shù)據(jù)即可執(zhí)行應(yīng)用程序邏輯。利用FaaS的開(kāi)發(fā)人員仍然需要編寫(xiě)服務(wù)器端邏輯,但它運(yùn)行在短暫的無(wú)狀態(tài)容器中??蛻舳藨?yīng)用程序(包括移動(dòng)應(yīng)用程序)可利用基于云計(jì)算的基礎(chǔ)設(shè)施后端即服務(wù)(BaaS)。
“無(wú)服務(wù)器”一詞的使用可以追溯到2012年。而AWS公司在2014年推出了Lambda(公共云供應(yīng)商提供的第一個(gè)無(wú)服務(wù)器計(jì)算產(chǎn)品),加速了該術(shù)語(yǔ)的主流使用。2016年,谷歌云推出Google Cloud Functions,Microsoft Azure推出了Azure Functions,IBM Cloud推出了IBM Functions,而OpenWhisk開(kāi)源項(xiàng)目則首次亮相。
無(wú)服務(wù)器有時(shí)會(huì)與云計(jì)算的平臺(tái)即服務(wù)(PaaS)混淆。后端即服務(wù)(BaaS)和功能即服務(wù)(FaaS)都是云計(jì)算提供商提供的服務(wù)選項(xiàng),但功能即服務(wù)(FaaS)在幾個(gè)重要方面與平臺(tái)即服務(wù)(PaaS)不同。例如,功能即服務(wù)(FaaS)會(huì)自動(dòng)擴(kuò)展,但平臺(tái)即服務(wù)(PaaS)則不能。此外,功能即服務(wù)(FaaS)可以使整個(gè)應(yīng)用程序上下移動(dòng),而平臺(tái)即服務(wù)(PaaS)并沒(méi)有這樣的專門設(shè)計(jì)。
無(wú)服務(wù)器架構(gòu)使用了大量的應(yīng)用程序粒度;它適用于當(dāng)今的微服務(wù)世界,而不是早期的單片架構(gòu)。
無(wú)服務(wù)器示例
- 照片應(yīng)用的用戶可以在選擇照片時(shí)自動(dòng)調(diào)整大小。照片將發(fā)送到Amazon S3存儲(chǔ)桶,該存儲(chǔ)桶使用無(wú)服務(wù)器來(lái)觸發(fā)相應(yīng)的Lambda功能。其輸出是用戶選擇的照片大小。
- 應(yīng)用內(nèi)游戲開(kāi)發(fā)者希望能夠使其購(gòu)買變得不再繁瑣,因?yàn)閼?yīng)用評(píng)論受到了影響。玩家現(xiàn)在可以將鼠標(biāo)懸停在他們想要購(gòu)買的產(chǎn)品上。例如玩家將鼠標(biāo)懸停在“Neo太陽(yáng)鏡”上,通過(guò)API網(wǎng)關(guān)觸發(fā)虛擬產(chǎn)品和購(gòu)買功能。每個(gè)無(wú)服務(wù)器功能都使用一個(gè)數(shù)據(jù)庫(kù)。幾秒鐘之內(nèi),所選的角色就戴上了太陽(yáng)鏡,因?yàn)楝F(xiàn)在角色就擁有太陽(yáng)鏡,它可能會(huì)被隨意移除或重新戴上。
無(wú)服務(wù)器用例
- Web應(yīng)用程序
- 異步消息處理。例如,應(yīng)用程序的用戶界面(UI)響應(yīng)時(shí)間和準(zhǔn)確的交易歷史記錄都很重要
- 需要自動(dòng)擴(kuò)展功能的聊天機(jī)器人
- 大規(guī)模流處理
- 移動(dòng)應(yīng)用程序后端
- 批處理作業(yè)
- 多媒體處理
- 數(shù)據(jù)處理
- 聊天機(jī)器人和虛擬助理
- IT自動(dòng)化
無(wú)服務(wù)器的好處
- 減少開(kāi)銷。應(yīng)用程序可以在沒(méi)有使用功能即服務(wù)(FaaS)的服務(wù)器的情況下運(yùn)行,因此無(wú)需配置或管理服務(wù)器。
- 自動(dòng)縮放。功能即服務(wù)(FaaS)自動(dòng)縮放,向上或向下擴(kuò)展,因此客戶無(wú)需為閑置容量支付費(fèi)用。
- 高可用性。應(yīng)用程序可用性不是問(wèn)題,因?yàn)楣δ芗捶?wù)(FaaS)和后端即服務(wù)(BaaS)可用性不是問(wèn)題。
- 選擇。功能即服務(wù)(FaaS)允許開(kāi)發(fā)人員使用流行語(yǔ)言和庫(kù)。
- 成本。與平臺(tái)即服務(wù)(PaaS)和基礎(chǔ)設(shè)施即服務(wù)(IaaS)一樣,無(wú)服務(wù)器云計(jì)算提供商擁有硬件和軟件元素。服務(wù)器管理成本也是外包的。
- 簡(jiǎn)單。部署功能即服務(wù)(FaaS)功能就像上傳代碼一樣簡(jiǎn)單;部署服務(wù)器涉及腳本和面向資源的決策。
- 速度。由于無(wú)服務(wù)器無(wú)需服務(wù)器及其管理,因此節(jié)省了寶貴的IT時(shí)間。它還加速了實(shí)驗(yàn)和原型設(shè)計(jì)。
無(wú)服務(wù)器的缺點(diǎn)
- 無(wú)狀態(tài)與狀態(tài)。對(duì)于使用面向狀態(tài)功能的應(yīng)用程序體系結(jié)構(gòu)來(lái)說(shuō),功能即服務(wù)(FaaS)的無(wú)狀態(tài)性質(zhì)可能是一個(gè)問(wèn)題。
- 超時(shí)。如果應(yīng)用程序包含超出超時(shí)限制的任務(wù),功能即服務(wù)(FaaS)超時(shí)可能會(huì)影響應(yīng)用程序體系結(jié)構(gòu)。
- 啟動(dòng)延遲。功能即服務(wù)(FaaS)啟動(dòng)延遲可能會(huì)排除極其敏感的用例,例如算法交易。
- 服務(wù)水平協(xié)議。缺乏服務(wù)等級(jí)教育協(xié)議(SLA)一直是個(gè)問(wèn)題。在2018年10月,AWS公司宣布Lambda的每月正常運(yùn)行時(shí)間為99.95%。
- 功能配置。配置功能即服務(wù)(FaaS)的能力可能有限。
- 并發(fā)限制。允許的并發(fā)功能即服務(wù)(FaaS)功能的數(shù)量是有限的。如果由于同時(shí)進(jìn)行測(cè)試和生產(chǎn),共享企業(yè)帳戶,跨多個(gè)云服務(wù)的帳戶超出該數(shù)量,則生產(chǎn)應(yīng)用程序性能可能會(huì)受到影響。
- 功能即服務(wù)(FaaS)監(jiān)控。這里的兩個(gè)問(wèn)題是供應(yīng)商提供了多少數(shù)據(jù),以及監(jiān)控臨時(shí)容器的一般困難。
- 供應(yīng)商鎖定。云計(jì)算提供商希望難以轉(zhuǎn)移到其他提供商。有兩種方法可以使平臺(tái)特有的工具和設(shè)計(jì)功能不同。
- 控制。供應(yīng)商可以完全控制基礎(chǔ)設(shè)施、定價(jià)和功能。
- 成本。無(wú)服務(wù)器并不總是比其他選項(xiàng)便宜,因此理解與其他選項(xiàng)相比的成本/收益權(quán)衡是明智的。使用功能即服務(wù)(FaaS),功能在調(diào)用之前不需要任何費(fèi)用。
無(wú)服務(wù)器的安全性
- 攻擊面擴(kuò)大。生態(tài)系統(tǒng)中的任何新元素都會(huì)增加潛在的破壞機(jī)會(huì)。此外,與使用傳統(tǒng)架構(gòu)的應(yīng)用程序相比,無(wú)服務(wù)器應(yīng)用程序具有更多的組件。每個(gè)組件都是應(yīng)用程序的唯一入口點(diǎn)。
- 功能許可。有時(shí),當(dāng)權(quán)限越窄越明智時(shí),廣泛的權(quán)限可能會(huì)應(yīng)用于一系列功能。
- 多租戶。其他客戶不應(yīng)該看到企業(yè)數(shù)據(jù),但可能是這樣。這是主要提供商主動(dòng)解決的一般云計(jì)算問(wèn)題。
- 第三方軟件依賴性。功能可能依賴于已泄露的第三方軟件。
無(wú)服務(wù)器架構(gòu)入門
開(kāi)始使用無(wú)服務(wù)器架構(gòu)的適合方法是完全理解文中的所有內(nèi)容:它是什么,它的優(yōu)點(diǎn)和缺點(diǎn)是什么,因此可以定義適當(dāng)?shù)挠美?/p>
具體來(lái)說(shuō),如果要將無(wú)服務(wù)器應(yīng)用程序添加到現(xiàn)有應(yīng)用程序或構(gòu)建新的無(wú)服務(wù)器應(yīng)用程序,需要考慮以下內(nèi)容:
- 了解無(wú)服務(wù)器是什么或不是什么。
- 了解使用傳統(tǒng)架構(gòu)應(yīng)用程序和無(wú)服務(wù)器應(yīng)用程序之間的權(quán)衡。
- 確定企業(yè)是要構(gòu)建無(wú)服務(wù)器應(yīng)用程序還是修改現(xiàn)有應(yīng)用程序以利用后端即服務(wù)(BaaS)、功能即服務(wù)(FaaS)或兩者兼而有之。
- 選擇一個(gè)提供者(可能是企業(yè)使用過(guò)的提供者)。
假設(shè)企業(yè)選擇了AWS Lambda,這是一種特別受歡迎的無(wú)服務(wù)器解決方案:
- 設(shè)置Lambda功能(內(nèi)存和存儲(chǔ)要求、觸發(fā)器、訪問(wèn))。
- 設(shè)置Amazon API網(wǎng)關(guān)。
- 要適應(yīng)現(xiàn)有應(yīng)用程序,請(qǐng)使用AWS步驟功能進(jìn)行工作流管理。
- 通過(guò)Amazon身份訪問(wèn)管理和Cognito服務(wù)設(shè)置訪問(wèn)和安全。
- 對(duì)于日志記錄和監(jiān)控,使用AWS Cloudwatch和X-Ray。
- 如果需要本地應(yīng)用程序測(cè)試,請(qǐng)使用AWS無(wú)服務(wù)器應(yīng)用程序模型。
- 滿足合規(guī)要求。
- 將無(wú)服務(wù)器架構(gòu)模式與同一類型應(yīng)用程序的常見(jiàn)模式進(jìn)行比較。
如何管理無(wú)服務(wù)器架構(gòu)
顧名思義,在無(wú)服務(wù)器云服務(wù)的情況下,IT不管理服務(wù)器。對(duì)于本地功能即服務(wù)(FaaS)實(shí)施(例如由Apache OpenWhisk、Kubeless和OpenFaaS啟用的實(shí)施),服務(wù)器在內(nèi)部進(jìn)行管理。
雖然基于應(yīng)用的云計(jì)算優(yōu)勢(shì)不適用于本地功能即服務(wù)(FaaS)實(shí)施,但可以實(shí)現(xiàn)更高的服務(wù)器利用率,開(kāi)發(fā)人員仍然可以從無(wú)服務(wù)器提供的抽象中受益。
但是,仍有一些操作問(wèn)題需要考慮,例如權(quán)限、安全性、依賴性和其他問(wèn)題,這取決于應(yīng)用程序的設(shè)計(jì),這些問(wèn)題不會(huì)消失。
關(guān)鍵問(wèn)題是:企業(yè)是否擁有管理無(wú)服務(wù)器所需的內(nèi)部專業(yè)知識(shí)?直到現(xiàn)在,無(wú)服務(wù)器仍然是一項(xiàng)新興技術(shù),因此不要假設(shè)企業(yè)的內(nèi)部人員或開(kāi)發(fā)人員是專家。
無(wú)服務(wù)器計(jì)算的未來(lái)
隨著無(wú)服務(wù)器選項(xiàng)越來(lái)越受歡迎,以下內(nèi)容可能會(huì)展開(kāi):
- 更多更好的工具。這是一個(gè)市場(chǎng)成熟度問(wèn)題,它也是受歡迎程度與其他選項(xiàng)的功能。無(wú)服務(wù)器變得越流行,工具和開(kāi)源項(xiàng)目就越多。
- 優(yōu)秀實(shí)踐。由于無(wú)服務(wù)器是一個(gè)相對(duì)較新的概念,目前還沒(méi)有很多優(yōu)秀實(shí)踐,但是無(wú)服務(wù)器架構(gòu)模式可用于上述許多用例。
- 無(wú)服務(wù)器優(yōu)先應(yīng)用程序。在某些用例中,可能會(huì)出現(xiàn)更多的無(wú)服務(wù)器應(yīng)用程序,而不是通過(guò)修改應(yīng)用程序來(lái)利用無(wú)服務(wù)器選項(xiàng)。
- 框架。將出現(xiàn)額外的框架,使其更容易與一個(gè)供應(yīng)商而不是另一個(gè)供應(yīng)商合作。目前的例子是Fn Project,它是一個(gè)容器本地開(kāi)源框架和無(wú)服務(wù)器框架,可以將無(wú)服務(wù)器應(yīng)用程序部署到多個(gè)功能即服務(wù)(FaaS)提供程序。
- 私有功能即服務(wù)(FaaS)。功能即服務(wù)(FaaS)已經(jīng)可以在企業(yè)內(nèi)部實(shí)施。與云計(jì)算服務(wù)或混合云實(shí)施相比,時(shí)間會(huì)證明這將成為主流。
網(wǎng)站欄目:無(wú)服務(wù)器架構(gòu)的發(fā)展與應(yīng)用
網(wǎng)頁(yè)地址:
http://uogjgqi.cn/article/dhpssps.html