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