使用 Infinite i 將 IBM System i 遷移至 Azure
本文說明如何使用 Infinite i 將 IBM System i 工作負載遷移至 Azure。 Infinite i 會將報表程式產生器 (RPG) 和通用商業導向語言 (COBOL) 原始碼轉換成在 x86 虛擬機上原生執行的物件程式代碼。 應用程式畫面和互動的運作方式與之前一樣,將使用者重新定型的需求降到最低。 移轉之後,您可以像往常一樣修改原始原始原始程式碼來維護和更新程式。
架構
下載此架構的 Visio 檔案。
工作流程
下列工作流程對應至上圖:
TN5250 Web 終端機模擬可讓使用者透過安全套接字層/傳輸層安全性加密連線來存取 Azure。
Azure ExpressRoute 提供內部部署與 Azure 資源之間的專用高速連線。
Azure Load Balancer 會將傳入的 TN5250 流量分散到虛擬網路中的兩部 Infinite i 應用程式伺服器(作用中和待命)。 以 Azure 為基礎的用戶端會透過對等互連的虛擬網路進行連線。 下表描述支援的組態:
型號 支援 詳細資訊 主動/被動 是的 我們建議使用此模型。 它會跨可用性區域使用複寫和故障轉移。 主動/主動(Load Balancer) 否 因為資料庫和會話狀態條件約束,因此不支援此模型。 多個 VM (Azure 虛擬機擴展集) 有限 僅針對基礎結構部署使用此模型。 請勿將它用於工作負載調整。 叢集資料庫後端 否 此模型與 Infinite i 目前的架構不相容。 Infinite i 編譯程式會將 System i 原始程式碼 (RPG 和 COBOL) 轉譯為 64 位物件程式代碼,以在 Azure x86 VM 上執行。 運行時間會解譯 CL、CMD 和 SQL。
Infinite i 包含內部資料庫,其模擬 DB2/400 功能,例如實體檔案、邏輯檔案、多成員檔案、聯結、觸發程式、引用完整性、承諾控制及日誌。 當應用程式在 Azure 上執行時,它會像在 AS/400 環境中一樣存取數據,而不需要變更程式代碼。 Infinite i 提供內部資料庫連接器,例如 Open Database Connectivity (ODBC) 和 Java Database Connectivity (JDBC),以連線到內部資料庫中的實體和邏輯檔案。
Azure 檔案儲存體 提供檔案共享來實作 Infinite i 檔案。 在 Azure VM 上掛接檔案共用可讓程式直接存取檔案。 檔案共用也會保存載入模組和記錄檔。
您可以移轉 DB2/400 資料庫至標準 SQL 資料庫,而不是步驟 5 所描述的內部資料庫。 資料庫選項包括 SQL Server、Azure SQL、Oracle 和 MySQL。 這些選項支援與內部資料庫相同的功能。 當 Infinite i 移轉資料庫時,它會建立資料庫架構,將實體檔案對應至數據表和邏輯檔案至檢視。
Azure Site Recovery 提供災害復原。
元件
Azure 虛擬機 VM 是隨選、可調整的計算資源,可消除實體硬體的維護需求。 在此架構中,他們會執行已移轉的工作負載,並提供彈性和延展性。 操作系統選擇包括 Windows 和 Linux。
虛擬機擴展集 會將 VM 調整自動化並進行負載平衡。 這些動作可簡化應用程式管理和增加可用性,以確保應用程式的高可用性和效能。
Azure 虛擬網絡 是雲端中安全的專用網。 它會將 VM 彼此連線、連線到因特網,以及內部部署網路。 它會為已移轉的工作負載提供必要的連線能力。
Azure Private Link 會攜帶私人連線至 Azure 服務。 這有助於確保元件之間的安全通訊。
Azure 負載平衡服務 會調整 VM 以達到高可用性和高效能。 此架構會使用 Load Balancer,在 VM 與多層次混合式應用程式之間提供低延遲的流量平衡。
Azure 磁碟記憶體 為 Azure VM 提供高度持久且高效能的區塊記憶體。 它支援各種磁碟記憶體選項,以符合效能和持久性需求。 雲端有四個磁碟記憶體選項:Azure Ultra 磁碟記憶體、Azure 進階 SSD、Azure 標準 SSD 和 Azure 標準 HDD。
Azure 檔案服務 在雲端中提供簡單、安全且無伺服器的企業級檔案共用。 這些共享支援業界標準伺服器訊息塊 (SMB) 和網路檔案系統 (NFS) 通訊協定的存取。 Windows、Linux 和macOS的雲端和內部部署可以同時掛接檔案共用。
ExpressRoute 會在內部部署基礎結構與 Azure 數據中心之間攜帶私人連線。 這有助於確保高速且安全的連線能力。
Azure SQL 是一系列 SQL 雲端資料庫,可為整個 SQL 組合提供統一的體驗,以及從邊緣到雲端的各種部署選項。 它為已移轉的工作負載提供完全受控的資料庫服務。
屬於 Azure SQL 系列一部分的 Azure SQL Database 是一個完全受控的平臺即服務(PaaS) 資料庫引擎。 它會處理大部分的資料庫管理功能,例如升級、修補、備份和監視,而不需要您參與。 SQL Database 一律會在最新穩定版本的 SQL Server 資料庫引擎和已修補的 OS 上執行,且具有 99.99% 可用性,以協助確保高可用性和效能。
案例詳細資料
Infinite i 可讓您將 System i 和 AS/400 工作負載移轉至 Azure。 Azure 中移轉的工作負載會維持或改善效能和可用性、降低成本,以及建立現代化的機會。
在 Azure 中的 Infinite i 上部署之後,應用程式會如同在 System i 平臺上執行一樣執行。 Infinite i Runtime 環境支援 Linux 環境中的作業處理和控制語言命令。
您可以使用 Infinite i 套件來編譯您的應用程式。 套件包含這些技術的編譯程式和翻譯工具:RPG、RPG/ILE、RPG/Free、COBOL、控制語言程式(CLP)和數據描述規格(DDS)。
Infinite i 環境提供下列優點:
將 System i 工作負載輕鬆移轉至 Azure。
轉換磁帶封存以進行備份和法規合規性。
如往般運作的應用程式畫面。 您可以選擇將畫面更新至網頁型使用者介面。
無限內部資料庫,保存您的數據並模擬 DB2/400。 您可以選擇改為移轉至標準 SQL 資料庫,而次要程式代碼變更或完全沒有變更。
節省授權和維護費用,可大幅降低總擁有成本。
相較於 System i,Azure 上的災害復原更快速且低成本的選項。
潛在使用案例
輕鬆地將 IBM System i 和 AS/400 工作負載遷移至 Azure。
將 System i 和 AS/400 工作負載現代化,並降低成本。
考量
這些考量能實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可以用來改善工作負載的品質。 如需詳細資訊,請參閱 Well-Architected Framework。
可靠性
可靠性有助於確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性的設計檢閱檢查清單。
此架構可配合備援和災害復原,以達到高可用性:
- 使用 Site Recovery 進行 Azure VM 上的災害復原。 它藉由將停機時間和數據遺失降至最低,協助保護 VM 免於發生重大中斷。 此服務可靠、符合成本效益且易於部署。
若要改善可用性,請執行下列步驟:
使用 Azure 可用性區域 ,藉由消除所有單一失敗點,以防止基礎結構中斷。 VM 的服務等級協定 (SLA) 適用於 99.99% 運行時間。
使用虛擬機擴展集來設定組成 Azure 虛擬機擴展集的負載平衡 VM 群組。 這種方法會增加可用性。
如需詳細資訊,請參閱 虛擬機的可用性選項。
安全性
安全性可提供針對蓄意攻擊和濫用寶貴數據和系統的保證。 如需詳細資訊,請參閱安全性的設計檢閱檢查清單。
Infinite i 會將 System i 使用者型存取角色移轉至 Azure。
Infinite i 執行時間環境提供與 System i 環境所提供的相同層級 Azure 安全性。
成本優化
成本優化著重於減少不必要的費用,並提升營運效率的方式。 如需詳細資訊,請參閱成本最佳化的設計檢閱檢查清單。
Infinite i 解決方案至少會保留成本,以降低總擁有成本:
移轉至 Azure 可消除 IBM 授權和維護成本。
Linux 的實作成本比 IBM 平臺低。
PaaS 服務的自動調整功能會視需要進行調整,以將成本降至最低。
若要估計實作此解決方案的成本,請使用 Azure 定價計算機。
以下是特定元件的定價考慮:
Windows VM 定價 和 Linux VM 定價 取決於您的計算容量。
針對 ExpressRoute,您需支付每月的埠費用和輸出數據傳輸費用。
Azure Blob 記憶體 成本取決於數據備援選項和磁碟區。
Azure 檔案服務 定價取決於數個因素,包括數據磁碟區、數據備援、交易量,以及您使用的檔同步伺服器數目。
如需進階 SSD 或 Ultra 磁碟記憶體價格,請參閱 受控磁碟定價。
SQL Database 沒有預付成本。 當您使用資源時,您需付費。
針對 Site Recovery,您會為每個受保護的實例付費。
您的 Azure 訂用帳戶免費提供下列服務,但您會支付使用量和流量的費用:
針對 虛擬網路,IP 位址會收取名義費用。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運的設計檢閱檢查清單。
Infinite i 部署方法建議您先轉換和測試原始平臺上的工作負載,再將程式代碼和數據遷移至 Azure 平臺。
當您將工作負載移至 Azure 時,請使用可用性區域、擴展集和 Site Recovery 來減少調整和可靠性的管理額外負荷。
請考慮使用 Azure Resource Manager 範本 進行腳本部署,以及監視和警示功能。
效能效率
效能效率是指工作負載能夠有效率地調整以符合使用者需求。 有關詳細資訊,請參閱效能效率的設計審核清單。
Infinite i 移轉設計程式會考慮在 System i 上執行的工作負載效能特性,並針對 Azure 上所需的效能選取正確的 Azure 服務組態。
無限 i 可以利用 Azure 擴展集來視需要新增容量。
此架構的設計訴求是藉由將多個 VM 集合執行至相同的資料庫,以容納平行處理。 獨立交易不會相依於彼此為序列。
針對此架構,請使用進階 SSD 或 Ultra 磁碟記憶體來改善效能。
參與者
本文由 Microsoft 維護。 下列參與者撰寫本文。
主要作者:
- 菲力浦·布魯克斯 |資深項目經理
若要查看非公開的 LinkedIn 個人檔案,請登入 LinkedIn。
下一步
請參閱 Well-Architected 架構 建議,以 優化元件成本。
來自合作夥伴 Infinite Corporation 的 Infinite i:
IBM System i (AS/400) 資訊: