前言

最近因為工作關係開始接觸 Azure API Management (APIM),才開始了解 API Management 用途與其重要性。API Management 主要為管理 WebAPI 的處理程序,主要功能包含建立與發佈 API、使用量規範、存取控制、效能分析...等,並提供一個管理架構,讓 API 管理與維護更加方便,尤其是在與多方服務介接的情境下,開發人員將更能體會 APIM 所帶來的好處。



本系列文章將逐一介紹 Azure APIM 相關功能、管理與使用策略,在這一篇文章,我們先簡單介紹為什麼要使用 API 與什麼是 APIM。若有錯誤或任何建議,請各位先進不吝指教。
  1. API Management 介紹與建立 Azure API Management
  2. Azure API Management 介面與功能簡介
  3. Azure APIM: 建立第一個 API 與 Mock
  4. *****
  5. *****
  6. *****
  7. *****


介紹

為什麼要使用 API ?

或許有些開發人員會想問為什麼需要 API ? 整體性的系統開發相當直覺,為什麼需要耗時費工進行架構設計與拆分服務工作呢 ? 我們簡單列出使用 API 服務的優點:
服務導向設計:將龐大的系統拆分成較小且獨立的服務,功能明確且可用性高
易於整合:每一個服務皆提供 API 讓其他服務與客戶端介接,可快速整合/被整合其他服務
容易維護:您不再需要整個系統處理佈署與問題修正,服務導向設計可以獨自處理這些工作

服務導向設計可以以 API 方式整合各種服務,提升系統維護性


為什麼要 API Management ?

如前言所述,API Management 提供許多管理功能,讓開發與介接 API 的流程更有效率,以實際運作的優點來說:
1. 您可以打包 API 並發佈給開發人員或其他合作夥伴
2. 剛進入專案的開發人員可已透過開發者平台快速了解 API
3. 透過 APIM 文件、範例與提升工程師開發效率
4. 提供多一層 API 外層服務給現有後端 API
5. 對現有的 API 提供額外服務,如:回應緩存、格式轉換服務、驗證服務
6. 從分析報告中深入了解 API 使用情況
...等,族繁不及備載。若您的開發環境需要建立/維護大量的 API,不妨試試看 APIM。


什麼是 Azure API Management ? 

Azure API Management 為 Azure 提供無伺服器 (Serverless) API 管理服務,可協助公司組織大規模的將 API 發佈給外部及內部開發人員,為現有後端服務,快速建立一致且現代化 API Gateway。Azure API Management 管理介面大致上可以分為 API Gateway、Azure Portal 與 Developer Portal,如下圖所示:

Azure Portal
開發人員可以在 Azure Portal 上定義或匯入後端 API 規格、設定 API 使用規範、取得視覺化分析圖表、包裝 API 至 Production 環境與針對使用者進行 API 管理 。

Azure API Gateway 
API Gateway 是 APIM 主要核心功能,他能夠設定後端服務如何向客戶或內部開發人員提供 API。因為建構於 Azure 上,它能輕易的整合 AAD。理所當然,API Gateway 也具備 APIM 應該有的功能,可以規範 API 使用頻率,有效降低 API 過度呼叫情況發生。它也提供 API 文件、、mocking、IP 過濾與回應快取等功能。其他重要的功能包含能對 API 進行版本控管與還原,並能及時監控並產生使用報告。

Developer Portal
開發人員可以在 Developer Portal 上閱讀 API 文件,並且利用互動介面測試 API,讓開發與系統介接流程更加順暢。開發人員也可以透過 API Key 建立帳號與訂閱 APIs,理所當然,也能看見 API 呼叫的分析報告。


建立 Azure API Management

Step 1. 登入 Azure Portal → 建立資源 → 搜尋 API Management → 新增


Step 2. 依序輸入相關資訊,包含名稱、定用帳戶、資源群組、位置、組織名稱、管理員電子郵件與定價層,點選建立。


Step 3. 約3-10分鐘,Azure API Management 建立完成


談到這邊,應該對於 API、APIM 與 Azure API Managemebt 有基本的認識。下一篇,我們將逐一且簡單說明 Azure API Management 各項功能。


參考資料

1. API Management - Wiki
2. API 管理 - Microsoft Azure


下一篇:Azure API Management 介面與功能簡介