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

使用 CloudFrame Renovate 重构大型机体系结构

Azure 虚拟机
Azure Kubernetes 服务 (AKS)
Azure 虚拟网络
Azure SQL 数据库
Azure Site Recovery

CloudFrame Renovate 可将 COBOL 代码快速迁移到 Java Spring Boot Batch,而不会影响质量、精度、功能等效性或性能。 Renovate 是一种 DIY 工具,它使用引导操作和自动化来帮助简化代码迁移。 只需提供输入并下载 Maven 或 Gradle Java 项目即可。 无需专业技能或人员。

旧版 IBM zSeries 体系结构

显示迁移前的大型机体系结构的示意图

下载本文中体系结构的 Visio 文件

工作流

A. 通过 TCP/IP 输入数据,包括 TN3270 和 HTTP(S)。

B. 数据通过标准大型机协议输入大型机。

C. 中间件和实用程序服务管理环境中的磁带存储、排队、输出和 Web 服务等服务。

D. 批处理应用程序执行环境包括计划、工作负载管理和 SPOOL 操作。

E. 联机事务处理环境提供高可用性、工作负载管理和符合 XA 标准的事务管理。

F. 以 COBOL、PL/I 或 Assembler(或兼容语言)编写的业务应用程序在支持批处理和联机的环境中运行。

G. 共享业务服务设置共享服务(如日志记录、错误处理、I/O 和 SOA 之前的业务服务)解决方案的标准。

H. 数据存储在数据和数据库服务中,如分层、网络和关系数据库子系统以及索引和顺序数据文件。

I. 操作系统分区(虚拟机)提供引擎和软件之间的接口。

J. 处理器资源/系统管理器 (PR/SM) 虚拟机监控程序执行直接硬件虚拟化,以将物理计算机分区到虚拟机 (VM)。

迁移后的 Azure 体系结构

显示迁移到 Azure 后的体系结构的图表。

下载本文中体系结构的 Visio 文件

工作流

  1. 通常是通过来自远程客户端的 Azure ExpressRoute 或通过当前运行 Azure 的其他应用程序来输入数据。 在任一情况下,TCP/IP 都是连接到系统的主要方式。 TLS 端口 443 提供对基于 Web 的应用程序的用户访问。 你可以使用几乎未更改的 Web 应用程序表示层,以最大限度地降低培训需求。 或者,你可以根据需要使用现代用户体验框架更新 Web 应用程序表示层。 可以使用 Azure VM 堡垒主机提供对 VM 的管理员访问。 这样做可以最大限度地减少开放端口,从而提高安全性。

  2. 在 Azure 中,Azure 负载均衡器管理对应用程序计算群集的访问,以提供高可用性。 使用此方法可以横向扩展计算资源以处理输入工作。 第 7 层(应用程序层)和第 4 层(传输层)负载均衡器可用。 使用的类型取决于计算群集入口点的应用程序体系结构和 API 有效负载。

  3. 可以部署到计算群集中的 VM,或者可在 Kubernetes 群集中部署的 Pod 中的 VM。 通过 Renovate 创建的 Java 业务服务和应用程序在 Azure VM 和 Azure Kubernetes 容器上同样运行良好。 有关计算选项的更详细分析,请参阅此 Azure 计算服务决策树

  4. 应用程序服务器接收计算群集中的输入,使用 Azure Cache for Redis 或远程直接内存访问 (RDMA) 共享应用程序状态。

  5. 应用程序群集中的业务服务和应用程序允许到永久数据源的多个连接。 这些数据源可以包括 PaaS 服务(如 Azure SQL 数据库和 Azure Cosmos DB)、VM 上的数据库(如 Oracle 或 Db2)和大数据存储库(如 Azure Databricks 和 Azure Data Lake)。 应用程序数据服务还可以连接到流数据服务,如 Kafka 和 Azure 流分析。

  6. Renovate 运行时服务提供与大型机数据体系结构的向后兼容性,并且可以模拟大型机 QSAM 和 VSAM 文件系统,以及将数据迁移到 UTF-8 与重构到 Java 和在 Azure 中重新托管分离。 其他运行时服务包括与 SORT、IDCAMS、IE 实用程序、GDG 保留管理等的兼容性。

  7. 数据服务结合使用高性能存储(超级 SSD/高级 SSD)、文件存储(Azure NetApp 文件/Azure 文件存储)和标准存储(Blob、存档、备份),这些存储可以是本地冗余或异地冗余,具体取决于使用情况。

  8. Azure 平台即服务 (PaaS) 数据服务提供可缩放且高度可用的异地冗余数据存储,该存储在群集中的计算资源之间共享。

  9. Azure 数据工厂支持数据引入以及与 Azure 中和外部源中的多个数据源的数据同步。 Azure Blob 存储是外部数据源的公共登陆区域。

  10. Azure Site Recovery 提供 VM 和容器群集组件的灾难恢复。

组件

  • Azure 虚拟机是 Azure 提供的按需分配可缩放的计算资源之一。 使用 Azure VM 可以灵活进行虚拟化,而无需购买和维护运行 VM 的物理硬件。
  • Azure Kubernetes 服务 (AKS) 可帮助你开始开发和部署云原生应用,并提供内置的代码到云管道和保护机制。
  • Azure SSD 托管磁盘是由 Azure 托管并与 Azure VM 配合使用的块级存储卷。 可用的磁盘类型包括超级磁盘、高级 SSD、标准 SSD 和标准 HDD。 对于此体系结构,建议使用高级 SSD 或超级磁盘 SSD。
  • Azure 虚拟网络是 Azure 中专用网络的基本构建块。 虚拟网络允许许多类型的 Azure 资源(例如 Azure VM)以更高的安全性彼此通信、与 Internet 通信,以及与本地网络通信。 虚拟网络类似于你在自己的数据中心中运行的传统网络,但它提供了其他优势,例如缩放、可用性和隔离性。
  • Azure SQL 数据库是一个完全托管的 PaaS 数据库引擎,可在无需用户参与的情况下处理大部分数据库管理功能,例如升级、修补、备份和监视。 SQL 数据库始终在最新稳定版本的 SQL Server 数据库引擎和已修补的 OS 上运行。
  • Azure Cache for Redis 是一种分布式托管缓存,可提供对数据的快速访问,有助于生成高度可缩放且响应速度快的应用程序。
  • 数据工厂是一项基于云的数据集成服务,可对数据移动和转换进行安排并使其实现自动化。
  • Azure Site Recovery 可通过协调和自动运行区域之间的 Azure VM 复制、本地 VM 与物理服务器到 Azure 的复制以及本地计算机到辅助数据中心的复制,来帮助实现业务连续性和灾难恢复 (BCDR) 策略。

方案详细信息

使用现有大型机数据和流程可降低风险并加速实现价值。 CloudFrame Renovate 提供与大型机数据体系结构的向后兼容性,并支持 SORT 等大型机实用程序。 可以在 CloudFrame 的模拟文件系统中暂存 VSAM 和 QSAM 数据的二进制快照,由 Azure 服务(如 Blob 存储、Azure Cosmos DB、磁盘存储和 Azure SQL)提供支持。

使用 Renovate 重构大型机应用程序可将应用程序和基础结构从专有的旧解决方案转换为标准化且基准化的开放技术。 这种转换还会将团队推向敏捷 DevOps 运营模型。

Renovate 生成的 Java 代码易于理解、被 SonarQube 评为 A 级,并生成功能等效和数据等效的结果。 生成的代码可由当前开发人员使用 DevOps 流程和工具链进行维护。 开发人员无需了解大型机或 COBOL 即可维护重构的应用程序。 生成的代码具有高度可维护性,并且转换风险很低。

通过使用 Renovate 的增量现代化方法,你(而不是工具或工具供应商)可以确定更改的粒度和速度。 使用 Renovate 进行重构是一种用于将 COBOL 工作负载迁移到 Azure 上的云原生 Java 的快速、低风险方法。

可能的用例

使用 Renovate 重构到 Azure 可以帮助需要以下好处的组织和团队:

  • 通过使用 DIY 工具对现代化过程进行更多控制。
  • 实现现代化的增量方法。
  • 可根据自定义要求配置的自动重构工具。
  • 将大型机工作负载迁移到云,而不需要完全重写。
  • 没有大型机的成本结构、限制和刚性的现代基础结构。
  • 迁移核心应用程序,同时保持与其他本地应用程序的连续性。
  • 提供各种灾难恢复选项的解决方案。
  • Azure 提供的水平和垂直可扩展性。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改进工作负载质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

可靠性

可靠性可确保应用程序符合你对客户的承诺。 有关详细信息,请参阅可靠性支柱概述

由于负载均衡器和计算自动缩放,此解决方案内置了高可用性和性能。 如果一个演示、事务或批处理服务器出现故障,负载均衡器支持的其他服务器可以处理工作负载。 该体系结构使用 Site Recovery 来镜像 Azure VM。 它使用 PaaS 存储和数据库服务复制到次要 Azure 区域,以便在 Azure 数据中心发生故障时进行快速故障转移和灾难恢复。 最后,你可以完全自动化部署和操作体系结构。

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅安全性支柱概述

Azure 中的安全性通过策略、流程、自动化治理和事件报告、培训、网络漏洞分析、渗透测试、加密和 DevSecOps 操作模型的分层方法实现。 Microsoft Entra ID、Azure 虚拟网络、Azure 专用链接和网络安全组等服务是实现此增强安全性的基础。

成本优化

成本优化就是减少不必要的费用和提高运营效率。 有关详细信息,请参阅成本优化支柱概述

Azure 通过在商用硬件上运行 VM 和 Kubernetes Pod、编写计划脚本以关闭未使用的 VM 以及使用 Kubernetes Pod 提高部署密度来提供成本优化。 预留实例和现成实例可以进一步降低成本。 Microsoft 成本管理提供成本与预算的单个统一视图,从而提供成本透明度。 与即用即付定价相比,Azure 预留适用于计算的 Azure 节省计划可带来大幅折扣。 可以单独或叠加使用这些套餐来节省成本。 可使用 Azure 定价计算器估计该解决方案的实现成本。

作者

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

主要作者:

  • Jim Dugan | 主要 TPM

其他参与者:

若要查看非公开的 LinkedIn 个人资料,请登录到 LinkedIn。

后续步骤