對打通云應用之間的通信而言,API至關重要,正確管理這些API也非常關鍵。讓我們從學習Azure的API服務來開始這一進程。
在云和微服務架構時代,API是數字化業務的通用語言。根據分析公司Forrester Research預測,僅在美國,API管理工具的支出將在未來5年內達到近30億美元。微軟憑借其Azure API管理服務,在這塊快速增長的市場中分得了一杯羹。
Microsoft服務允許組織發布和管理API,保護和監控API的使用。該服務有三個主要組成部分:
開發人員門戶網站是自助前端,為應用開發人員提供API密鑰管理,API目錄,文檔和代碼示例。它還提供了OAuth支持和API使用分析。
API網關使用在單個虛擬地址上發布API的安全代理網關將API請求路由到后端服務。它記錄API調用和元數據,并顯示用法,性能和系統運行狀況。它還執行使用策略,如速率限制,配額和令牌驗證。網關公開了REST API,允許外部用戶與像GitHub這樣的流行代碼存儲庫集成。
發布門戶允許系統管理員定義或導入API模式,并使用GUI或腳本配置API的使用和安全策略。管理員可以將網關與現有企業目錄集成,以管理用戶并定義基于角色的訪問和使用控制。門戶網站還包含顯示API使用情況和性能指標的儀表板和報告。
API和Azure資源管理器
Azure API管理服務相對較新,在初始部署過程中,只能通過Azure傳統管理門戶使用。然而,傳統門戶正在被Azure資源管理器(ARM)所取代,而ARM還不能控制所有的服務或Azure功能,但API管理是可以的。
Microsoft于2016年11月在ARM上預覽了API功能,并在12月份使其普遍可用。2017年4月3日之后,Azure API管理服務只能通過ARM提供。 和所有ARM型號一樣,API管理是通過集成API設計和策略定義的刀片機進行訪問。管理員可以使用基于表單的GUI執行此操作,或使用SwaggerEditor直接按OpenAPI規范編碼執行。
管理員還可以使用基于表單的編輯器或XML代碼來創建策略。ARM刀片機還可以從Logic App服務開始,簡化API到其他Azure后端服務的連接。微軟表示將逐步增加對其他資源的支持。
新的API管理用戶應該從新的ARM門戶開始。對于那些擁有現有資源(如VM,平臺即服務應用程序后端)或通過傳統門戶網站創建和管理API的用戶,Microsoft提供了詳細的遷移步驟。
然而,這些步驟對于API實例來說是沒有必要的,因為舊的門戶網站通過指向新門戶網站的鏈接來通知用戶它即將過時。
Azure API管理服務的其他功能
使用Azure API管理服務的第一步是從門戶網站的儀表板創建一個新的實例。一旦部署(可能需要幾分鐘),就可以使用分頁式的表單界面定義和添加操作,或者從現有應用程序的JSON描述中導入API。然后,管理員可以將一個或多個API捆綁到產品中,包括開發人員可以訂閱的服務條款和使用配額。
服務的最新增強功能之一是基于角色的訪問控制來定義API使用策略。目前,API管理提供三個內置角色:貢獻者,讀者和操作員。另外兩個角色——編輯和管理者——即將過時。用戶還可以為特定API定義自定義角色。
盡管Azure API管理服務尚未提供與專用API管理工具(如Apigee,CA API Management或MuleSoftAnypoint)相同的功能集,但將云端的API網關部署為托管服務是有意義的,尤其是當企業嘗試將數據中心之外的各種數據源和微服務組裝成下一代應用程序的時候。