API 開發生命週期

您正在查看 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

每個機構都有獨特的軟體開發生命週期 (SDLC)。一般而言,同步處理 API Proxy 部署項目時,必須與目前用於開發、測試及部署其他應用程式的相同程序進行同步處理。

API 服務提供多種工具和符合 REST 樣式的 API,可讓您將 API Proxy 部署與管理功能整合至貴機構的 SDLC。符合 REST 樣式的 API 的常見用途,是編寫以程式輔助方式部署 API Proxy 的指令碼或程式碼,或是將 API Proxy 從某個環境遷移至另一個環境,藉此一併部署或遷移其他應用程式。API 服務不會對您的 SDLC (或任何其他人的 SDLC) 做出任何假設。而是公開原子函式,讓開發團隊協調這些函式,以便自動化及最佳化 API 開發生命週期。

關於 API 服務 API,請參閱 API 參考資料。請參閱API 參考資料的相關說明。

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

環境

Apigee Edge 中的每個機構至少有兩個可用於 API 代理程式的部署環境:「test」和「prod」。這兩個環境之間的差異是任意的,每個環境只會以不同的網路位址 (網址) 識別。目的是提供您一個可在其中建構及驗證 API Proxy 的網域,以便在 API 公開給外部開發人員前先行驗證。

您可以利用這些環境,將與 SDLC 處理的 API Proxy 開發作業保持同步。每個環境都由網路位址定義,可讓您將流量區隔為您正在處理的 API Proxy,以及應用程式在執行階段存取的 API Proxy。每個環境可用的網路位址,是在該環境中可用的 VirtualHosts 集合中定義。

系統會自動為各個環境啟用傳入及伺服器傳輸層安全標準 (TLS)/安全資料傳輸層 (SSL) 功能。每個環境中都有兩個預先定義的 VirtualHost:defaultsecure。預設定義 HTTP 位址,而安全定義則定義 HTTP/S 位址,並預先設定伺服器端 TLS/SSL。在 API Proxy 設定中,您可以指定 ProxyEndpoint 應聆聽哪些 VirtualHosts。將測試環境升級至實際環境時,通常會從 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>

如要查看環境中可用的 VirtualHost,請在管理 UI 主選單中選取「Environments」

環境也提供資料和資源的分隔功能。舉例來說,您可以在測試和實際工作環境中設定不同的快取,且只有在該環境中執行的 API Proxy 才能存取這些快取。此外,在測試環境中核發的 API 金鑰在正式版環境中無效,反之亦然。

將 API Proxy 部署至環境

建立 API Proxy 時,您必須決定要使用哪個環境。您可以選擇在正式環境中建立新的 API 代理程式,但我們不建議這麼做,因為您可能會在 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 Proxy,並盡可能減少對實際部署的 API Proxy 所做的變更。

為此,您必須確保與各個環境相關聯的特定資源,以可在 API Proxy 設定中保持靜態的方式進行設定。

  • 目標網址:API Proxy 在測試和實際工作環境中,通常會呼叫不同的後端網址。您可以使用 TargetServer 設定建立不受環境限制的 TargetEndpoint 設定。請參閱「跨後端伺服器負載平衡」。
  • 快取和鍵/值對應:這兩種持續性資源的範圍都由環境決定。您應確保使用命名慣例,讓 API Proxy 在宣傳期間儲存資料時,不必變更設定。請參閱「建立及編輯環境快取」一文。
  • 服務呼叫目標:服務呼叫可能會根據環境使用不同的目標,舉例來說,如果在測試環境中使用示範服務,則服務呼叫會使用示範服務。請參閱服務摘要政策

如要讓 API Proxy 設定在環境獨立,您也可以使用條件陳述式。使用 environment.name 變數建立的條件式陳述式,可在套用政策或導向後端網址之前,評估目前的環境。

詳情請參閱瞭解部署作業