API 開發生命週期

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

每個機構都有獨特的軟體開發生命週期 (SDLC)。通常需要同步處理 API Proxy 部署作業,並與您目前用於開發、測試及部署其他應用程式的程序相同。

API 服務提供工具和符合 REST 樣式的 API,能讓您將 API Proxy 部署與管理功能整合至貴機構的 SDLC。符合 REST 樣式的 API 常見用途,就是編寫可透過程式部署 API Proxy 的指令碼或程式碼,或是將 API Proxy 從某個環境遷移至另一個環境。也就是說,這個大型自動化程序也會部署或遷移其他應用程式。API 服務不會對您的 SDLC (或任何他人) 做出任何假設。而是揭露可由開發團隊協調的原子函式,進而自動化及最佳化您的 API 開發生命週期。

如需 API 服務 API 的相關說明,請參閱 API 參考資料。請參閱 API 參考資料入門指南

請觀看這部影片,瞭解 API 環境和 API 開發生命週期。

環境

Apigee Edge 中的每個機構都至少有兩個可用於 API Proxy 的部署環境:「test」和「prod」。這兩種環境之間的差異可以任意區分,每個環境都能透過一組不同的網路位址 (網址) 識別。目標是提供一個網域,您可以在該網域中建構及驗證 API Proxy,再向外部開發人員公開 API。

您可以運用這些環境,同步處理與 SDLC 處理的 API Proxy 開發作業。每個環境都是由網路位址定義,可讓您區隔正在處理的 API Proxy 與執行階段應用程式存取的流量。每個環境可用的網路位址,都是由該環境可用的一組 VirtualHost 所定義。

系統會自動為每個環境啟用內送和伺服器 TLS/SSL。每個環境中都會預先定義兩個 VirtualHost:defaultsecure。預設會使用預先設定的伺服器端 TLS/SSL,以安全方式定義 HTTP/S 位址。在 API Proxy 設定中,您需要指出 ProxyEndpoint 應監聽的 VirtualHost。推送至實際工作環境時,通常會從 API Proxy 設定中移除 default VirtualHost,藉此停用 HTTP。

舉例來說,下列 ProxyEndpoint 會監聽 HTTP 和 HTTPS。

<HTTPProxyConnection>
  <BasePath>/v0/weather</BasePath>
  <Properties/>
  <VirtualHost>default</VirtualHost>
  <VirtualHost>secure</VirtualHost>
</HTTPProxyConnection>

從 ProxyEndpoint 設定中刪除 default VirtualHost,就會建立僅使用 HTTPS 而非 HTTP 監聽的 API Proxy。

<HTTPProxyConnection>
  <BasePath>/v0/weather</BasePath>
  <Properties/>
  <VirtualHost>secure</VirtualHost>
</HTTPProxyConnection>

只要在管理 UI 主選單中選取「Environments」,即可查看環境中有哪些可用的 VirtualHost。

環境也提供資料和資源區隔。例如,您可以在測試和正式版中設定不同的快取,只有在該環境中執行的 API Proxy 才能存取。此外,在測試環境中核發的 API 金鑰在正式環境中無效,反之亦然。

將 API Proxy 部署至環境

建立 API Proxy 時,您必須決定要在哪個環境著手。您可以選擇在實際工作環境中建立新的 API Proxy,但建議您在正式發布 API 前向開發人員公開 API,因此不建議這麼做。一般而言,請先在 test 中建立 API Proxy,測試完成後再升級為 prod

詳情請參閱「瞭解部署」一文。

測試中的疊代開發

使用 API Proxy 時,API 服務會將設定疊代儲存為「修訂版本」。部署 API Proxy 時,您需要選擇要部署的特定修訂版本。一般來說,您會部署最新的修訂版本,並視需要還原至先前的修訂版本編號。您可以選擇這些修訂版本的部署位置。舉例來說,您可以將修訂版本升級為正式版,讓開發人員開始使用您的 API。同時,您也可以在測試時疊代多個修訂版本,用來新增功能或微調政策。準備就緒後,您就可以將新的修訂版本部署至正式環境,覆寫該環境的現有修訂版本。使用這個方法時,您可以在開發期間隨時向開發人員提供 API 的即時修訂版本。

升級為正式版

API Proxy 完全實作並經過測試後,即可升級至「prod」。測試中的 API Proxy 修訂版本將用於覆寫實際工作環境中部署的 API Proxy 修訂版本。

API 服務提供可確保 API Proxy 順暢部署的功能,在部署過程中減少對應用程式和使用者的影響。

編寫指令碼

透過 Apigee Edge 管理 UI,您可以直接透過 API Proxy 建構工具將 API Proxy 部署至實際工作環境。不過,在許多情況下,安全性、可靠性和一致性方面的要求仍必須要求開發團隊編寫指令碼的部署程序。如要這麼做,您可以編寫程式碼和指令碼,叫用 API 服務公開的 RESTful API。

環境資源

如要在促銷活動期間進一步控制 API,建議您只在測試中疊代 API Proxy,並視需要對部署在實際工作環境中的 API Proxy 進行必要變更。

如要這麼做,您必須確保與各個環境相關聯的特定資源在 API Proxy 設定中保持為靜態。

  • 目標網址:在測試和實際工作環境期間,API Proxy 常常呼叫不同的後端網址。您可以使用 TargetServer 設定,建立環境獨立的 TargetEndpoint 設定。請參閱跨後端伺服器負載平衡一文。
  • 快取和鍵/值對應:這兩個持久性資源都會依環境界定範圍。建議您確保採用命名慣例讓 API Proxy 儲存資料,而無需在促銷活動期間變更設定。請參閱「建立及編輯環境快取」一文。
  • 服務呼叫目標:服務呼叫可能會根據環境使用不同的目標,例如測試環境中的 Service Call 會使用試用版服務。請參閱服務呼叫政策

如要讓 API Proxy 設定不受環境影響,您也可以使用條件陳述式。使用 environment.name 變數建構的條件陳述式可用來評估目前的環境,然後再強制執行政策或轉送至後端的網址。

詳情請參閱「瞭解部署作業」。