Azure 中的 SAP 部署選項
適用於 Azure 雲端採用架構中的原則可協助自動化 Azure 中的 SAP。 在形成您的自動化策略和判斷方法時,請務必找出 SAP 應用程式的關鍵元件,並使用這些觀察來引導策略。 尤其是在企業環境中,部署選項應考慮手動設定、平台自動化,以及用來支援 SAP 平台的 DevOps 方法。
SAP 應用程式是許多全球企業的關鍵技術骨幹,而 Azure 則提供指導方針,以確保解決方案已通過認證、支援且成功實作。 組織可以將 Azure 的靈活性最佳化,以部署 SAP、自動化部署活動、設定系統,以及執行其他複雜的工作,以確保作業效率和控制的程式碼延展基礎結構部署。
Microsoft sap Automation 存放庫可支援 Azure-SAP 客戶整合目前 DevOps 實務的指令碼,或使用其目前狀態中的程式碼,並直接從複製的存放庫中使用程式碼。
SAP 應用程式資產包含系統、工作負載區域和環境。
SAP 系統是 SAP 應用程式的執行個體,其中包含應用程式需要執行的資源,例如虛擬機器 (VM)、磁碟、負載平衡器、鄰近放置群組、可用性設定組、子網路及網路安全性群組。 應用程式是由 SID (唯一三個字母的識別碼) 所識別。 基於生命週期的考量,每個系統都應該部署到個別的 Azure 資源群組。
工作負載區域也稱為部署環境。 其會將 SAP 應用程式分成非生產或生產之類的環境,並可進一步將環境細分成開發、品質保證和生產等層級。 部署環境會將虛擬網路和金鑰保存庫等共用資源提供給工作負載區域中的所有系統。
橫向景觀是 SAP 應用程式中不同環境內的系統集合。 此範例圖顯示三個 SAP 橫向景觀: SAP ERP 中央元件 (ECC)、SAP 客戶關係管理 (CRM),以及 SAP Business Warehouse (BW)。
下圖說明 SAP 系統、工作負載區域和橫向景觀之間的相依性。 在下圖中,客戶有三個橫向景觀:SAP ERP 中央元件 (ECC)、SAP 客戶關係管理 (CRM),以及 SAP Business Warehouse (BW)。 每個橫向景觀都有四個工作負載區域:沙箱、開發、品質保證和生產環境。 每個工作負載區域都可包含一或多個系統。
除了自動化解決方案將需要的 SAP 元件之外:
- 可以執行部署活動的執行環境
- 安裝媒體的持續性儲存體,以及是否使用 Terraform 來儲存 Terraform 狀態檔案
設計建議:
- 使用具有目標虛擬網路連線的 VM,以啟用應用程式設定和安裝。
- 使用 Azure 儲存體帳戶來管理狀態檔案,以及做為 SAP 安裝媒體的安裝來源。
SAP 部署自動化應實作為開始部署基礎結構的工作流程,然後再設定作業系統並安裝應用程式。
設計考量:
定義所需的自動化範圍:
- 基礎結構
- 設定作業系統
- 安裝應用程式安裝
- 進行中的作業 (執行狀態作業)
定義用來儲存參數檔的策略
設計建議:
- 將所有參數檔案儲存在原始檔控制存放庫中。
- 備份狀態和參數檔案,以防止檔案損毀。 例如,您可以將 Terraform 狀態檔案儲存在讀取權限異地備援儲存體型的經常性存取層儲存體帳戶上。
SAP 部署自動化架構支援在多個 Azure 區域中進行部署。 每個區域都會裝載:
- 部署基礎結構
- 適用於狀態與 SAP 安裝媒體的 SAP 程式庫
- 1-n 個工作負載區域
- 部署在工作負載區域中的 1-n 個 SAP 系統
下圖顯示兩個 Azure 區域的部署策略。
設計考量:
- 哪些 Azure 區域在範圍內
- 災害復原
工作負載區域 (也稱為部署環境) 結合了工作負載虛擬網路、該工作負載中系統的認證,以及用來部署這些系統的服務主體。 工作負載區域是區域性的,因為其依存於 Azure 中的虛擬網路。 自動化的命名慣例支援在多個 Azure 區域中具有工作負載區域,每個區域都有自己的虛擬網路。
以下是一些常見的工作負載區域模式:
在此模型中,SAP 環境會分組為生產或非生產區域。
在此模型中,SAP 環境會分組為沙箱、開發、品質保證或生產區域。
設計考量:
- 需要多少工作負載區域?
- 針對訂用帳戶設計,訂用帳戶是否包含多個工作負載區域?
- 工作負載部署到哪些區域?
- 輸出網際網路連線
- 內部部署網路的網路連線
- 部署綠地部署是否缺少適用於工作負載的 Azure 基礎結構或棕地部署,其中部分或所有支援工作負載區域的成品已經存在?
- 每個工作負載區域是否都需要唯一的部署認證?
設計建議:
- 網路小組應提供輸出網際網路連線。
- 與內部部署網路之間的網路連線應由網路小組提供。
- 針對每個工作負載區域使用唯一的部署認證。 如果工作負載區域存在於多個區域中,則應該在這些區域使用相同的部署認證。
- 若要簡化網路規劃,請試著將工作負載區域數目降至最低。
SAP 系統是實際的 SAP 應用程式,因為其包含裝載 SAP 應用程式所需的所有 Azure Artifacts。 如需詳細資訊,請參閱 Azure 上的 SAP 以開始使用、規劃和考慮部署因素。
設計考量:
- 要使用的後端資料庫
- 資料庫伺服器數目
- 如果需要高可用性
- 應用程式伺服器數量
- Web 發送器的數目 (如果有的話)
- 中央服務執行個體的數目
- VM 大小
- 決定是否要使用 Azure Marketplace 或自訂建立的映像。 自訂映像具有數個優點,例如客戶專屬的作業系統設定、安全性強化及合規性工具。 自訂映像也可以協助簡化映像生命週期。
- 部署綠地部署是否缺少適用於工作負載的 Azure 基礎結構或棕地部署,其中部分或所有支援工作負載區域的成品已經存在?
- IP 配置策略 (Azure 或由客戶提供)
- 命名 Azure 資源
- 定義管理認證的需求:工作負載區域的系統是否會使用相同的認證來存取 VM?
設計建議:
針對每個部署至工作負載區域的系統,使用相同的認證。 使用 Azure Key Vault 來管理和儲存金鑰。
SAP 部署自動化架構提供 Terraform 範本和 Ansible 劇本,可用來建置及設定環境,以在 Azure 中執行 SAP。 這些成品裝載於 Azure sap-hana
存放庫中,而 Azure 支援 Azure 中適用於 SAP 的開放原始碼部署指令碼 (未自訂的程式碼)。
Azure 支援將 Linux 和 Windows 中的 SAP 部署自動化。
自動化 SAP 部署的預設模型是具有資料庫層和應用程式層的分散式模型。 應用程式層會進一步分割成三個階層、應用程式伺服器、中央服務伺服器和 web 發送器。 自動化也可以部署到沒有應用程式層設定的獨立伺服器上。
SAP 部署自動化架構功能對照表:
功能 | 已包括 | 備註 |
---|---|---|
加速網路 | Y | 已在 VM 上啟用加速網路。 |
應用程式安全性群組 | N | 這些都在藍圖上。 |
錨點 VM | Y | 在可用性區域中錨定鄰近放置群組的虛擬機器。 |
應用程式設定 | N | 以 Ansible 為基礎的設定;即將發行。 |
應用程式安裝 | N | 以 Ansible 為基礎的安裝;即將發行。 |
驗證 | Y | 驗證支援以 SSH 為基礎和以使用者名稱/密碼為基礎的驗證。 |
可用性區域 | Y | 自動化可以在區域或跨可用性區域部署 VM。 |
網路檔案系統的 Azure 檔案儲存體 | N | 這些都在藍圖上。 |
Azure 防火牆 | Y | 自動化可以在部署器網路中部署 Azure 防火牆。 |
Azure Load Balancer | Y | 自動化會使用 Azure Load Balancer 的標準負載平衡器。 |
Azure NetApp Files | N | 這些都在藍圖上。 |
開機診斷儲存體帳戶 | Y | 開機診斷儲存體帳戶會在工作負載區域中的所有系統之間共用。 |
Azure 金鑰保存庫 | Y | Azure 中新的或目前的金鑰保存庫。 |
客戶映像 | Y | 這些自訂映像需要複寫至區域。 |
客戶管理的磁碟加密金鑰 | Y | 您必須事先建立這些金鑰,並將其儲存在 Azure Key Vault 中。 |
部署環境 | Y | 這是網路中的 VM,並與 SAP 網路對等互連。 |
磁碟大小調整 | Y | 預設磁碟大小調整已指定,且可以進行設定。 |
IP 位址 | Y | IP 位址是由客戶和 Azure 提供。 |
命名慣例 | Y | 這是預設的命名慣例;您可加以自訂。 |
網路安全性群組 | Y | 這些是新的或目前的網路安全性群組。 |
作業系統設定 | N | 這是以 Ansible 為基礎的設定;即將發行。 |
鄰近位置群組 | Y | 這些是新的或目前的鄰近放置群組。 |
資源群組 | Y | 這些是新的或目前的資源群組。 |
子網路 | Y | 這些是新的或目前的子網路。 |
SAP 安裝媒體的儲存體 | Y | 這是新的或目前的儲存體帳戶。 |
Terraform 狀態的儲存體 | Y | 這是新的或目前的儲存體帳戶。 |
VM SKU | Y | 所有 VM SKU 都可設定。 |
虛擬網路 | Y | 這是新的或目前的虛擬網路。 |
見證儲存體帳戶 | Y | 見證儲存體帳戶會在工作負載區域中的所有系統之間共用;其是用於 Windows 高可用性案例。 |
SAP 部署自動化會使用 JSON 參數檔案,為不同的成品設定具有不同參數檔的 Azure 環境。 開發環境應該將 SAP HANA
與客戶存放庫複製到相同的根資料夾。 在專用的資料夾中定義資料夾結構和保留參數檔案,將可簡化自動化的部署作業。
設計建議:
所有參數檔案都應該儲存在原始檔控制環境中。