此架構示範 Raincode COBOL 編譯程式如何藉由順暢地移轉和整合大型主機舊版應用程式,而不需變更單行程式代碼,將其與現代化、以 Azure 為基礎的技術堆疊整合,以將大型主機舊版應用程式現代化。 使用Raincode的編譯程式技術,您可以保留目前優化的大型主機應用程式,並將其部署在雲端上,讓您保留數十年的開發,同時大幅提升效能和彈性。 Raincode 的解決方案旨在藉由保留商業規則,同時轉換整個架構,將大型主機轉換為 Azure 原生架構。 Raincode 透過 Azure 上的容器化或虛擬機(VM)部署,支援跨 Linux 和 Windows 的應用程式彈性。
架構
舊版IBM z/OS 架構
下圖顯示移轉至 Azure 之前,舊版 COBOL 型大型主機架構的範例。
下載此架構的 Visio 檔案。
工作流程
下列批注會從來源 IBM z/OS 對應至 Azure:
A. IBM 3270 終端機模擬需求和在線使用者會由網頁瀏覽器取代,以存取 Azure 中的系統資源。
B. COBOL 和其他舊版應用程式程式代碼會轉換成 C#/.NET。 Raincode 會為 .NET 和 .NET Core 產生 100% 的線程安全與 Managed 程式代碼。
C. Raincode COBOL 編譯程式可順暢地移轉大型主機舊版應用程式,並將其與現代化、雲端式技術堆疊整合,而不需要變更單一程序代碼。
D. 工作負載自動化、排程、報告和系統監視功能可以保留目前的平臺,因為它們目前具備 Azure 功能。
E. 您可以使用 Azure 提供的所有 DR/HA 功能,將 Db2 和 IDMS 等舊版資料庫結構移轉至 Azure SQL 資料庫。 Raincode 也透過 SQL Server 或 Azure SQL DB 支援靜態或動態 SQL 查詢。
F. 檔案結構(VSAM、一般檔案、虛擬磁帶等)可以輕鬆地對應至結構化檔案和/或 Blob 記憶體內的 Azure 數據建構。 備援地理複寫和 Azure 自動故障轉移群組複寫等功能可用來提供數據保護。
G. 選用的印表機子系統會管理內部部署印表機。
H. 在邏輯分割區上執行的 z/OS(LPAR)。
I. LPAR 代表計算機硬體資源的子集。 每個 LPAR 都可以裝載個別的 OS。 雖然此範例只顯示 Z/OS 實例,但相同硬體上執行的其他 LPAR 可以裝載其他作業環境,例如 z/VM 或其他引擎,例如 zIIP 或 IFL。
Postmigration,以 Azure 為基礎的架構
此圖顯示舊版架構如何移轉至 Azure,並利用 Raincode 編譯程式和許多其他新式 Azure 服務。
下載此架構的 Visio 檔案。
工作流程
透過 TLS 連接埠 443 提供的使用者存取權,以存取 Web 應用程式。 Web 應用程式呈現層幾乎可以維持不變,以將終端使用者重新定型降至最低。 或者,Web 應用程式呈現層可以使用新式 UX 架構來更新,因為需要。
在 Azure 中,應用程式計算叢集的存取權是透過 Azure Load Balancer,允許向外延展計算資源來處理輸入工作。
Raincode 系統模擬軟體也可以支援在容器中部署。 使用Raincode的尖端編譯程序技術,您可以保留目前優化的大型主機應用程式,並將其部署在 .NET Core 上。
雲端原生應用程式是封裝為輕量型容器的獨立自主服務集合。
不同於虛擬機,容器可以快速相應放大和相應放大。 由於調整單位會轉移至容器,因此會優化基礎結構使用率。
數據服務會使用 Ultra 或進階固態硬碟(SSD)上的高效能記憶體、Azure NetApp Files 上的檔案記憶體或 Azure 檔案儲存體,以及標準 Blob、封存和備份記憶體的組合,這些記憶體可以是本地備援或異地備援。
Azure SQL 資料庫 針對高 IOPS 和高運行時間 SLA 使用超大規模或 業務關鍵 層。 此外,Azure SQL 資料庫 的 Private Link 可用來提供私人的直接連線,以隔離至 Azure VM 與 Azure 網路骨幹的 Azure SQL 資料庫。 Raincode 資料遷移工具可以將 DMS/RDMS 架構轉換成 SQL。
Azure Blob 儲存體 是外部數據源的常見登陸區域。
必須建立或已就地實作 Active Directory。 Raincode 提供使用 Active Directory 延伸模組的 RACF 和 Top Secret 身分識別整合。
元件
Azure Kubernetes Service (AKS) 是完全受控的 Kubernetes 服務,可在容器型計算叢集中部署和管理容器化應用程式。
Azure 虛擬網路 (VNet) 是私人網路在 Azure 中的基本建置組塊。 VNet 可讓多種類型的 Azure 資源 (例如 Azure 虛擬機器 (VM)) 安全地彼此通訊,以及與網際網路和內部部署網路通訊。 VNet 類似於您在自己的數據中心運作的傳統網路,但它帶來 Azure 基礎結構的更多優點,例如調整、可用性和隔離。
Azure 檔案儲存體 提供雲端中完全受控的檔案共用,可透過業界標準伺服器消息塊 (SMB) 通訊協定來存取。 Windows、Linux 和 macOS 的雲端部署或內部部署可同時掛接 Azure 檔案共用。
Azure ExpressRoute 可讓您透過連線提供者所提供的私人連線,將內部部署網路延伸至 Microsoft 雲端。 透過 ExpressRoute,您可以建立 Microsoft 雲端服務的連線,例如 Microsoft Azure 和 Office 365。
Azure Load Balancer 會在開放式系統互連 (OSI) 模型的第四層運作。 這是用戶端的連絡點。 Load Balancer 會將抵達負載平衡器前端的輸入流程散發至後端集區實例。 這些流程會根據已設定的負載平衡規則和健康情況探查。 後端集區實例可以是 Azure 虛擬機器 或虛擬機擴展集中的實例。
Azure SQL 資料庫 是完全受控的平臺即服務(PaaS)資料庫引擎,一律執行最新穩定版本的 SQL Server 和已修補的操作系統,可用性為 99.99%。 SQL 資料庫 處理升級、修補、備份、監視,以及大部分其他資料庫管理功能,而不需要使用者介入。 這些 PaaS 功能可讓您專注於業務關鍵、網域特定的資料庫管理和優化。
Azure Cosmos DB 是適用於 NoSQL 資料庫的 Azure PaaS 服務。
適用於 PostgreSQL 的 Azure 資料庫 是適用於PostgreSQL資料庫的 Azure PaaS 服務。
案例詳細資料
此架構說明Raincode解決方案如何在 Azure 上執行。 Azure 支援 下列功能上的 Raincode:
.NET 和 .NET Core 的 100% 線程安全與 Managed 程式代碼。
主要針對將大型主機轉換成雲端原生架構的解決方案。
透過內部部署或 Azure SQL DB 上的 SQL Server 原生支援靜態或動態 SQL 查詢。
支援 Db2 (透過 Microsoft 的 HIS) 和 SQL Server。
Visual Studio 整合,包含調試程式、編譯程式、組態、# IntelliSense、程式代碼著色器和專案管理。
支援具有大型主機記憶體表示法的所有COBOL數據類型。
與 PL/I 和 ASM370 編譯程式緊密整合。
具有呼叫圖形、統計數據和其他編譯時間資訊的存放庫。
編譯時間和運行時間的原生 EBCDIC 支援。
使用 Raincode 遷移至現代化分散式雲端基礎結構可讓您:
在 C# 中促進新的開發和維護。
將自己從 COBOL 授權成本的財務負擔中解脫。
透過 .NET Core 使用最新的技術,採用彈性且可調整的平臺。
與 Web 和行動裝置等新式應用程式整合,以改善客戶體驗。
將您的整合型舊版應用程式轉換成微服務或服務導向架構 (SOA)。
使用 Azure 的延展性和可用性功能來控制總擁有成本(TCO)。
潛在使用案例
許多使用案例都可以受益於Raincode編譯程式;可能性包括:
尋求現代化基礎結構並逃避與大型主機相關聯的高成本、限制和僵化的企業。
藉由採用雲端原生和 DevOps 來減少技術債務。
降低營運和資本支出成本。
選擇將IBM zSeries 大型主機工作負載移至雲端的組織,而不需要完全重建的副作用。
IBM zSeries 大型主機客戶需要移轉任務關鍵性應用程式,同時與其他內部部署應用程式維持持續性。
Teams 尋找 Azure 所提供的水平和垂直延展性。
支援解決方案的企業提供災害復原選項。
利用最新的軟體開發創新:工具、架構、語言和做法。
考量
下列考慮適用於此解決方案。
可用性
- 如果 Azure 資料中心失敗,Raincode 架構會使用 Azure Site Recovery 將 Azure VM 鏡像到次要 Azure 區域,以進行快速故障轉移和災害復原(DR)。
Operations
雲端原生應用程式的每項服務都會經歷獨立的生命週期,其會透過敏捷式DevOps程式進行管理。
多個持續整合/持續傳遞 (CI/CD) 管線可以同時運作,以部署和管理雲端原生應用程式。
效能效益
雲端原生應用程式是獨立和自主服務的集合,這些服務會封裝為羽量型容器。
不同於虛擬機,容器可以快速相應放大和相應縮小。
由於調整單位會轉移至容器,因此會優化基礎結構使用量。
安全性
此解決方案會使用 Azure 網路安全組 (NSG) 來管理 Azure 資源之間的流量。
適用於 Azure 的 Private Link SQL 資料庫 提供與 Azure 網路骨幹隔離的私人直接連線,從 Azure VM 到 Azure SQL 資料庫。
成本最佳化
Raincode COBOL 編譯程式可促進 C# 的新開發,並消除 COBOL 授權成本的財務負擔。
SQL 和 CICS 的原生支援。 偵錯的原始程式碼與所維護的來源相同,而不是前置處理器的輸出。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Jonathon Frost |首席軟體工程師
若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。
下一步
如需詳細資訊,請連絡 legacy2azure@microsoft.com 或查看下列資源: