自上世紀60年代計算機網絡發展開始,API(Application Programming Interface )随之誕生,API即應用程式接口,是實作系統間銜接的橋梁。時至今日,API市場已經形成了一個龐大的生态體系,在擁抱API經濟的過程當中,API網關這一個元件起到了至關重要的作用。
什麼是API網關
API 網關提供完整的 API 托管服務,輔助使用者将能力、服務、資料以 API 的形式開放給合作夥伴,也可以釋出到 API 市場供更多的開發者采購使用。
1、提供防攻擊、防重放、請求加密、身份認證、權限管理、流量控制等多重手段保證 API 安全,降低 API 開放風險。
2、提供 API 定義、測試、釋出、下線等全生命周期管理,并生成 SDK、API 說明文檔,提升 API 管理、疊代的效率。
3、提供便捷的監控、報警、分析、API 市場等運維、營運工具,降低 API 營運、維護成本。

API托管服務: 為企業與開發者提供低成本、高可用、安全、便捷、易于管理的 API 開發能力。在 API 的市場裡,日均調用次數已經超過1.2億次,基于此背景,阿裡雲全新探索了雲市場能力中心,建立 API 生态,為企業客戶和夥伴提供 API 購買和 API 變現一站式解決方案。API 網關将能力的複用率最大化,讓企業之間能夠互相借力,企業發展能夠專注自身業務,實作共赢。
API網關産品架構
API網關可以實作:
1、API 生命周期管理
● 支援包括 API 釋出、API 測試、API 下線等生命周期管理功能。
● 支援 API 日常管理、API 版本管理、API 快速復原等維護功能。
2、全面的安全防護
● 支援多種認證方式,支援 HMAC (SHA-1,SHA-256) 算法簽名。
● 支援 HTTPS 協定,支援 SSL 加密。
● 防攻擊、防注入、請求防重放、請求防篡改。
3、靈活的權限控制
● 使用者以 APP 作為請求 API 的身份,網關支援針對 APP 的權限控制。
● 隻有已經獲得授權的 APP 才能請求相應的 API。
● API 提供者可以主動授權某個 APP 調用某個 API 的權限。
● API 若上架到 API 市場,則購買者可以将已購買的 API 授權給自己的 APP。
4、精準的流量控制
● 流量控制可以用于管控 API的被通路頻率、APP的請求頻率、使用者的請求頻率。
● 流量控制的時間機關可以是分鐘、小時、天。
● 同時支援流控例外,允許設定特殊的 APP 或者使用者。
5、請求校驗
● 支援參數類型、參數值(範圍、枚舉、正則、Json Schema)校驗,無效校驗直接會被 API 網關拒絕,減少無效請求對後端造成的資源浪費,大大降低後端服務的處理成本。
6、資料轉換
● 通過配置映射規則,實作前、後端資料翻譯。
● 支援前端請求的資料轉換。
● 支援傳回結果的資料轉換。
7、監控報警
● 提供可視化的API實時監控,包括:調用量、流量大小、響應時間、錯誤率,在陸續增加次元。
● 支援曆史情況查詢,以便統籌分析。
● 可配置預警方式(短信、Email),訂閱預警資訊,以便實時掌握API運作情況。
8、自動工具
● 自動生成 API 文檔,可供線上檢視。
● API 網關提供多種語言 SDK 的示例。降低 API 的運維成本。
● 提供可視化的界面調試工具,快速測試,快速上線。
9、API市場
● 可将 API 上架到 API 市場,供更多開發者采購和使用。
API網關提供完善的、對開發者友好的API管理方式,使用者不僅可以用控制台來管理API,還可以和已有的系統做連接配接。對于API網關來講,目前有兩種使用方式:
1、共享執行個體
免費開通,隻需要為調用所産生的次數和流量支付費用,但是因為共享執行個體,很多的多租戶會在一個執行個體上,相對來講安全性和穩定性不如專享執行個體來的高。
2、專享執行個體
當客戶的業務到了一定的規模或者是對安全性和穩定性有更高需求的時候,可以在控制台上買一個專享執行個體。購買之後,系統會自動提供一個獨立的入口IP,獨享伺服器叢集。專享執行個體能夠滿足更高SLA的需求,将分組切換至專享執行個體後,就能享受更高規格的服務,并且隻需在控制台上自主操作即可。
API常見應用場景
API 網關能夠支撐各個場景下開放 API 的需求,支援将 API 開放給合作夥伴、開發者,實作企業核心能力的貨币化,建立 API 生态;支援将 API 适配多端,如:移動、網際網路、物聯,實作系統前後端分離;支援内部系統整合子產品化、微服務化。
1、建立 API 生态,互相借力,協同發展
面對使用者日益膨脹而又碎片化的需求,企業需要不斷探索新的商業模式,來解決客戶一系列的場景化問題。通過API網關提供标準的 API 服務,讓其他開發者将不同 API 服務組合整合到自己的應用中,衍生出新的服務,促進企業建立商業生态、跨界創新。
● 通過 API 網關将企業的核心能力,開放給合作夥伴,達成深度合作,協同發展;
● 将 API 接入阿裡雲市場,以 API 的形式開放能力、服務、資料供廣大開發者采購使用,産生價值;
● 在 API 市場,采購第三方成熟的能力和服務,避免平鋪式開發,專注專業,借力發展。
2、安全的實作多端統一,一套服務,多端輸出
随着移動、物聯網的普及,API 需要支援更多的終端裝置,以擴充業務規模,但同時也帶來系統複雜性的提升。通過 API 網關可以使 API 适配多端,企業隻需要在 API 網關調整 API 定義,無需做額外工作。
● 企業隻需維護一個服務體系,面向多端輸出,隻需調整API定義,即可實作對APP、裝置、web端等多種終端的支援;
● 避免多個場景多套API,大大降低管理運維成本。
3、輕松實作系統內建,規範化、标準化
● 通過 API 網關對系統間接口進行規範統一,用标準化的接口實作系統內建;
● 快速完成資源整合和管理,消除快速發展造成的備援和浪費,聚力發展業務。
總結
阿裡雲 API 網關, 提供 API 托管服務, 涵蓋 API 設計、釋出、售賣全生命周期,輔助使用者簡單、快速、低成本、低風險的實作微服務聚合、前後端分離、系統內建。未來,API 網關也将結合阿裡雲A集市, 不斷提升 API 體驗,實作一站式 API 采購、變現解決方案。