AWS 無服務(wù)器計(jì)算服務(wù)支持在 AWS 云上構(gòu)建和部署應(yīng)用程序,而無需管理服務(wù)器。AWS 無服務(wù)器平臺使供應(yīng)商能夠部署云解決方案,而無需服務(wù)器預(yù)置、部署、維護(hù)和監(jiān)控應(yīng)用程序、數(shù)據(jù)庫或存儲服務(wù)器。它包含自定義配置、易于維護(hù)、強(qiáng)大的安全性、可擴(kuò)展性、高可用性、監(jiān)控等特性。
什么是無服務(wù)器平臺?
無服務(wù)器并不意味著在沒有服務(wù)器的情況下執(zhí)行應(yīng)用程序。它是云服務(wù)提供商所遵循的一種模式,云服務(wù)提供商在自己的基礎(chǔ)設(shè)施上管理機(jī)器和資源,并通過動態(tài)分配機(jī)器和資源來構(gòu)建和運(yùn)行應(yīng)用程序和服務(wù)來提供服務(wù),這就是所謂的“BaaS”(Business as a服務(wù))或“FaaS”(功能即服務(wù)),其中代碼在臨時容器中執(zhí)行。定價基于任務(wù)執(zhí)行期間消耗的資源。
AWS 無服務(wù)器平臺的功能
云邏輯層
AWS Lambda 可以充當(dāng)所有容器化和微服務(wù)應(yīng)用程序的邏輯層
編排管理
使用 AWS Step 函數(shù)協(xié)調(diào)和管理無服務(wù)器應(yīng)用程序的每個分布式組件的狀態(tài)
應(yīng)用程序生命周期管理
使用 AWS CodePipeline 等生命周期管理工具持續(xù)交付無服務(wù)器應(yīng)用程序
安全和訪問控制
使用 AWS IAM(身份和訪問管理)和 Amazon VPC(虛擬私有云)保護(hù)整個環(huán)境和 AWS 資源
可靠性和性能
AWS 以較低的成本提供高度可用、可擴(kuò)展且安全的服務(wù)
全球規(guī)模和影響力
AWS 提供廣泛的全球產(chǎn)品;幾乎所有無服務(wù)器服務(wù)都在多個 AWS 區(qū)域中可用
無服務(wù)器應(yīng)用程序用例
網(wǎng)絡(luò)應(yīng)用程序
使用 Amazon S3、Amazon API Gateway、AWS Lambda 和 Amazon DynamoDB 構(gòu)建可自動擴(kuò)展和縮減的無服務(wù)器 Web 應(yīng)用程序,并在多個可用 AWS 區(qū)域中以高度可用的配置運(yùn)行,而實(shí)現(xiàn)可擴(kuò)展性所需的基礎(chǔ)設(shè)施工作量為零。
實(shí)時文件處理
在 Amazon S3 中上傳數(shù)據(jù)后,S3 能夠觸發(fā) AWS Lambda 即時處理數(shù)據(jù)。AWS Lambda 可用于實(shí)時生成縮略圖、視頻轉(zhuǎn)碼、索引文件、處理日志、驗(yàn)證內(nèi)容、聚合和過濾數(shù)據(jù)。
實(shí)時流處理
可以通過 AWS Kinesis 和 AWS Lambda 處理 AWS 中的實(shí)時流數(shù)據(jù)。流數(shù)據(jù)源包括應(yīng)用程序活動跟蹤、數(shù)據(jù)清理、日志過濾、索引、社交媒體分析、正在處理的事務(wù)以及物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)遙測和計(jì)量。
移動后端
構(gòu)建后端以通過 AWS Lambda 和 Amazon API Gateway 驗(yàn)證和處理 API 請求。
好處
降低成本——無服務(wù)器計(jì)算定價模式是現(xiàn)收現(xiàn)付的。當(dāng)應(yīng)用程序不運(yùn)行時,它會消耗資源,而不會消耗任何資源。此外,AWS 負(fù)責(zé)基礎(chǔ)設(shè)施維護(hù)和更新,因此開發(fā)人員可以將更多時間用于軟件開發(fā)。
彈性可擴(kuò)展性——AWS 中的無服務(wù)器架構(gòu)有可能根據(jù)應(yīng)用程序工作負(fù)載進(jìn)行擴(kuò)展和縮減。
減少開發(fā)人員的責(zé)任并加快發(fā)布速度——開發(fā)人員無需擔(dān)心資源分配、擴(kuò)展、應(yīng)用程序部署和工作負(fù)載強(qiáng)度。AWS 為無服務(wù)器架構(gòu)處理這些問題。開發(fā)人員應(yīng)該只編譯他們的代碼,將其壓縮,然后將其上傳到新的無服務(wù)器平臺以部署新功能。
多語言支持——AWS 無服務(wù)器平臺支持 Node、Java、Python、C#、Ruby、Go 等多種編程語言,因此開發(fā)人員可以為自己選擇最方便的選項(xiàng)。
內(nèi)置日志記錄和監(jiān)控機(jī)制——AWS 開發(fā)了自己的用戶日志記錄和監(jiān)控解決方案。此外,它還提供自動化安全評估,以提高部署在 AWS 上的應(yīng)用程序的合規(guī)性。
挑戰(zhàn)
冷啟動——無服務(wù)器計(jì)算的主要好處是資源的動態(tài)分配,因此供應(yīng)商不需要為空閑時間付費(fèi)。但是,有時這可能會導(dǎo)致調(diào)用延遲。
資源限制——無服務(wù)器計(jì)算對資源內(nèi)存、執(zhí)行時間、帶寬和 CPU 使用施加限制,例如 AWS Lambda 的每個請求的最大執(zhí)行時間為 900 秒(或 15 分鐘)。
應(yīng)用程序測試不充分——無服務(wù)器基礎(chǔ)設(shè)施可以獨(dú)立測試應(yīng)用程序的小功能,但測試基礎(chǔ)設(shè)施和所有功能的組合可能具有挑戰(zhàn)性。
增加的安全問題——如果 lambda 函數(shù)發(fā)生任何惡意代碼或攻擊,識別問題和瓶頸的選項(xiàng)有限。開發(fā)人員也沒有對 AWS 服務(wù)器的完全訪問權(quán)限。
訪問文件系統(tǒng)級別——無服務(wù)器架構(gòu)不是需要訪問文件系統(tǒng)或操作系統(tǒng)級別的軟件的最佳選擇。這些類型的應(yīng)用程序需要執(zhí)行諸如從配置文件中讀取屬性或?qū)?nèi)存緩存拆分到磁盤等操作,但無服務(wù)器功能不允許這樣做。無服務(wù)器函數(shù)是無狀態(tài)的,因此每當(dāng)應(yīng)用程序需要狀態(tài)時,無服務(wù)器函數(shù)并不適合。
無服務(wù)器服務(wù)使應(yīng)用程序更容易擴(kuò)展和更快地開發(fā),而無需管理典型的基于服務(wù)器的基礎(chǔ)設(shè)施。開發(fā)人員可以更多地關(guān)注核心產(chǎn)品,而不是運(yùn)營服務(wù)器。因此,越來越多的組織更喜歡無服務(wù)器平臺。
審核編輯:郭婷
-
cpu
+關(guān)注
關(guān)注
68文章
10702瀏覽量
209385 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
8701瀏覽量
84558 -
AWS
+關(guān)注
關(guān)注
0文章
418瀏覽量
24182
發(fā)布評論請先 登錄
相關(guān)推薦
評論