你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Raincode 编译器将大型机应用程序重新托管到 Azure

Azure 虚拟机
Azure Kubernetes 服务 (AKS)
Azure 文件
Azure ExpressRoute
Azure 负载均衡器

此体系结构展示了 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 终端模拟将由 Web 浏览器替换,以访问 Azure 中的系统资源。

B. COBOL 和其他旧版应用程序代码转换为 C#/.NET。 Raincode 生成适用于 .NET 和 .NET Core 的 100% 线程安全托管代码。

C. Raincode COBOL 编译器通过无缝迁移并将大型机旧版应用程序与基于云的新式技术堆栈集成,实现大型机旧版应用程序现代化,而无需更改代码行。

D. 工作负载自动化、计划、报告和系统监视功能可以保留现有平台,因为它们现在支持 Azure。

E. 可以将 Db2 和 IDMS 等旧数据库结构迁移到具有 Azure 提供的所有 DR/HA 功能的 Azure SQL 数据库。 Raincode 还通过 SQL Server 或在 Azure SQL DB 上支持静态或动态 SQL 查询。

F. 文件结构(VSAM、平面文件、虚拟磁带等)轻松地映射到结构化文件和/或 blob 存储中的 Azure 数据构造。 冗余地理复制和 Azure 自动故障转移组复制等功能可用于提供数据保护。

G. 可选的打印机子系统管理本地打印机。

H. 在逻辑分区 (LPAR) 上运行的 z/OS。

I. LPAR 表示计算机的硬件资源的子集。 每个 LPAR 都可以托管单独的 OS。 虽然此示例仅显示 Z/OS 实例,但在同一硬件上运行的其他 LPAR 可以托管其他操作环境(例如 z/VM)或其他引擎(例如 zIIP 或 IFL)。

迁移后,基于 Azure 的体系结构

此图显示了如何将旧体系结构迁移到 Azure,并利用 Raincode 编译器和其他许多新式 Azure 服务。

将旧体系结构迁移到 Azure 工作流。

下载此体系结构的 Visio 文件

工作流

  1. 通过 TLS 端口 443 提供的用户访问权限,用于访问基于 Web 的应用程序。 基于 Web 的应用程序表示层几乎可以保持不变,以最大程度地减少对最终用户的再培训。 或者,可以根据要求使用新式 UX 框架更新 Web 应用程序表示层。

  2. 在 Azure 中,通过 Azure 负载均衡器访问应用程序计算群集,从而允许横向扩展计算资源来处理输入工作。

  3. Raincode 系统仿真软件还支持在容器中部署。 使用 Raincode 的先进的编译器技术,可以保留当前优化的大型机应用程序,并将其部署到 .NET Core 上。

  4. 云原生应用程序是一系列打包为轻型容器的独立和自主服务。

    与虚拟机不同,容器可以快速横向扩展和横向缩减。 由于缩放单元转换为容器,因此基础结构利用率得到优化。

  5. 数据服务结合使用超级或高级固态磁盘 (SSD) 上的高性能存储、Azure NetApp 文件或 Azure 文件上的文件存储,以及可以是本地冗余或异地冗余的标准 blob、存档和备份存储.

  6. 使用超大规模或业务关键层以实现高 IOPS 和高运行时间 SLA 的 Azure SQL 数据库。 此外,Azure SQL 数据库的专用链接还用于提供专用直接连接,该连接与从 Azure VM 到 Azure SQL 数据库的 Azure 网络主干网隔离。 Raincode 数据迁移工具可以将 DMS/RDMS 架构转换为 SQL。

  7. Azure Blob 存储是外部数据源的公共登陆区域。

  8. Active Directory 的实现需要创建或已到位。 Raincode 使用 Active Directory 扩展来提供 RACF 和最高机密标识集成。

组件

  • Azure Kubernetes 服务 (AKS) 是一项完全托管的 Kubernetes 服务,用于在基于容器的计算群集中部署和管理容器化应用程序。

  • Azure 虚拟网络 (VNet) 是 Azure 中专用网络的基础构建基块。 VNet 允许许多类型的 Azure 资源(例如 Azure 虚拟机 (VM))以安全方式彼此通信、与 Internet 通信,以及与本地网络通信。 VNet 类似于在你在自己的数据中心运营的传统网络,但附带了 Azure 基础机构的更多优势,例如可伸缩性、可用性和隔离性。

  • Azure 文件存储在云端提供完全托管的文件共享,这些共享项可通过行业标准的服务器消息块 (SMB) 协议进行访问。 Azure 文件共享可由云或者 Windows、Linux 和 macOS 的本地部署同时装载。

  • 使用 Azure ExpressRoute 可通过连接服务提供商所提供的专用连接,将本地网络扩展到 Microsoft 云。 使用 ExpressRoute 可与 Microsoft Azure 和 Office 365 等 Microsoft 云服务建立连接。

  • Azure 负载均衡器在开放式系统互连 (OSI) 模型的第四层上运行。 它是客户端的单一联系点。 负载均衡器将抵达负载均衡器前端的入站流分配到后端池实例。 这些流取决于所配置的负载均衡规则和运行状况探测。 后端池实例可以是 Azure 虚拟机,或虚拟机规模集中的实例。

  • Azure SQL 数据库是一种完全托管的平台即服务 (PaaS) 数据库引擎,始终运行最新稳定版 SQL Server 和具有 99.99% 可用性的已修补 OS。 SQL 数据库无需用户参与即可处理升级、修补、备份、监视和大多数其他数据库管理功能。 有了这些 PaaS 功能,你就能够专注于特定于域的业务关键数据库管理和优化。

  • Azure Cosmos DB 是用于 NoSQL 数据库的 Azure PaaS 服务。

  • Azure Database for PostgreSQL 是用于 PostgreSQL 数据库的 Azure PaaS 服务。

方案详细信息

此体系结构说明了 Raincode 解决方案是如何在 Azure 上运行的。 Azure 上的 Raincode 支持以下功能:

  • 适用于 .NET 和 .NET Core 的 100% 线程安全托管代码。

  • 一种主要用于将大型机转换为云原生体系结构的解决方案。

  • 通过本地或 Azure SQL DB 上的 SQL Server 对静态或动态 SQL 查询的本机支持。

  • (通过 Microsoft 的 HIS)对 Db2 的支持和对 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 大型机客户。

  • 查找 Azure 提供的水平和垂直可伸缩性的团队。

  • 青睐提供灾难恢复选项的解决方案的企业。

  • 利用最新的软件开发创新:工具、框架、语言和做法。

注意事项

此解决方案具有以下注意事项。

可用性

  • Raincode 体系结构使用 Azure Site Recovery 将 Azure VM 镜像到次要 Azure 区域,以进行快速故障转移和灾难恢复(如果 Azure 数据中心发生故障)。

Operations

  • 云原生应用程序的每个服务都会经历独立的生命周期,该生命周期通过敏捷 DevOps 进程进行管理。

  • 多个持续集成/持续交付 (CI/CD) 管道可以协同工作,以部署和管理云原生应用程序。

性能效率

  • 云原生应用程序是一系列打包为轻型容器的独立和自主服务。

  • 与虚拟机不同,容器可以快速横向扩展和横向缩减。

  • 由于缩放单元转换为容器,因此基础结构使用率得到优化。

安全性

成本优化

  • Raincode COBOL 编译器有助于 C# 中的新开发,并消除了 COBOL 许可成本的财务负担。

  • 对 SQL 和 CICS 的本机支持。 被调试的源代码与所维护的源相同,而不是与预处理器的输出相同。

作者

本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

首席作者:

要查看非公开领英个人资料,请登录领英。

后续步骤

有关详细信息,请联系 legacy2azure@microsoft.com,或查看以下资源: