Show Menu
主題×

Adobe Experience Manager 雲端服務架構簡介

Adobe Experience Manager (AEM) 雲端服務的架構有所變更。

縮放比例

AEM 雲端服務現已具備:
  • AEM 映像數量可變的動態架構。

動態架構

此架構特色:
  • 根據​ 實際 ​流量和​ 實際 ​活動調整規模。
  • 需要時才會執行某些個別例項。
  • 使用模組化應用程式。
  • 以製作叢集為預設值,這能避免因執行維護任務而發生停機狀況。
如此一來,架構就能根據多變的使用模式,自動調整規模:

根據多變的使用模式自動調整規模

為達此目的,AEM 雲端服務的所有例項在建立之初條件皆相等,節點數、配置的記憶體和運算容量等方面,每個例項都具有相同的預設大小調整特性。
AEM 雲端服務以協調引擎為運作基礎,該引擎的功能包括:
  • 持續監控服務狀態。
  • 根據實際需求動態調整每個服務例項的規模,可視需求擴充或縮減。
此特性:
  • 適用於節點數、記憶體大小和每個節點所配置的 CPU 容量。
  • 使 AEM 雲端服務能因應流量變化。
您可以在兩軸上透過自動或手動方式,為服務的每個租用戶例項調整規模:
  • 垂直:可針對固定的節點數量擴充或縮減配置的記憶體和 CPU 容量。
  • 水平:可針對特定服務增減節點數量。

環境

如需詳細資訊,請參閱 部署 - 執行模式
AEM 雲端服務可作為個別例項使用,每個例項皆代表完整的 AEM 環境。AEM 雲端服務提供四種類型的環境:
  • 生產環境 :為商務從業人員代管應用程式。
  • 預備環境 :始終與單一生產環境維持 1:1 關係。將應用程式的變更推送至生產環境之前,可先使用預備環境測試效能和品質。
  • 開發環境 :開發人員可在與預備和生產環境相同的執行階段條件下,實作 AEM 應用程式。
  • 展示環境 :適用於評估、展示、建立原型和訓練等用途。
開發和展示環境通常稱為​ 非生產 ​環境。

計劃

所有新的 AEM 專案都會與單一特定程式碼基底建立繫結,專案的設定和自訂程式碼都會儲存於基底之中。這些資訊會儲存在程式碼存放庫中,供您在建立新計劃時使用,透過一般的 Git 用戶端即可存取。
AEM 計劃是包含下列項目的容器:
 計劃元素
 數量
程式碼存放庫 (Git)
 1
基準映像 (Sites 或 Assets)
 1
預備和生產環境集 (1:1)
0 或 1
非生產環境 (開發或展示)
0 到 N
各環境相關管道
0 或 1
AEM 雲端服務最初提供兩種類型的計劃:
  • AEM Cloud Sites Service
  • AEM Cloud Assets Service
兩者皆可存取幾項功能。製作層級會包含所有計劃的完整 Sites 和 Assets 功能,但 Assets 計劃預設不含發佈層級。

執行階段架構

此新架構具備多種主要元件:

AEM 雲端服務 - 執行階段架構

  • AEM Sites 雲端服務:
    • 延續各環境 (高階層) 具備製作層級和發佈層級的概念。
    • 製作層級是由單一製作叢集內兩個以上節點所組成,會根據製作活動自動調整規模。
      • 內容作者/建立者登入 AEM 製作層級,以建立、編輯及管理內容。
      • 製作層級的登入活動由 Adobe Identity Management Services (IMS) 管理。
      • Assets 整合與處理作業會使用專屬的 Assets Compute Service。
    • 發佈層級是由單一發佈伺服器陣列中兩個以上節點所組成:節點可獨立運作。每個節點均包含 AEM 發佈者和具備 AEM Dispatcher 模組的網頁伺服器,而節點會根據網站流量需求自動調整規模。
      • 一般使用者或網站訪客能透過 AEM Publish Service 造訪網站。
  • AEM Assets 雲端服務:
    • 此架構僅包含製作環境。
  • 製作層級和發佈層級都會從內容存放庫服務讀取及保留內容,或是將內容讀入/保留至內容存放庫服務。
    • 發佈層級只會從持續層讀取內容。
    • 製作層級會從持續層讀取內容,也會將內容寫入持續層。
    • Blob 儲存空間會在發佈層級與製作層級之間共用;檔案不會​ 移動
    • 內容從製作層級核準後,即表示內容可供啟用,因此會推送至發佈層級的持續層。此過程會透過複寫服務 (一種中介管道) 來實現。此管道會接收新內容,而個別發佈服務節點會訂閱推送至管道的內容。
      如需詳細資訊,請參閱 複寫
    • 開發人員和管理員能使用 Continuous Integration/Continuous Delivery (CI/CD) 服務 (可透過 Cloud Manager 取得) 管理 AEM 雲端服務,包括使用 Cloud Manager 的 CI/CD 管道來部署程式碼和設定。任何與監控、維護和疑難排解相關的項目 (例如記錄檔),都會向 Cloud Manager 中的客戶公開。
    • 使用者需一概透過負載平衡器存取製作和發佈層級。負載平衡器會與各層級作用中的節點連動,反映其最新狀態。
    • 至於發佈層級,Continuous Delivery Network (CDN) Service 也能作為第一進入點使用。
  • 對於 AEM 雲端服務的展示例項,架構會簡化為單一製作節點,因此不會呈現標準開發、預備或生產環境的所有特點。換言之,架構偶爾會發生停機現象,且不支援備份/還原操作。

部署架構

Cloud Manager 會管理 AEM 雲端服務例項的所有更新。這屬於強制性質的管理作業,是建立、測試及部署客戶應用程式的唯一方式,製作和發佈層級均可適用。AEM 雲端服務發佈最新版本時,Adobe 便會觸發這些更新作業,或是當客戶的應用程式推出最新版本時,由客戶觸發。
技術上來說,這是基於部署管道,與計劃中各環境配合之下的實作結果。Cloud Manager 管道運作時,會針對製作及發佈層級同時建立客戶應用程式的最新版本。這主要是透過結合最新客戶套件和最新基準 Adobe 映像來達成。成功建立並測試新映像後,Cloud Manager 會採取滾動式更新模式,更新所有服務節點,使移轉至最新映像版本的作業全面自動化。因此,製作或發佈服務時不會產生任何停機時間。

AEM 雲端服務 - 部署架構

內容發佈

Adobe Experience Manager 雲端服務修改了發佈內容的方式。有了 AEM 雲端服務,舊版 AEM 的複寫框架將不再用於發佈頁面 (將變更從製作例項移至發佈例項)。
AEM 雲端服務現在主要使用 Sling 內容分送 功能來移動適當內容。這會使用 Adobe I/O 上執行的管道服務,該服務獨立於 AEM 執行階段之外。
設定程序會自動完成,包括在執行階段新增、移除或回收發佈節點時自動完成設定。
單一發佈或取消發佈要求中可包含多項資源,但系統僅會針對所有資源傳回單一狀態,換言之,AEM Publish Service 的所有資源會全部顯示為處理成功或失敗。這可避免 AEM Publish Service 中的資源處於不一致的狀態。
高階內容發佈架構圖

高階內容發佈架構圖

重要革新

比起前幾代產品,AEM 雲端服務的新架構提出了幾項根本變革與創新:
  • 所有檔案 (Blob) 一律從雲端資料存放區直接上傳及提供。相關聯的位元串流一律不經 AEM 製作和發佈服務的 JVM 處理。因此,AEM 製作和發佈服務的節點可以更少,更符合快速自動調整規模的期望。商務從業人員可因此享有更快速的影像、影片上傳與下載體驗。
  • 所有構成發佈內容的作業現在皆需遵循訂閱模式,納入管道。發佈內容會推送至管道中的各個佇列,而發佈服務的所有節點都會訂閱這些佇列。因此,製作層級不需知悉發佈服務中的節點數量,這可讓發佈層級快速自動調整規模。
  • 導入 Golden Master 概念,實現發佈節點生命週期自動化。Golden Master 是專門的發佈節點,所有一般使用者都無法存取,且系統會從中建立發佈服務的所有節點。維護操作 (例如壓縮) 會在附加至 Golden Master 的內容存放庫中執行。這些發佈節點每天都會回收,不需任何例行維護。過去,這類維護工作會產生些許停機時間,尤其是處理製作例項時,更為顯著。
  • 該架構將應用程式內容與應用程式的程式碼和設定完全分離。所有程式碼和設定實際上都不可改變,且會製作成基準映像,據以建立製作及發佈服務的各種節點。因此,每個節點都保證相同,只有執行 Cloud Manager 管道,才能對程式碼和設定執行全域變更。