使用Raincode編譯程式將大型主機應用程式重新裝載至 Azure

Azure 虛擬機器
Azure Kubernetes Service (AKS)
Azure 檔案
Azure ExpressRoute
Azure Load Balancer

此架構示範 Raincode COBOL 編譯程式如何藉由順暢地移轉和整合大型主機舊版應用程式,而不需變更單行程式代碼,將其與現代化、以 Azure 為基礎的技術堆疊整合,以將大型主機舊版應用程式現代化。 使用Raincode的編譯程式技術,您可以保留目前優化的大型主機應用程式,並將其部署在雲端上,讓您保留數十年的開發,同時大幅提升效能和彈性。 Raincode 的解決方案旨在藉由保留商業規則,同時轉換整個架構,將大型主機轉換為 Azure 原生架構。 Raincode 透過 Azure 上的容器化或虛擬機(VM)部署,支援跨 Linux 和 Windows 的應用程式彈性。

架構

舊版IBM z/OS 架構

下圖顯示移轉至 Azure 之前,舊版 COBOL 型大型主機架構的範例。

顯示舊版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 服務。

舊版架構移轉至 Azure 工作流程。

下載此架構的 Visio 檔案

工作流程

  1. 透過 TLS 連接埠 443 提供的使用者存取權,以存取 Web 應用程式。 Web 應用程式呈現層幾乎可以維持不變,以將終端使用者重新定型降至最低。 或者,Web 應用程式呈現層可以使用新式 UX 架構來更新,因為需要。

  2. 在 Azure 中,應用程式計算叢集的存取權是透過 Azure Load Balancer,允許向外延展計算資源來處理輸入工作。

  3. Raincode 系統模擬軟體也可以支援在容器中部署。 使用Raincode的尖端編譯程序技術,您可以保留目前優化的大型主機應用程式,並將其部署在 .NET Core 上。

  4. 雲端原生應用程式是封裝為輕量型容器的獨立自主服務集合。

    不同於虛擬機,容器可以快速相應放大和相應放大。 由於調整單位會轉移至容器,因此會優化基礎結構使用率。

  5. 數據服務會使用 Ultra 或 進階版 固態硬碟(SSD)、Azure NetApp Files 或 Azure 檔案儲存體 上的檔案記憶體,以及標準 Blob、封存和備份記憶體的組合,這些記憶體可以是本地備援或異地備援。

  6. Azure SQL 資料庫 針對高 IOPS 和高運行時間 SLA 使用超大規模或 業務關鍵 層。 此外,Azure SQL 資料庫 的 Private Link 可用來提供私人的直接連線,以隔離至 Azure VM 的 Azure 網路骨幹至 Azure SQL 資料庫。 Raincode 資料遷移工具可以將 DMS/RDMS 架構轉換成 SQL。

  7. Azure Blob 儲存體 是外部數據源的常見登陸區域。

  8. 必須建立或已就地實作 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) 管線可以同時運作,以部署和管理雲端原生應用程式。

效能效益

  • 雲端原生應用程式是獨立和自主服務的集合,這些服務會封裝為羽量型容器。

  • 不同於虛擬機,容器可以快速相應放大和相應縮小。

  • 由於調整單位會轉移至容器,因此會優化基礎結構使用量。

安全性

成本最佳化

  • Raincode COBOL 編譯程式可促進 C# 的新開發,並消除 COBOL 授權成本的財務負擔。

  • SQL 和 CICS 的原生支援。 偵錯的原始程式碼與所維護的來源相同,而不是前置處理器的輸出。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主體作者:

若要查看非公用LinkedIn配置檔,請登入LinkedIn。

下一步

如需詳細資訊,請連絡 legacy2azure@microsoft.com 或查看下列資源: