過去幾年,API 驅動的業務呈現爆炸式增長。有創收 API、開發者平臺、合作伙伴市場,甚至還有支持單頁應用的內部 API。
隨著這一爆炸式增長,API 工具也大量增加,以幫助這些公司盡快將其 API 平臺推向市場,并在創新方面超越任何競爭對手。工具數量的增加在很大程度上反映了我們在移動時代所看到的情況。然而,隨著這一爆炸式增長,用于構建和發展 API 和平臺的工具和解決方案的數量也在增加。
此外,API 網關等工具既可以用作面向公眾的 API 前端的代理,也可以充當協調各種內部服務的服務網格。本指南旨在概述各種 API 工具。
API 網關是位于 API 前端的 HTTP 服務器/代理服務器,提供管理、路由和保護 API 和服務的中心位置。API 網關應部署在集群中,以便您可以通過添加更多機器來水平擴展系統并確保高可用性。API 網關通常是本地設備,但現代網關通常基于開源或開放核心模型。例如,Kong 基于 NGINX,而 Express Gateway 基于 Node.js Express。
還有來自云供應商的專有云解決方案,例如 AWS API Gateway 和 Azure API Management。通常,API 網關將執行以下操作:
部署 API 網關的主要目的是提供一種安全的方式來訪問您的 API 并防止惡意活動。如果您的 API 需要身份驗證,API 網關提供了一種簡單的方法來為每個消費者生成和管理 API 密鑰。沒有正確憑據訪問您的 API 的客戶端將獲得一個 401 Unauthorized。為了確保公平性,可以實施 API 安全策略(例如速率限制),例如每個 API 密鑰每分鐘限制 100 個請求。可以根據 API 密鑰、通過 IP 地址(如果未添加身份驗證層)或其他自定義策略來實施速率限制。您甚至可以包含其他安全策略(例如機器人檢測)并防止 HTTP 負載過大。
401 Unauthorized
緩存使您的 API 平臺能夠處理更多客戶端并吸收峰值流量。某些類型的內容(例如電子商務和旅行)可以從緩存中受益匪淺。其他內容(例如銀行和金融服務)可能無法從緩存中受益,因此您需要進行成本效益分析,以確定緩存是否適合您的后端服務。可以強制實施其他策略(例如 CORS(跨源資源共享)),以允許從 Web 瀏覽器訪問 API。
API 網關提供了一種向 API 添加數據轉換規則的中央機制。數據轉換可以很簡單,例如 URL 重寫(例如將 api.example.com/search 重寫為 search.example.com),也可以更復雜,例如將 XML 轉換為 JSON。如果您已經有許多想要作為 API 公開的舊式內部服務,即使這些舊式服務使用的是較舊的內容格式(例如 XML 而不是 JSON),這也很方便。
除了數據轉換之外,一些 API 網關還可以組合端點以避免 API 鏈接。這使您的客戶能夠利用單個公共端點,GET /user/me即使它必須從各種內部服務(如身份驗證服務、用戶服務和計費服務)中獲取數據。來自這些內部服務的響應將組合成單個響應以返回給客戶端。這使得客戶更容易使用您的 API,因為他們不必執行 API 鏈接。一個極端的例子是 Apollo GraphQL,它可以從許多服務中獲取許多實體并將它們組合成單個 API 端點POST /graphql
GET /user/me
POST /graphql
與數據轉換類似,借助 API 網關,您可以利用 API 網關將用戶路由到服務的特定版本。這可以通過標頭字段、路徑段(例如/v1或)來完成/v2,甚至可以處理復雜的金絲雀發布,其中一定比例的用戶流量被路由到新版本。隨著您對發布的信心增加,使用更新的 API 版本的用戶比例可以慢慢增加。通過執行逐步升級,您可以最大限度地降低新 API 發布因功能或性能問題而導致系統范圍中斷的風險。
/v1
/v2
一旦您投資了 API 平臺,您就會希望通過構建客戶實際采用且沒有錯誤的 API 平臺來確保獲得投資回報。像Moesif這樣的 API 分析解決方案可以補充您的 API 網關,為您提供實現產品領先增長所需的必要可見性和報告。這包括您的客戶如何使用您的 API、他們是誰以及哪些營銷渠道引導他們進行集成。除了報告之外,API 分析通常還包括實時監控功能,因此當問題確實發生時,您可以隨時收到警報。
雖然 API 管理和 API 網關解決方案是為基礎設施和站點可靠性工程而設計的,但 API 分析通常是為更廣泛的技術和非技術用戶而設計的,包括產品、工程和支持。正因為如此,像 Moesif 這樣的 API 分析供應商更有可能是托管的 SaaS 解決方案,而不是本地解決方案,但也可以自行開發。
產品分析可讓您跟蹤和了解關鍵 API 指標,例如 API DAU(每日活躍用戶)、頂級客戶正在使用的端點以及關鍵端點的第 90 百分位延遲。一些 API 分析工具提供更復雜的分析,例如群組留存分析和漏斗分析,因此您可以跟蹤 KPI,例如平均首次 Hello World 時間(TTFHW) 和轉化率,從而了解您的產品的吸引力和粘性。
TTFHW 衡量從首次訪問您的登錄頁面到通過您的 API 平臺進行首次交易的 MVP 集成所需的時間。這是一個跨職能指標,跟蹤營銷、文檔和教程以及 API 本身。
除了衡量留存率和參與度等產品指標外,API 分析還提供了一種簡單的方法來加快調查和調試 API 功能和性能問題。高基數日志分析使您可以使用熱圖、時間序列、瀑布圖和其他圖表繪制趨勢。一些 API 分析還會實時記錄完整的 API 調用,以便您可以檢查請求和響應標頭和正文,并進行差異分析甚至重播并從失敗的事務中生成測試。
許多 API 分析工具還提供 API 監控和警報功能,因此您可以在 API 發生故障或運行異常時收到通知。與簡單的健康探測合成監控不同, API 真實用戶監控根據歷史趨勢檢測客戶實際 API 流量中的異常行為。API 問題可能與業務有關,例如來自關鍵客戶的 API 活動意外下降,也可能與工程有關,例如功能或性能問題。具體來說,API 分析側重于幾個關鍵支柱:
一些 API 分析解決方案提供了一種與技術和非技術團隊成員共享和協作儀表板的方法,或者自動對使用數據進行沙盒處理,以便您可以以安全的方式直接與外部合作伙伴共享儀表板。通過在面向客戶的門戶中嵌入 API 調試日志和計劃使用信息,客戶可以解決問題,而不會給已經捉襟見肘的支持團隊帶來負擔。
API 分析工具從您的 CRM、BI 和支持工具中提取數據。這使您的客戶成功和支持團隊能夠通過客戶的電子郵件或姓名查找客戶的 API 活動,以快速解決集成問題。用戶和公司級別的信息還使您的公司能夠集中跟蹤各種潛在客戶和客戶如何集成和堅持使用您的 API。
雖然 API 網關和 API 管理可以互換使用,但嚴格來說,API 網關是指單個代理服務器,而 API 管理是指管理生產中的 API 的整體解決方案,其中包括一組在集群中運行的 API 網關、一個管理 UI,甚至可能包括其他項目,例如供客戶注冊和生成新 API 密鑰的開發人員門戶。
管理面板可以實現以下幾項功能:
原文鏈接:API Management vs API Gateway and where does API Analytics and Monitoring fit?