什麼是 Apigee Edge?

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

Apigee Edge 是用於開發及管理 API 的平台。Edge 透過使用 Proxy 層的前端服務,為您的後端服務 API 提供抽象層或門面,並提供安全性、頻率限制、配額和數據分析等功能。

舉例來說,您可以 觀看有關 Walgreens 如何使用 API 和 Apigee Edge 的網路廣播,針對相片列印、處方和其他服務提供豐富的應用程式生態系統。

建立第一個 Proxy!

數位加速

這部影片可讓您快速瞭解 Apigee 如何協助您發展成數位業務。

在服務管理和 API 管理之間做選擇

這部影片可協助您瞭解服務管理和 API 管理服務之間的重要差異。而設的子目錄

在網路上提供您的服務

現今的企業希望能在網路上提供後端服務,讓在行動裝置和電腦上執行的應用程式能夠使用這些服務。公司可能會想公開提供產品價格和供應情形資訊、銷售和訂購服務、訂單追蹤服務,以及用戶端應用程式要求的任何其他服務的服務。

企業通常會以一組 HTTP 端點的形式公開服務。然後,用戶端應用程式開發人員會向這些端點提出 HTTP 要求。視端點而定,服務可能會將格式化為 XML 或 JSON 的資料傳回用戶端應用程式。

使用這些服務的用戶端應用程式可做為行動裝置或平板電腦的獨立應用程式,例如在瀏覽器中執行的 HTML5 應用程式,或是可向 HTTP 端點發出要求並取用任何回應資料的任何其他類型的應用程式。這些應用程式可能是由公開服務的公司,或第三方應用程式開發人員開發及發布。

下圖顯示這類模型:

數種應用程式,例如行動應用程式、銷售點應用程式、合作夥伴和網頁應用程式,皆會連結至後端服務,例如 ESB、SOA、應用程式伺服器和資料庫。

由於供應商會透過網路提供服務,因此必須確保他們採取所有必要步驟,保護自家服務的安全,防止他人在未經授權的情況下擅自存取。身為服務供應商,請考慮下列事項:

  • 安全性:如何控管服務存取權,防止未經授權的存取行為?
  • 相容性:您的服務是否能在不同平台和裝置上運作?
  • 可評估度:如何監控服務以確保服務可供使用?
  • 營利:如何追蹤客戶的服務存取權並向他們收費?
  • 還有許多其他考量

發布會存取任何服務的用戶端應用程式後,您需要服務供應商,才能確保這些服務在新增、修改或刪除這些服務時能繼續運作。此外,服務供應商也必須能夠確保應用程式開發人員瞭解服務的任何異動,以確保用戶端應用程式與這些服務保持同步。

用戶端應用程式開發人員在嘗試使用不同供應商的服務時會遇到困難。目前市面上有許多可供服務供應商使用的技術,可用來公開自家服務。同一個用戶端應用程式可能需要使用一種機制來使用來自一個供應商的服務,並使用不同機制來使用不同供應商的服務。應用程式開發人員甚至可以藉由使用不同的機制,使用同一供應商的服務。

透過 Apigee Edge 提供服務

有了 Apigee Edge,您就能透過定義明確且適用於所有服務的安全 API,安全地存取服務,無論服務實作為何。一致的 API:

  • 方便應用程式開發人員使用你的服務。
  • 可讓您在不影響公用 API 的情況下,變更後端服務實作項目。
  • 可讓您充分運用 Edge 內建的數據分析、營利、開發人員入口網站和其他功能。

下圖顯示使用 Edge 處理從用戶端應用程式傳送至後端服務的要求的架構:

Apigee Edge 位於用戶端應用程式和後端服務之間。

應用程式開發人員不會直接使用服務,而是存取在 Edge 中建立的 API Proxy。API Proxy 的運作方式是將公開可用的 HTTP 端點對應至後端服務。建立 API Proxy 後,Edge 就能處理保護服務所需的安全性和授權工作,以及分析、監控這些服務並從中營利。

應用程式開發人員會向 API Proxy 發出 HTTP 要求,而非直接發出您的服務,因此開發人員不必瞭解服務實作情形。所有開發人員都必須知道:

  • API Proxy 端點的網址。
  • 要求中傳遞的任何查詢參數、標頭或內文參數。
  • 任何必要的驗證和授權憑證。
  • 回應格式,包括回應資料格式,例如 XML 或 JSON。

