使用 Azure APIM 的時機

已完成

現在,我們將討論一些案例,以說明何時適合使用 Azure APIM。 以餐飲外送服務為範例,我們調查 API 生命週期管理的相關工作:標準化 API、集中管理 API、公開,以及強化 API 安全性。 我們可使用以下準則,協助您決定 Azure APIM 是否適合用來管理和發佈您組織的 API 詳細目錄:

決策準則

準則 分析
API 數目 主要考量是您管理的 API 數目。 您已部署的 API 愈多,API 控制的部署標準化和集中化需求就愈大。
API 變更的速率 下一個考量是您組織實作 API 修訂和版本的速率。 您建立 API 修訂和發佈新 API 版本的速度越快,就越需要具有強固且彈性的版本控制系統。
API 管理負載 最後一個考量是您要將多少原則額外負荷套用至您的 API。 原則例如:使用量配額、呼叫頻率限制、要求轉換和要求驗證。 您 API 所需的設定和選項愈多,就越需要實作標準化和集中式原則。

套用準則

當您的大型 API 部署經常變更,而且需要大量的原則額外負荷時,Azure APIM 便是管理 API 生命週期的正確選擇。 不過,這些準則並非同等地適用於所有使用案例。 讓我們來考慮一下這些準則如何套用至我們的案例的使用情況。

您是否應該使用 Azure APIM 來標準化 API?

藉由從單一系統管理介面啟用多個 API 的管理,Azure APIM 可讓您更輕鬆地建立跨多個 API 的一致性。 您可以標準化許多 API 功能,包括:

  • 規格。 標準化 API 規格 — 例如針對所有 API 使用 REST,以及針對 JSON 名稱/值配對使用一致的命名配置 — 可縮短開發時間、減少錯誤,並讓貴組織能夠更快回應客戶建議和市場力量。
  • 文件。 標準化 API 文件可讓開發人員加速掌握 API。 也可減少技術支援查詢,並鼓勵開發人員更常使用您的 API。
  • URLs。 將 API 基底 URL 標準化可減少取用者的錯誤,並讓您的 API 部署外觀更加專業。
  • 分析。 將 API 分析標準化可讓管理小組和工程師比較多個 API 的使用方式和效能。
  • 法規。 對於必須符合政府或產業規則和法規的 API,標準化有助於確保所有 API 的合規性。

Several APIs with varying configurations are imported into Azure API Management. When they emerge from API Management, they have standardized configurations.

在大部分情況下,標準化的需求會在下列情況擴充:

  • API 數目成長。
  • API 修訂率增加。
  • API 管理負載變大。

這項需求適用於餐飲外送平台案例,其需要在行動應用程式、Web 應用程式和合作夥伴餐廳的 API 之間保持一致。

您是否應該使用 Azure APIM 來集中化 API 作業?

藉由將多個 API 集中在單一系統管理保護傘下,Azure APIM 可增強集中化所有的 API 作業。 在沒有 APIM 服務的情況下,每個 API 的管理、部署和開發人員存取都只能各行其是。 這種非集中式模型通常會導致重複工作並增加額外負荷。 集中式 API 作業可帶來下列優點:

  • 系統管理。 套用系統管理作業,例如原則建立、使用者管理以及分析--在單一位置,例如 Azure APIM 所提供的系統管理介面中。 集中管理工作可讓執行這些工作變得更簡單且更有效率。
  • 部署。 透過單一基底 URL (例如 Azure APIM 閘道器所建立的端點) 路由傳送所有 API 要求。 部署集中化可讓您更輕鬆地強制執行原則及套用轉換。
  • 開發人員存取。 將所有開發人員資源 (例如文件、程式碼範例、測試和訂用帳戶) 集中在單一位置,例如 Azure APIM 中的開發人員入口網站。 集中式開發人員存取可讓開發人員更輕鬆地尋找和使用您的 API。

從集中式 API 作業累計的效率,通常會隨著 API 數目的增加,以及您對 API 所強加的整體系統管理負載大小而增加。 當 API 經常更新時,擁有集中式 API 可以提供巨大的幫助,因其可對所有產品啟用單一版本控制配置。

所有這些因素都適用於我們的餐飲外送平台案例。 例如,透過開發人員入口網站的集中式取用者存取,可讓您更輕鬆地註冊新的開發人員,進而提升平台 API 的營收。

您是否應該使用 Azure APIM 來保護對 API 的存取?

Azure API 管理以 API 安全性為考量而設計。 因此,許多組織都依賴 API,在應用程式和裝置之間進行內部和外部數據交換。 對安全性的隨意或不一致方法只是製造問題。 適當的 API 安全性策略涵蓋下列基底:

  • 權限。 控制可使用 API 的人員,及其可進行的操作。 在 Azure APIM 中,若將您的所有 API 取用者作為使用者,並能夠將這些使用者組織成群組,可讓您更輕鬆且更有效率地套用控制 API 存取的權限。
  • 存取。 只允許授權使用者提交要求。 使用 Azure APIM 時,開發人員入口網站會為使用者提供訂用帳戶金鑰,而且您可以使用多種形式的驗證和 JSON Web 權杖來限制對 API 存取。
  • 保護。 保護 API 不受惡意使用。 Azure APIM 可讓您使用速率限制和使用量配額來節流 API 存取,以協助防止取用者誤用 API (無論是蓄意或意外)。
  • 合規性。 讓您的 API 滿足所有企業或政府安全性原則。 將所有 API 一起集中在 Azure APIM 中,可讓您更輕鬆地以安全性原則來設定這些 API,以達成合規性。

您管理的 API 愈多,安全性的需求就愈大。 擁有更多 API 表示更大的受攻擊面,以及更高的意外資料缺口或外洩風險。 此外,您越頻繁地修改 API,修訂或新版本可能發現安全性瑕疵的機率就越高。

在餐飲外送案例中,這些安全性考慮是首要之務。 我們的平台會產生並儲存大量的敏感性資料,包括餐廳付款、客戶姓名和住址,以及外送車輛位置。