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

云服務器 Flexus X 實例:輕量級 http 服務器 Tinyhttpd 部署

基于華為云 Flexus 云服務器 X 實例部搭建 Halo 博客平臺

評論