AWS 無服務(wù)器計算服務(wù)允許在 AWS 云上構(gòu)建和部署應(yīng)用程序,而無需管理服務(wù)器。AWS 無服務(wù)器平臺使供應(yīng)商能夠部署云解決方案,而無需服務(wù)器預(yù)置、部署、維護(hù)和監(jiān)控應(yīng)用程序、數(shù)據(jù)庫或存儲服務(wù)器。它包含自定義配置、易于維護(hù)、強大的安全性、可擴(kuò)展性、高可用性、監(jiān)控等功能。
什么是無服務(wù)器平臺?
無服務(wù)器并不意味著在沒有服務(wù)器的情況下執(zhí)行應(yīng)用程序。它是云提供商遵循的模型,其中提供商在自己的基礎(chǔ)架構(gòu)上管理機(jī)器和資源,并通過動態(tài)分配機(jī)器和資源來構(gòu)建和運行應(yīng)用程序和服務(wù),這被稱為“BaaS”(業(yè)務(wù)即服務(wù))或“FaaS”(功能即服務(wù)),其中代碼在臨時容器中執(zhí)行。定價基于執(zhí)行任務(wù)期間消耗的資源。
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ù)
全球擴(kuò)展和覆蓋范圍
AWS 提供了廣泛的全球產(chǎn)品。大多數(shù)情況下,所有無服務(wù)器服務(wù)在多個 AWS 區(qū)域中都可用
無服務(wù)器應(yīng)用程序用例
網(wǎng)絡(luò)應(yīng)用程序
構(gòu)建無服務(wù)器 Web 應(yīng)用程序,這些應(yīng)用程序可自動擴(kuò)展和縮減,并在多個可用 AWS 區(qū)域中以高可用性配置運行,無需任何基礎(chǔ)設(shè)施工作即可使用 Amazon S3、Amazon API Gateway、AWS Lambda 和 Amazon DynamoDB。
實時文件處理
在 Amazon S3 中上傳數(shù)據(jù)后,S3 能夠觸發(fā) AWS Lambda 即時處理數(shù)據(jù)。AWS Lambda 可用于生成縮略圖圖像、轉(zhuǎn)碼視頻、索引文件、處理日志、驗證內(nèi)容、實時聚合和篩選數(shù)據(jù)。
實時流處理
可以通過 AWS Kinesis 和 AWS Lambda 在 AWS 中處理實時流數(shù)據(jù)。流數(shù)據(jù)源可以是應(yīng)用程序活動跟蹤、數(shù)據(jù)清理、日志篩選、索引、社交媒體分析、正在處理的事務(wù)以及 IoT 設(shè)備數(shù)據(jù)遙測和計量。
移動后端
構(gòu)建后端以通過 AWS Lambda 和 Amazon API Gateway 對 API 請求進(jìn)行身份驗證和處理。
好處
降低成本 – 無服務(wù)器計算定價模型采用即用即付。它消耗的資源成本,當(dāng)應(yīng)用程序不運行時沒有任何成本。此外,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ù)載強度。AWS 處理無服務(wù)器架構(gòu)的這些問題。開發(fā)人員應(yīng)該只編譯他們的代碼,壓縮它,然后將其上傳到新的無服務(wù)器平臺以部署新功能。
多語言支持 — AWS 無服務(wù)器平臺支持多種編程語言,如 Node、Java、Python、C#、Ruby、Go 等,因此開發(fā)人員可以自己選擇最方便的選項。
內(nèi)置日志記錄和監(jiān)控機(jī)制 — AWS 開發(fā)了自己的用戶日志記錄和監(jiān)控解決方案。此外,它還提供自動化安全評估,以提高部署在 AWS 上的應(yīng)用程序的合規(guī)性。
挑戰(zhàn)
冷啟動 — 無服務(wù)器計算的主要優(yōu)勢是資源的動態(tài)分配,因此供應(yīng)商不需要為空閑時間付費。但是,有時這可能會導(dǎo)致調(diào)用延遲。
資源限制 — 無服務(wù)器計算對資源內(nèi)存、執(zhí)行時間、帶寬和 CPU 使用率施加限制,例如,AWS Lambda 的每個請求的最大執(zhí)行時間為 900 秒(或 15 分鐘)。
應(yīng)用程序測試不足 — 無服務(wù)器基礎(chǔ)結(jié)構(gòu)能夠獨立測試應(yīng)用程序的小型功能,但測試基礎(chǔ)結(jié)構(gòu)和所有功能的組合可能具有挑戰(zhàn)性。
安全問題增加 — 如果 lambda 函數(shù)發(fā)生任何惡意代碼或攻擊,用于識別問題和瓶頸的選項有限。開發(fā)人員也沒有對 AWS 服務(wù)器的完全訪問權(quán)限。
訪問文件系統(tǒng)級別 — 對于需要訪問文件系統(tǒng)或操作系統(tǒng)級別的軟件,無服務(wù)器架構(gòu)不是最佳選擇。這些類型的應(yīng)用程序需要執(zhí)行一些操作,例如從配置文件讀取屬性或?qū)?nèi)存中的緩存拆分到磁盤,但無服務(wù)器函數(shù)不允許這樣做。無服務(wù)器函數(shù)是無狀態(tài)的,因此每當(dāng)應(yīng)用程序需要狀態(tài)時,無服務(wù)器函數(shù)都不適合。
無服務(wù)器服務(wù)使應(yīng)用程序更易于擴(kuò)展和開發(fā),而無需管理典型的基于服務(wù)器的基礎(chǔ)結(jié)構(gòu)。開發(fā)人員可以更多地關(guān)注核心產(chǎn)品,而不是操作服務(wù)器。因此,越來越多的組織更喜歡無服務(wù)器平臺。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85324 -
JAVA
+關(guān)注
關(guān)注
19文章
2966瀏覽量
104702 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
發(fā)布評論請先 登錄
相關(guān)推薦
評論