API管理基础知识集锦
原文:The Basics Of API Management
作者:Kin Lane
翻譯:Vincent
譯者注:作者在本文中將API管理的一些基礎知識整合成了綜合列表,這些列表是由一位API管理大神提煉出來的,可以說是API管理的不同組件了。以下為譯文。
我正在開發一套基礎的API管理策略。這套管理策略涉及到的每一個方面,都傾注了我的畢生之所學。這么多年過去了,我已經將API管理的許多方面單獨分離出來,形成了一組核心元素,這些元素也反映了API管理是如何一步一步發展成為數字商品的。總的來說,這有助于我去認真思考API操作的每個方面,而且也能將我平日里面所學習到的內容應用到我正在從事的項目,這樣我就可以對API管理做進一步的提煉。
API管理是我所有研究領域中存在時間最久的。正是它啟發了我對于其他方面的研究,而且同時它也是API經濟里面相對比較成熟的了。我正在研究的這個項目給了我一個機會,讓我去思考API管理究竟是什么,應該拆分為哪些不同的關注領域。我已經把API管理的精髓給提煉出來,大概包括以下幾個方面:
Portal - 是一個單獨的URL,可以用來查找關于API的所有信息,將該服務啟動運行起來,并使用所有的可用資源。
On-Boarding - 只需要考慮如何讓新開發人員在portal主頁上登陸,以實現API的第一次調用,接下來就是在生產應用實現調用。
Accounts - 允許API使用者注冊一個帳戶,用于個人或企業訪問API資源。
Applications - 允許每個帳戶持有人注冊一個或多個應用程序,這些應用程序將使用API資源。
Authentication - 為API使用者提供一種或多種方式進行身份驗證,從而能夠訪問API資源。
Services - 定義在一個或多個API路徑上提供哪些服務,從而提供對各種業務服務的HTTP訪問。
Logging - 對API的每個調用都通過API管理層記錄,以及DNS、web服務器、文件系統和數據庫級別。
Analysis - 了解API是如何被使用的,以及應用程序如何將API資源用于使用,識別所有API的使用模式。
Usage - 對所有帳戶和它們的應用程序進行量化使用,然后向所有API使用者報告、計費和協調使用。
APIs - API訪問帳戶、身份驗證、服務、日志記錄、分析和使用API資源。
還有一些與API管理捆綁在一起的比較常見的元素,這些元素也反映了API管理的核心是什么——API的業務。哪些人擁有哪些權限,他們又使用了哪些權限,將這些信息都記錄下來。API管理中還有許多其他方面也需要考慮,但我已經將它們作為一些單獨的模塊了。這些元素包括:
Documentation - 靜態或交互式文檔,用于所有可用的API路徑、參數、頭,以及API請求和響應表面積的其他細節。
Support - 自助服務,或直接支持通道,API消費者在此過程中使用這些通道來獲得幫助。
SDKs - 用于web、移動或其他類型應用程序的SDKs、示例、庫和其他支持代碼元素。
Road Map - 當涉及到API時,交流未來的內容。
Issues - 有關API的可用性的任何公開問題的通知。
Change Log - 關于更改API的歷史。
這些領域也對API管理做了補充,但應該超越API操作的日常管理方面。我還考慮了身份驗證、日志記錄和分析,而不僅僅是API管理,因為這三個領域都應該不僅僅涵蓋API,但是它們仍然與API管理的核心部分緊密相連。在我的定義中,API管理在很大程度上是關于管理資源的消耗,而不是API操作的其他方面。這不僅僅是我的定義,而是我所看到的API管理的商品化,就像我們在Amazon Web服務上看到的那樣。
AWS API Gateway實際上是關于帳戶、應用程序、身份驗證以及服務的。日志、分析等都是由AWS CloudWatch提供的。對于正在研究的這個特定項目,我使用了GitHub和Jekyll作為Portal,并分別使用自定義交付、使用和支持api。進一步縮小我對API管理的定義。我想說,AWS在API管理方面表現得很好,與AWS API Gateway和AWS CloudWatch之間的關注點分離。如果你將AWS Cognito應用于身份驗證,那么你可以將另一個應用程序分離出來。我沒有看到任何可行的解決方案來處理使用、計費和API管理的業務和貨幣化方面。
我正在從事的API項目已經使用了AWS作為操作后端,因此我也有機會去更好的了解API管理中的活動件在AWS平臺中是怎么一回事。在AWS平臺里面認真研究一下API管理如何解耦是非常意義的,因為它們是商品化的主要參與者,而且也在日益趨于成熟。一旦完成了AWS以后,谷歌和Azure將是接下來的目標,這些也都是定義API管理未來的主要參與者。
總結
以上是生活随笔為你收集整理的API管理基础知识集锦的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机网络原理题答案第三章,计算机网络原
- 下一篇: 中兴面试题