Apigee Hybrid 是用於開發及管理 API Proxy 的平台,採用混合型部署模式。混合型模型包含 Apigee 在雲端代管的管理層,以及您在某個支援的 Kubernetes 平台上安裝及管理的執行階段層。
在單一位置上管理所有 API |
Apigee hybrid 可協助您使用 Google Cloud 管理內部和外部 API。 透過統一的 API 管理,您可以為您的開發人員、合作夥伴和客戶提供一致的 API 程式體驗。 |
兼顧安全性和法規遵循 |
如果您因法律規範和安全性考量而導致您的應用程式必須採用內部部署,有了企業級混合型閘道,您就能在內部部署環境中代管及管理 Apigee hybrid 執行階段層。 您可以管理及控制執行階段,將閘道放置在更接近 API 流量的位置,並利用現有的法規遵循、管理和安全性基礎架構。 |
支援您的多雲端策略 |
如要在成本和成效之間取得平衡,您可能必須採用混合式策略。 無論您是在探索不同的雲端供應商,還是已經選擇要採用的混合型策略,您的 API 管理平台皆應能為您提供所需的靈活度。您可以在資料中心和 Google Cloud 中代管及管理企業級混合型閘道。 |
如要進一步瞭解混合式連線,請參閱以下文章:
|
安裝混合型:
|
混合式雲端環境中的 API 計畫
Apigee Hybrid 包含由 Google 維護的管理層,以及您在支援的 Kubernetes 平台上安裝的執行階段層。兩個平面都使用 Google Cloud Platform 服務,如下圖所示:
如您所見,混合型廣告由下列主要元件組成:
- Apigee 執行的管理層:一組由 Google 維護的雲端服務。這些服務包括使用者介面、管理 API 和分析。
客戶代管的執行階段層:您在自己的 Kubernetes 叢集中設定及維護的一組容器化執行階段服務。所有 API 流量都會經過並在執行階段平面中處理。
管理 Kubernetes 叢集上的容器化執行階段時,您可以利用階段發布、自動調整資源配置和容器的其他操作優勢獲得更高的靈活性。
- Google Cloud:由 Google 代管的一套雲端服務。
關於混合型架構,您必須瞭解的一項重要資訊是,所有 API 流量都會在您的網路範圍內處理,並由您控制,而 UI 和 API 分析等管理服務則會在雲端執行,並由 Google 維護。詳情請參閱「資料存放位置」。
以下影片深入探討混合型架構:
關於執行階段層
執行階段層是一系列容器化執行階段服務,您可以在自己的 Kubernetes 叢集中設定及維護這些服務,這些叢集會在支援的 Kubernetes 平台上執行。所有 API 流量都會在執行階段平面中傳送及處理。這個執行階段平面包含下列主要元件:
執行階段層會在您維護的支援的 Kubernetes 平台上執行的 Kubernetes 叢集中執行。
下圖顯示在執行階段平面上執行的主要服務:
如要進一步瞭解執行階段元件的一般資訊,請參閱後續各節。此外,請參閱「執行階段服務設定總覽」。
以下各節將詳細說明這些主要的執行階段平面服務。
訊息處理器
混合式訊息處理器 (MP) 會在執行階段平面提供 API 要求處理和政策執行作業。從本機儲存空間載入所有已部署的 Proxy、資源、目標伺服器、憑證和 KeyStore。您可以設定 Istio Ingress 控制器,將 MP 公開給來自叢集外部的請求。
同步處理工具
同步器會從管理層擷取 API 環境的設定資料,並在執行階段層傳播這些資料。這項下載資料也稱為合約,並儲存在本機檔案系統中。
同步器會定期向管理伺服器查詢變更,並在偵測到變更時下載新設定。系統會擷取設定資料,並將其儲存在本機檔案系統中做為 JSON 檔案,以便訊息處理器存取。
下載的設定資料可讓執行階段層與管理層獨立運作。有了這份合約,執行階段平面上的訊息處理器就會使用本機儲存的資料做為設定。如果管理層和執行階段層之間的連線中斷,執行階段層上的服務仍會繼續運作。
同步器下載的設定資料包括:
Cassandra 資料儲存庫
Apache Cassandra 是執行階段資料儲存庫,可為執行階段平面提供資料持久性。
Cassandra 是分散式資料系統,可在執行階段平面提供資料持久性。您可以在 Kubernetes 叢集中,將 Cassandra 資料庫部署為 StatefulSet 節點集區。將這些實體放在與執行階段處理服務相近的位置,有助於滿足安全性和高可擴充性的需求。
Cassandra 資料庫會儲存下列實體的資訊:
- 金鑰管理系統 (KMS)
- 鍵值對應 (KVM)
- 回應快取
- OAuth
- 配額
執行階段資料的管理 API (MART)
屬於貴機構的資料,以及在執行階段 API 呼叫期間存取的資料,都會由 Cassandra 儲存在執行階段平面。
這些資料包括:
- 應用程式設定
- 金鑰管理系統 (KMS) 資料
- 快取
- 鍵/值對應 (KVM)
- API 產品
- 開發人員應用程式
如要存取及更新這類資料 (例如新增 KVM 或移除環境),您可以使用 Apigee 混合 UI 或 Apigee API。MART 伺服器 (即執行階段資料的管理 API) 會針對執行階段資料儲存庫處理 API 呼叫。
本節說明呼叫 Apigee API 以存取執行階段資料儲存庫時,MART 所扮演的角色。
什麼是 MART | 如要呼叫 Apigee API,您必須向管理層的管理伺服器 (MS) 傳送經過驗證的要求。MS 會驗證並授權要求,然後將要求轉送至執行階段平面的 MART。該要求附帶的權杖是 MS 使用預先設定的服務帳戶產生的權杖。 MART 會接收要求、驗證並授權,然後執行業務驗證。(例如,如果應用程式是 API 產品的一部分,MART 會確保這是有效要求)。判斷要求是否有效後,MART 就會處理這項要求。 Cassandra 會儲存 MART 處理的執行階段資料 (畢竟它是執行階段資料儲存庫)。視要求類型而定,MART 可能會讀取 Cassandra 中的資料,或更新該資料。 與大多數混合型服務一樣,MART 是無狀態的:不會在執行階段保留自身的狀態。 |
MART 不是什麼 | 管理層會透過 Apigee Connect 代理程式與 MART 通訊,該代理程式會使用具有 Apigee Connect 代理程式角色的服務帳戶 (在大多數安裝作業中為 MART 服務帳戶)。請勿直接呼叫 MART。 此外,MART 不會接收 API Proxy 要求;這些呼叫會由 Runtime ingress 控制器處理,並轉送至叢集的訊息處理器。 |
值得一提的是,MART 和訊息處理器都能存取相同的執行階段資料儲存庫 (Cassandra),這就是 KMS、KVM 和快取等資料的共用方式。
下圖顯示 Apigee API 呼叫的流程:
UDCA
通用資料收集代理程式 (UDCA) 是執行階段平面中資料收集 Pod 中執行的服務,可擷取分析、偵錯和部署狀態資料,並將這些資料傳送至 UAP。
詳情請參閱「收集偵錯、分析和部署狀態資料」。
關於管理層
管理層會在 Google Cloud 上執行。這項服務包括行政管理服務,例如:
- Apigee Hybrid UI:提供 UI,方便開發人員建立及部署 API Proxy、設定政策、建立 API 產品,以及建立開發人員應用程式。管理員可以使用 Apigee 混合式 UI 監控部署狀態。
- Apigee API:提供程式介面,用於管理貴機構和環境。
- 統一數據分析平台 (UAP):接收並處理執行階段平面中的數據分析和部署狀態資料。
下圖顯示在管理層執行的主要服務:
關於 Google Cloud 服務
下表說明混合型架構可運用的主要 Google Cloud 服務:
Google Cloud 服務 | 說明 |
---|---|
身分 | 使用者帳戶驗證會使用 Google Cloud 帳戶。授權會使用 Google Cloud 服務帳戶。 |
角色 | 混合式存取權管理系統會使用 Google 的角色引擎 (IAM),並支援預設的 Apigee 角色。 |
資源階層 | 資源會彙整在 Google Cloud 專案中 (連結至 Apigee 機構)。 |
Cloud 作業套件 | 提供記錄和指標資料分析。 |
使用者類型
Apigee 已識別出下列主要類型的混合型使用者:
角色 | 一般職責/工作 | 感興趣的領域 |
---|---|---|
系統管理員/操作員 |
|
|
開發人員 |
|
|
優點
Apigee Hybrid 具備下列優勢:
- 提高靈活彈性
- 由於混合式應用程式會在容器中提交及執行,因此您可以實現階段性發布、自動調整資源配置和容器化系統的其他操作優勢。
- 減少延遲
- 與混合管理層的所有通訊都是非同步的,不會在處理用戶端 API 要求時發生。
- 提高 API 採用率
- 雖然您可以使用 Apigee 處理內部 API,但混合型架構可縮短延遲時間並提高效率,因此使用混合型架構處理內部 API 是個不錯的選擇。這項效率的部分原因在於 API Gateway 會在內部執行,與後端服務相距不遠。此外,如果您使用的是 Apigee,透過混合式處理內部 API,即可提高 Apigee 的採用率。
- 更完善的控管方式
- 許多企業都開始採用混合式策略。對於大型企業而言,管理在私人資料中心部署的 API 執行階段是一項重要需求。目前,混合式執行階段平面可以部署至 Google Cloud 或您自己的資料中心。
下一步
請參閱總覽,瞭解混合安裝程序的總體情況。