那些知道API管理平臺是什么以及它們可以做什么的人往往在開發(fā)API時總是使用它們。它是開發(fā)、保護、發(fā)布和支持API所必需的工具之一。現(xiàn)在,如果你正在閱讀這篇文章,那么你可能不知道什么是API管理,或者你有一個非常模糊的概念,想知道更多。你來對地方了!
不管您一直在做什么,如果它涉及API,那么您可能已經(jīng)熟悉了API管理可以執(zhí)行或增強的一些功能。根據(jù)我的經(jīng)驗,如果要用一句話來概括API管理,那就是:一組功能或特性,幫助構(gòu)建、保護、監(jiān)控和支持API以及為其提供動力的服務(wù)。API管理平臺就是一個在一個地方擁有所有這些功能的系統(tǒng)!
當我們想到API時,我們通常根據(jù)它們提供的服務(wù)來描述它們。例如,如果我有一個API,用于檢索用戶及其帳戶的詳細信息,那么我可以將此API稱為“用戶詳細信息”API。我們經(jīng)常忘記的是,在這個API的幕后有許多活動部件,它們不一定在“檢索用戶和帳戶詳細信息”中發(fā)揮直接作用,但在現(xiàn)代API中仍然是必要的。我說的是什么樣的棋子?這些移動件可包括:
確保訪問API的用戶是他們所說的用戶,并且他們被授權(quán)使用API
記錄訪問API的用戶、他們的請求包含的內(nèi)容以及來自API的響應(yīng)
有時請求或響應(yīng)中的數(shù)據(jù)需要進行轉(zhuǎn)換或操作,以便由上游服務(wù)進行處理
強制執(zhí)行使用規(guī)則,以確保訪問API的用戶在調(diào)用API的次數(shù)方面不超過允許的限制
用戶將如何加入,以便他們能夠?qū)嶋H使用API
能夠在使用API時監(jiān)控API流量和錯誤,并在發(fā)生特定事件時向管理員發(fā)出警報
創(chuàng)建報告以檢查API性能、使用情況等
API管理平臺允許您解決和實施上述所有問題以及更多問題。這一切都可以在一個地方完成,而不需要在您的服務(wù)代碼中直接配置和編碼所有這些需求。
API管理平臺的主要集線器是API網(wǎng)關(guān)。該組件完成了所有繁重的工作,并且是上述所有功能實際執(zhí)行的地方!大多數(shù)API管理平臺包括一個網(wǎng)關(guān),還包括一些其他組件,以幫助更輕松地配置網(wǎng)關(guān)和管理API。這些組成部分包括:
這是您可以配置您的網(wǎng)關(guān)使用上述功能,如速率限制,轉(zhuǎn)換等。儀表板提供了一個易于使用的界面,無需編寫自己的配置文件
在這里,您可以公開您的API,開發(fā)人員可以訂閱您的API,以便他們可以使用它們,例如冪簡集成。通過API平臺,開發(fā)人員門戶可以幫助完成一系列開發(fā)人員自助服務(wù)任務(wù),包括允許開發(fā)人員注冊、生成他們自己的API訪問令牌等等。
當使用APIM解決方案時,您可以構(gòu)建您的服務(wù)來只做需要做的事情,并將這些服務(wù)的管理留在代碼庫之外。無需將安全性、速率限制或轉(zhuǎn)換到代碼中。這意味著服務(wù)變得更容易管理,因為它們更簡單,并且還意味著API的管理更容易配置,并且還非常容易地應(yīng)用于新的和現(xiàn)有的API。從事服務(wù)的開發(fā)人員現(xiàn)在可以更快地構(gòu)建為組織提供動力所需的功能,而不必配置與他們正在制作的組件的核心功能無關(guān)的所有細節(jié)。與在每個單獨的服務(wù)中執(zhí)行這些任務(wù)相比,可以更輕松、更高效地將這些任務(wù)卸載到API管理平臺。當應(yīng)用于微服務(wù)開發(fā)時,這顯然非常出色,其中許多服務(wù)需要保護和維護。
隨著越來越多的API被構(gòu)建,安全性變得越來越復雜。隨著越來越多的服務(wù)被構(gòu)建,所使用的安全機制可能會因開發(fā)人員、團隊或組織的區(qū)域而異。這給開發(fā)人員帶來了額外的壓力,要求他們努力遵守當前的組織標準,但也給支持和維護團隊帶來了壓力,他們可能必須了解所有的單獨實現(xiàn)。通過將此安全層從API服務(wù)本身中抽象出來并將其移動到APIM層,這些問題變得更少,并且在整個API組合中實現(xiàn)健壯和統(tǒng)一的安全性變得更容易,成本更低,并且不太可能由于開發(fā)人員的錯誤而導致安全漏洞。
當嘗試將來自多個單獨API資源的日志、警報和指標匯集在一起時,可能很難確保您擁有所需的所有數(shù)據(jù)以及解釋這些數(shù)據(jù)的正確工具。使用API管理平臺收集和管理此數(shù)據(jù)是確保您所需的所有數(shù)據(jù)可用、正確且易于查找的可靠方法。
這些只是幾個例子,但是還有很多其他原因可以說明為什么使用這些技術(shù)可以以各種可能的方式改善您的API體驗。
原文鏈接:https://tyk.io/blog/api-management-101-what-is-api-management/
更多相關(guān)內(nèi)容推薦:管理API管理API管理入門:什么是API管理?什么是通用API管理平臺?