API Proxy 會將應用程式開發人員與您的後端服務隔離。因此,只要公用 API 維持一致,您就可以自由變更服務實作。透過維持一致的前端 API,現有的用戶端應用程式將繼續運作,即使後端發生變更亦然。

您可以使用 API Proxy 上的政策為服務新增功能,而不必變更後端服務。舉例來說,您可以在 Proxy 中新增政策,以便執行資料轉換及篩選、增加安全性、執行條件式邏輯或自訂程式碼,以及執行許多其他動作。請特別注意,您要在 Edge 上實作政策,而不是在後端伺服器。

詳情請參閱瞭解 API 和 API Proxy

建立 API 產品

API Proxy 是 Apigee Edge 上的 HTTP 端點,開發人員會使用這個端點存取您的後端服務。雖然可以的話,但您通常不會提供個別 API Proxy,相反地,您可以將一或多個 API Proxy 分入單一 API 產品中。

API 產品是一組 API Proxy 搭配服務方案。該服務方案可以設定 API Proxy 的存取限制、提供安全防護、允許監控與數據分析,並提供其他功能。API 產品也是 Edge 用來授權及控管 API 存取權的中央機制。

您在建立 API 產品時有大量的彈性,舉例來說,多個 API 產品可以共用同一個 API Proxy。下圖顯示三項 API 產品。請注意,所有產品都允許存取 API Proxy 3,但只有產品 A 能存取 API Proxy 1。

產品 A 存取 Proxy 1 和 3。產品 B 存取 Proxy 3。產品 C 存取 Proxy 2、3 和 4。

您可以在每個 API 產品上設定不同的屬性。例如,您可能以實惠價格提供一項 API 產品,但存取限制較少,例如每日 1,000 次要求。然後發布另一項 API 產品,該產品可以存取同一個 API Proxy,但存取權限制更大,但價格也更高。或者,您可以建立免費的 API 產品,讓產品具備唯讀存取權,然後再將 API 產品銷售至允許讀取/寫入存取權的 API Proxy。

詳情請參閱「管理 API 產品」一文。

允許用戶端應用程式存取您的 API 產品

當應用程式開發人員決定存取您的服務時,必須先透過您的 API 產品註冊他們的用戶端應用程式。

用戶端應用程式需要金鑰才能呼叫與 API 產品相關聯的 API。

應用程式開發人員會在註冊後收到 API 金鑰。這樣一來,每當向 API 產品中包含的 API Proxy 提出要求時,開發人員就必須加入 API 金鑰。該金鑰已通過驗證,如果驗證成功,要求就能存取您的後端服務。

您隨時可以撤銷金鑰,讓用戶端應用程式無法再存取您的服務。或者,您可以定義金鑰的時間限制,讓開發人員必須在特定時間後重新整理金鑰。

由您決定如何處理開發人員提出的註冊要求,以存取您的 API 產品。您可以使用 Apigee Edge 開發人員服務來自動化註冊程序,也可以透過手動程序控管存取權。

建立 API 產品並開放開發人員使用

  1. 建立一或多個 API Proxy,將公開可用網址對應至後端服務。
  2. 建立封裝 API Proxy 的 API 產品。
  3. 部署 API Proxy 和 API 產品。
  4. 讓開發人員知道 API 產品已可供使用。

應用程式開發人員瞭解 API 產品的供應情形後,就會:

  1. 使用 API 產品註冊客戶的用戶端應用程式。
  2. 接收 API 產品的 API 金鑰。
  3. 透過 API Proxy (包含在 API 產品中) 向您的服務提出要求,並隨每個要求傳遞 API 金鑰。

Apigee Edge 元件

Apigee Edge 包含 API 執行階段、監控與分析和開發人員服務,這些服務可以提供全方位的基礎架構,以便建立 API、管理安全性、管理各項作業及提供相關作業。

下圖顯示 Edge 服務:

開發人員可以存取開發人員生態系統,包括 SmartDocs、可自訂入口網站、自助式金鑰管理和 SDK。應用程式和服務可存取 API 執行階段,其中包括閘道、連接器、自訂程式碼、安全性和管理 API。作業工程師可以存取監控和數據分析資料,包括業務報表、效能監控、自訂報表和追蹤記錄。

Edge API 執行階段

