AWS全面推出了Application Composer,這是一個無伺服器應用程序的可視化設計器。該工具於去年年底在 re:Invent 大會上首次推出,旨在簡化Lambda上運行的應用程序的設計和配置,Lambda是AWS的無伺服器功能服務。但是,它只支持AWS平台上的一小部分功能。
在re:Invent上,首席技術官Werner Vogels表示:「以前從來沒有使用過無伺服器的開發人員,他們不知道從哪裡開始?需要哪些服務?如何協同工作?我們真的很想讓這一切變得更加容易。」
該工具提供了一個畫布,可通過 AWS 管理控制台訪問,開發人員可在其中拖放和連接資源,該工具會自動設置這些資源進行交互的權限。里有一個選項(僅限Chrome和Edge)可以臨時賦予瀏覽器讀取和寫入文件的權限,在這種情況下,可以將項目同步到Visual Studio Code等IDE中的文件。開發人員還可以使用該工具導入現有的CloudFormation模板,將其內容可視化。
Application Composer會生成描述基礎架構的YAML,除此之外不會生成其他代碼,也不會部署應用程序。它與AWS SAM(Serverless Application Model,無伺服器應用程序模型)CLI(Command Line Interface,命令行界面)協同工作,這樣你就可以使用Composer生成應用程序設計,並使用SAM CLI進行部署。SAM CLI擴展了CloudFormation。
自第一個預覽版以來,又出現了一些新功能,包括改進了與Amazon SQS(Simple Queue Service,簡單隊列服務)的集成;一個可以顯示連接資源時發生哪些更改的更改檢查器;可以在一個螢幕上查看更多詳細資訊的、更小的資源卡和縮放控制項。
Application Composer中顯示的資源列表很短,涉及13項服務,包括Lambda、API Gateway、Cognito、EventBridge(用於調度)、DynamoDB、S3(Simple Storage Service,簡單存儲服務)和 SQS。導入的模板中包含的其他資源可能是隱藏資源,或者是一些只讀資源,這些資源可以在基於文本的模板中進行配置。該文檔稱:「在考慮優先為哪些資源提供此功能的時候,我們會考慮那些使用中很受歡迎、與其他資源結合使用時功能強大且配置具有挑戰性的資源。」
AWS服務的複雜性是造成Fly.io 等服務流行的一個因素,在用戶迅速湧入後,這些服務正在解決可靠性問題。
還要注意的是,AWS還提供了CloudFormation Designer,這是另一種基於Web 的拖放工具,可進行可視化並使用CloudFormation模板。與Application Composer不同,CloudFormation Designer工具並不嘗試簡化服務配置,而只是讓創作和模板使用變得更輕鬆。