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

使用 Infinite i 将 IBM System i 迁移到 Azure

Azure 虚拟机
Azure SQL 数据库

本文介绍如何使用 Infinite i 将 IBM System i 工作负载迁移到 Azure。 无限 i 将报表程序生成器(RPG)和面向业务的公共语言(COBOL)源代码转换为在 x86 虚拟机(VM)上本机运行的对象代码。 应用程序屏幕和交互的工作方式与以前一样,最大限度地减少了重新训练用户的需求。 迁移后,可以通过像往常一样修改原始源代码来维护和更新程序。

体系结构

使用 Infinite i 将系统 i 工作负载迁移到 Azure 的体系结构示意图。

下载此体系结构的 Visio 文件

工作流

以下工作流与上图相对应:

  1. TN5250 Web 终端仿真通过安全套接字层/传输层安全性加密连接提供对 Azure 的访问权限。

  2. Azure ExpressRoute 在本地资源与 Azure 资源之间提供专用的高速连接。

  3. Azure 负载均衡器在虚拟网络中的两个 Infinite i 应用服务器(主动和备用)之间分配传入的 TN5250 流量。 基于 Azure 的客户端通过对等互连的虚拟网络进行连接。 下表描述了支持的配置:

    型号 支持 详细信息
    主动/被动 是的 建议使用此模型。 它跨可用性区域使用复制和故障转移。
    主动/主动(负载均衡器) 由于数据库和会话状态约束,不支持此模型。
    多个 VM (Azure 虚拟机规模集) 受限制 仅将此模型用于基础结构部署。 不要将其用于工作负荷缩放。
    群集数据库后端 此模型与 Infinite i 的当前体系结构不兼容。
  4. Infinite i 编译器将系统 i 源代码(RPG 和 COBOL)转换为 64 位对象代码,以在 Azure x86 VM 上运行。 运行时解释 CL、CMD 和 SQL。

  5. Infinite i 包括一个内部数据库,用于模拟 DB2/400 功能,例如物理文件、逻辑文件、多成员文件、联接、触发器、引用完整性、承诺控制和日记。 当应用程序在 Azure 上运行时,它会像在 AS/400 环境中那样访问数据,无需更改代码。 Infinite i 提供内部数据库连接器(如 Open Database Connectivity(ODBC)和 Java 数据库连接(JDBC),以连接到内部数据库中的物理和逻辑文件。

  6. Azure 文件存储提供文件共享来实现 Infinite i 文件。 在 Azure VM 上装载文件共享使程序能够直接访问文件。 文件共享还保存负载模块和日志文件。

  7. 可以将 DB2/400 数据库迁移到标准 SQL 数据库,来代替步骤 5 描述的内部数据库。 数据库选项包括 SQL Server、Azure SQL、Oracle 和 MySQL。 这些选项支持与内部数据库相同的功能。 当 Infinite i 迁移数据库时,它会创建一个数据库架构,用于将物理文件映射到表,将逻辑文件映射到视图。

  8. Azure Site Recovery 提供灾难恢复。

组件

  • Azure 虚拟机 VM 是按需、可缩放的计算资源,可消除物理硬件的维护需求。 在此体系结构中,它们运行迁移的工作负载并提供灵活性和可伸缩性。 操作系统选项包括 Windows 和 Linux。

  • 虚拟机规模集 自动对 VM 缩放进行负载均衡。 这些作简化了应用程序管理和提高可用性,以确保应用程序的高可用性和性能。

  • Azure 虚拟网络,它是云中的一种安全专用网络。 它将 VM 相互连接、Internet 和本地网络。 它为迁移的工作负荷提供必要的连接。

  • Azure 专用链接,它承载了与 Azure 服务的专用连接。 它有助于确保组件之间的安全通信。

  • Azure 负载均衡服务,它缩放 VM 以实现高可用性和高性能。 此体系结构使用 负载均衡器,该负载均衡器提供在 VM 之间和跨多层混合应用之间流量的低延迟均衡。

  • Azure 磁盘存储 为 Azure VM 提供高度持久且高性能的块存储。 它支持各种磁盘存储选项来满足性能和持久性需求。 云有四个磁盘存储选项:Azure 超级磁盘存储、Azure 高级 SSD、Azure 标准 SSD 和 Azure 标准 HDD。

  • Azure 文件存储 在云中提供简单、安全且无服务器文件共享。 共享支持通过行业标准服务器消息块 (SMB) 和网络文件系统 (NFS) 协议进行访问。 Windows、Linux 和 macOS 的云和本地部署可以同时装载文件共享。

  • ExpressRoute 在本地基础结构和 Azure 数据中心之间承载专用连接。 它有助于确保高速和安全连接。

  • Azure SQL 是一系列 SQL 云数据库,可为整个 SQL 项目组合提供统一的体验,以及从边缘到云的各种部署选项。 它为迁移的工作负荷提供完全托管的数据库服务。

  • Azure SQL 数据库是 Azure SQL 系列的一部分,是一个完全托管的平台即服务(PaaS)数据库引擎。 它可处理大多数数据库管理功能(例如升级、修补、备份和监视),无需用户参与。 SQL 数据库始终在最新稳定版本的 SQL Server 数据库引擎和修补的 OS 上运行,99.99% 可用性,以帮助确保高可用性和性能。

方案详细信息

Infinite i 允许将 System i 和 AS/400 工作负载迁移到 Azure。 Azure 中迁移的工作负荷可以保持或提高性能和可用性,降低成本,并创造现代化的机会。

在 Azure 中的 Infinite i 上部署后,应用程序在 System i 平台上像运行一样运行。 Infinite i 运行时环境支持 Linux 环境中的作业处理和控制语言命令。

使用 Infinite i 套件编译应用程序。 该套件包括以下技术的编译器和翻译:RPG、RPG/ILE、RPG/Free、COBOL、控制语言程序(CLP)和数据说明规范(DDS)。

Infinite i 环境具有以下优势:

  • 轻松地将 System i 工作负载迁移到 Azure。

  • 转换磁带存档以确保备份和法规符合性。

  • 像以前一样工作的应用程序屏幕。 你可以选择将屏幕更新为基于 Web 的用户界面。

  • 一个无限内部数据库,用于保存数据并模拟 DB2/400。 你可以选择改为迁移到标准 SQL 数据库,只需稍作代码修改或无需任何更改。

  • 节省许可和维护成本,可大幅降低总拥有成本。

  • 与 System i 相比,Azure 上灾难恢复的速度更快且成本更低。

可能的用例

  • 轻松将 IBM System i 和 AS/400 工作负载迁移到 Azure。

  • 现代化系统 i 和 AS/400 工作负载并降低成本。

注意事项

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

可靠性

可靠性有助于确保应用程序能够履行对客户的承诺。 有关详细信息,请参阅可靠性设计评审核对清单

此体系结构适用于高可用性的冗余和灾难恢复:

  • 使用 Site Recovery 在 Azure VM 上进行灾难恢复。 它通过最大程度地减少停机时间和数据丢失,帮助 VM 免受重大中断的影响。 此服务十分可靠、经济高效,且易于部署。

若要提高可用性,请执行以下步骤:

  • 使用 Azure 可用性区域 通过消除所有单一故障点来保护基础结构中断。 VM 的服务级别协议为 99.99% 运行时间。

  • 使用虚拟机规模集设置构成 Azure 虚拟机规模集的负载均衡 VM 组。 此方法可提高可用性。

  • 有关详细信息,请参阅 虚拟机的可用性选项

安全性

安全性提供针对故意攻击和滥用宝贵数据和系统的保证。 有关详细信息,请参阅可靠性设计审查检查表

  • Infinite i 将基于 System i 用户的访问角色迁移到 Azure。

  • Infinite i 运行时环境在 Azure 上提供与 System i 环境提供的安全级别相同。

成本优化

成本优化侧重于减少不必要的开支和提高运营效率的方法。 有关详细信息,请参阅成本优化设计评审核对清单

Infinite i 解决方案将成本保持在最低水平,以降低你的总拥有成本:

  • 迁移到 Azure 消除了 IBM 许可和维护成本。

  • Linux 的实现成本低于 IBM 平台的实现成本。

  • PaaS 服务的自动缩放功能按需缩放,以最大程度地降低成本。

若要估算实现此解决方案的成本,请使用 Azure 定价计算器

下面是具体组件的定价注意事项:

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅设计卓越运营的审查清单

  • Infinite i 部署方法建议在将代码和数据迁移到 Azure 平台之前,先在原始平台上转换和测试工作负荷。

  • 将工作负荷移动到 Azure 时,请使用可用性区域、规模集和 Site Recovery 来减少缩放和可靠性的管理开销。

  • 请考虑使用 Azure 资源管理器模板 进行脚本化部署以及监视和警报功能。

性能效率

性能效率是指工作负荷能够高效地缩放以满足用户需求。 有关详细信息,请参阅性能效率设计评审核对清单

  • Infinite i 迁移设计过程考虑了系统 i 上运行的工作负荷的性能特征,并为 Azure 上的所需性能选择正确的 Azure 服务配置。

  • Infinite i 可以利用 Azure 规模集根据需要添加容量。

  • 该体系结构旨在通过向同一数据库运行多个 VM 集来适应并行处理。 独立事务不依赖于彼此是串行的。

  • 对于此体系结构,请使用高级 SSD 或超级磁盘存储来提高性能。

作者

Microsoft维护本文。 以下参与者撰写了本文。

首席作者:

  • 菲利普·布鲁克斯 |高级项目经理

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

后续步骤