使用 SwaggerHub 和 Amazon 實現無伺服器架構!

  2016 年 6 月 15 日

過去幾年,基礎架構逐漸轉向無伺服器架構。 基礎架構即服務 (IaaS) 改變了格局,帶來了低成本、敏捷性、可擴展性和可靠性。  Amazon API Gateway 就是其中一項服務,無需多做介紹。它是一個完全託管的平台,允許使用者以任何規模建構、部署和管理 API。Amazon API Gateway 的重要方面在於它支援 Swagger 定義格式來設計和建構 RESTful API,而 SwaggerHub 正是關於 Swagger!

對於不熟悉的人,SwaggerHub 是一個免費的 SaaS 產品,可使用最新的 Swagger 規格來設計和開發您的 API,無論是公開還是內部,將開源架構的一些最佳工具整合到單一平台上。SwaggerHub 為使用者提供一系列服務,從協作到視覺化和在團隊中建構 API,到整合,讓您可以將現有工具集中的一系列第三方產品連接起來。

take me to sh

如果開發人員可以使用現有的最佳工具來設計 API,從 API 模擬到穩健的 API 編輯器的動態功能,並將其部署到 AWS API Gateway,同時消除定義和 Lambda 函數之間經常需要的複雜組態,生活會變得更加輕鬆。

這就是 SwaggerHub 最新的 Amazon Gateway 整合的用武之地。透過 Amazon Gateway 整合,您可以快速且自動地在 Amazon Gateway 上公開您的 API 以供使用。無伺服器部署也得到了處理,SwaggerHub 會從 SwaggerHub 的 Swagger 定義中自動產生您的 API 程式碼在 Amazon Lambda 中的建構區塊!

SwaggerHub 有兩種 API Gateway 整合可用 –

  1. Amazon API Gateway
  2. Amazon API Gateway Lambda 同步

若要查看整合的實際運作情況,請查看此簡短的螢幕錄影!

videDemo

Amazon API Gateway

Amazon API Gateway 允許您在 Proxy 模式中快速將 API 部署到 Amazon Gateway,讓 Gateway 處理速率限制和驗證之類的事情。使用者可以將 Proxy 新增到整合中,將 API 連接到 AWS 服務。這也會讓定義與 Gateway 上的 API 保持同步。

API Gateway

Amazon API Gateway - Lambda 同步

AWS Lambda 是一種運算服務,可在無需佈建或管理伺服器的情況下執行程式碼。AWS Lambda 可以為任何應用程式或後端服務執行程式碼,而整合功能可讓使用者建立 Lambda 函數,並將其與 Swagger 定義的 operationId 匹配。可以將整合設定為讓 API 定義與 Lambda 函數和 API Gateway 保持同步。Lambda 同步整合會為您在 Gateway 上完成複雜的配置,這表示使用者只需要擔心應用程式的真正業務價值。

API Gateway Lambda

Lambda 函數會由每個作業中的 operationId 建立和匹配。如果您沒有 operationId(它們在 OpenAPI 規格中是選用的),系統會為您建立一個。如果存在與 operationId 名稱相同的 lambda 函數,則將會使用它,而且不會建立新的函數。

若要查看整合的實際運作情況,請查看此簡短的螢幕錄影!

videDemo

上述整合可以連線,以最適合您的工作流程。這兩個整合功能是強大的工具,可以使用 AWS API Gateway,以最有效的方式將您的 API 從設計轉換為部署。使用 SwaggerHub,它可以為 API 設計提供最佳工具,並將其與 AWS Gateway 的可擴展性和可靠性相結合,肯定會讓您的 API 開發過程變得輕而易舉!