無論是以服務供應商的身分建立 API Proxy,還是要以應用程式開發人員身分使用 API、SDK 和其他便利服務,Apigee Edge API 服務都有助於建立及使用 API。

API 管理伺服器提供多項工具,可讓您新增及設定 API Proxy、設定 API 產品,以及管理應用程式開發人員和用戶端應用程式。可從後端服務卸載許多常見的管理疑慮。新增 API Proxy 時,您可以對 API Proxy 套用政策,以提升安全性、頻率限制、中介服務、快取等功能。您也可以套用自訂指令碼、呼叫第三方 API 和服務等來自訂 API Proxy 的行為。詳情請參閱瞭解 API 和 API Proxy

如果您是 Node.js 開發人員,可以完美地將 Node.js 模組新增至 Edge 建立 API 和 API 混搭,同時運用 Edge 提供的多項優勢,包括訊息轉換、安全性與分析等。

邊緣監控與數據分析

Apigee Edge API Analytics 提供功能強大的工具,方便您查看 API 的短期和長期使用趨勢。您可以按照熱門開發人員和應用程式區隔目標對象、瞭解各 API 方法的使用情形,掌握投資方向,以及針對業務或營運層級資訊建立自訂報表。

透過 Edge 傳遞資料時,系統會收集多種預設類型的資訊,包括網址、IP、API 呼叫資訊的使用者 ID、延遲時間和錯誤資料等。您可以建立政策來新增其他資訊,例如標頭、查詢參數,以及從 XML 或 JSON 擷取的要求或回應部分。這項資訊是從實際要求/回應流程以非同步方式收集而來,因此不會對 API 效能造成任何影響。

管理 UI 可讓您在瀏覽器中查看多個指標和維度,如下圖所示:

以圖表和表格形式顯示政策錯誤數量的數據分析資訊主頁。

不過,您也可以透過指令列介面或符合 REST 樣式的 API,存取及控制 Analytics (分析) 服務。詳情請參閱「API 數據分析總覽」一文。

邊緣開發人員生態系統

Apigee Edge 提供開發人員服務,可讓您:

  • 管理使用你服務的應用程式開發人員社群。
  • 與內部和外部開發人員合作,正式建立與財務模型的關係。
  • 協助開發人員及建立開發人員入口網站。應用程式開發人員連線至入口網站即可存取 API 說明文件,進一步瞭解有哪些公開 API 產品及管理 API 金鑰。

所有 Edge 客戶都能透過 Apigee Edge for Private Cloud,在雲端或地端部署系統中建立自己的開發人員入口網站。

Apigee Edge 可讓您建立兩種類型的入口網站:

營利

營利功能可提供財務基礎架構和關係,將開發人員社群變成數位資產的實際管道。透過營利功能,您可以建立各種費率方案,向開發人員收取 API 產品的使用費用,或在共享收益的情境下將款項支付給開發人員。

包括預付方案、事後付費方案、固定付費方案、收費費率方案、「免費增值」方案、為特定開發人員量身打造的方案,以及專為開發人員團體設計的方案等。另外,營利計畫也提供報表和計費功能。

詳情請參閱「營利總覽」一文。

邊緣變味

Apigee Edge 有下列變種版本:

  • 公有雲:託管 SAAS 版本,Apigee 可維護環境,讓您專心建構服務並定義這些服務的 API。
  • Private Cloud:一種地端部署安裝項目,您可以在其中控制硬體環境,並負責安裝、升級、維護和其他管理程序。

如果您對我們的 Apigee Hybrid 版本感興趣,請參閱下列 Apigee X 主題:

從功能層面來看,公有雲和私有雲版本非常相似。不過,私有雲版本支援公有雲版本的所有功能。Private Cloud 不支援的功能包括:

  • 代管目標
  • 擴充功能
  • 整合開發人員入口網站 (注意:支援以 Drupal 為基礎的開發人員入口網站)
  • API 監控
  • Sense

如需不同版本之間的差異清單,請參閱比較 Apigee 產品

而 API 之間也有些微差異,詳情請參閱適用於 Public Cloud API 的 Edge 與 Private Cloud API 的差異

公有雲同時支援免費和付費帳戶。您必須使用付費帳戶才能使用 Private Cloud。

為了完整支援內部部署安裝,Private Cloud 版本包含 Apigee 管理伺服器、Apache Cassandra NoSQL 資料庫、OpenLDAP 伺服器、訊息路由器和訊息處理器等元件。