LzLabs 软件定义的大型机 (SDM) 通过消除查找、修改和重新编译旧应用程序源代码的需要,显著降低了旧工作负载重新托管的风险和复杂性。 此方法使 z/Architecture 二进制可执行程序能够在运行开放系统软件堆栈的 x86_64 体系结构计算机上以本机速度运行,从而为传统现代化开辟了道路。
体系结构
下载此体系结构的 SVG 文件。
工作流
- 与普通大型机应用程序一样,LzLabs SDM 应用程序通过 3270 终端进行访问。 你可以使用你喜欢的任何终端仿真器。 对于管理和其他活动,使用 LzWorkbench 客户端。 服务器组件在 SDM VM 上运行。
- 端口访问通常配置为适应客户的安全要求。
- 对于 SDM 的安全实现,应实现包含以下项的 Web 服务前端:
- Azure 应用程序网关,用于通过 Web 访问任何 CICS API,
- Azure Bastion,用于进行安全访问以管理 VM,
- 以及 Azure 负载均衡器。
- SDM 可以配置为通过虚拟网络 (VNet) 对等互连故障转移到备份、灾难恢复 (DR) 和次要 Azure 区域。 这提高了 SDM 对于生产工作负载的可用性,因为 Azure 保留了一个一致的副本,以防初始 VM 脱机。
- 生产环境中的 SDM 虚拟机进行了复制,并由 Azure Site Recovery 在故障转移区域保持同步。 此服务使用于生产的主 OS 磁盘和附加的磁盘映像与次要区域 SDM 保持同步。 它对除负责索引文件处理的磁盘之外的所有附加磁盘执行此操作(请参阅第 10 项)。 Site Recovery 还用于使所有其他 VM 映像与次要区域保持同步。
- 此体系结构中的数据库是 PostgreSQL IaaS。 目前无法使用 Azure PostgreSQL 服务,并且必须在部署中将 PostgreSQL IaaS 与 SDM 配合使用。 这是因为 Azure PostgreSQL 在处理用户定义的数据类型 (UDT) 方面存在限制。 次要区域的数据库实例通过“预写事务日志”保持最新。 这允许跨区域故障转移。 发生故障转移时,模式将设置为“活动”。 相同的过程用于在生产区域内保持生产故障转移数据库的事务一致性。 通过使用“预写事务日志”来保持这两个副本的同步,数据库层将高度可用。 注意:为了获得最佳性能,数据库 VM 和 SDM VM 必须置于 Azure 邻近放置组中。
- 要维护对系统的安全访问,需要为 DR 区域部署 Web 服务前端。 许多大型机工作负载都有一个 API Web 服务层,用于访问 CICS 事务和 DB2 数据。
- 对于使用 Active Directory 扩展的 RACF 和“最高机密”标识集成,LzVault 在 Azure 中为从大型机迁移的安全规则提供了身份验证和授权。
- Barman 服务器在数据层中进行配置。 这提供了 PostgreSQL 数据库的快照副本,以在生产区域和次要区域中进行时间点还原。
- 如第 5 项中所述,维护 SDM 的索引文件处理的磁盘需要使用数据库镜像解决方案跨区域同步。 这是因为 Azure Site Recovery 无法保证数据库所需的事务一致性。 由于索引文件处理不在 PostgreSQL 中,因此必须使用可提供此功能的解决方案。
- 要适应批处理作业处理计划,必须使用 Azure 逻辑应用或 SMA 等计划程序。
- 为了提供可用性,Azure 可用性集中部署了两个 SDM VM。 Azure 负载均衡器为这两个 VM 提供负载均衡服务。 使用 Azure 共享磁盘在这两个 VM 之间共享状态。 这通过 DRDB 复制到 DR 实例。
组件
- Azure 虚拟机 是 Azure 提供的按需分配可缩放的计算资源之一。 使用 Azure 虚拟机 (VM) 可以灵活进行虚拟化,而无需购买和维护运行 VM 的物理硬件。
- 虚拟网络 (VNet) 是 Azure 虚拟网络中专用网络的基本构建基块。 借助虚拟网络,多种类型的 Azure 资源(包括 VM)可相互之间、与 Internet 以及与本地网络安全通信。 虚拟网络类似于在你自己的数据中心运营的传统网络,但附带了 Azure 基础设施的其他优势,例如可伸缩性、可用性和隔离性。
- Azure 虚拟网络接口是一种网络接口控制器 (NIC) ,使 Azure VM 能够与 Internet、Azure 中的其他资源以及本地资源进行通信。 如此体系结构中所示,可以将更多 NIC 添加到同一 VM,使 Solaris 子 VM 具有其自己的专用网络接口设备和 IP 地址。
- Azure SSD 托管磁盘是由 Azure 托管并与 Azure 虚拟机配合使用的块级存储卷。 可用的磁盘类型包括超高性能磁盘、高级 SSD、标准 SSD 和标准硬盘驱动器 (HDD)。 对于此体系结构,建议使用高级 SSD 或超高性能磁盘 SSD。
- Azure 存储和 Azure 文件存储在云端提供完全托管的文件共享,这些共享项可通过行业标准的服务器消息块 (SMB) 协议进行访问。 Azure 文件共享可由云或者 Windows、Linux 和 macOS 的本地部署同时装载。
- 使用 Azure ExpressRoute 可通过连接服务提供商所提供的专用连接,将本地网络扩展到 Microsoft 云。 使用 ExpressRoute 可与 Microsoft Azure 和 Office 365 等 Microsoft 云服务建立连接。
- Azure SQL 数据库是一个完全托管的平台即服务 (PaaS) 数据库引擎,可在无需用户参与的情况下处理大多数数据库管理功能,包括升级、修补、备份和监视。 Azure SQL 数据库始终运行在最新稳定版 SQL Server 数据库引擎和具有 99.99% 可用性的已修补 OS 之上。 Azure SQL 数据库中内置的 PaaS 功能可让你专注于对业务至关重要的特定于域的数据库管理和优化活动。
方案详细信息
LzLabs 软件定义的大型机 (SDM) 是一个工作负载重新托管和大型机应用程序现代化平台。 SDM 使大型机旧应用程序能够在开放系统上运行,而无需更改源代码、重新编译或转换数据类型。 SDM 还具有一些功能,使旧应用程序能够正常现代化为当代语言和实现,而不会影响整个系统的完整性或操作。
SDM 通过消除查找、修改和重新编译旧应用程序源代码的需要,显著降低了旧工作负载重新托管的风险和复杂性。 此方法使 z/Architecture 二进制可执行程序能够在运行开放系统软件堆栈的 x86_64 体系结构计算机上以本机速度运行,从而为传统现代化开辟了道路。
可能的用例
- 无源代码。 LzLabs 是一种解决方案,适用于具有大型机工作负载但没有运行的应用程序的源代码的客户。 如果解决方案是从独立软件供应商处购买的可自定义现成解决方案 (COTS),且该供应商没有将源代码提供给 IP,则会发生此情况。 此外,由于许多基于 COBOL 的应用程序都是在很久以前编写的,因此源代码可能已经丢失或者错放。 LzLabs 可解决此问题,因为所需要的只是在 SDM 中执行的加载模块(二进制文件)。
- 客户具有源代码,并且想要重新托管。 客户可能仍具有源代码,并且只想重新托管其大型机工作负载,以降低成本并享受 Azure 等云平台所带来的好处。 COBOL 代码可以在新式 DevOps 环境中的 SDM 中维护。
- 故障转移。 要增加运行时间并避免业务连续性的潜在中断,客户可以将 LzLabs SDM 用于故障转移环境。 在此情况下,加载模块将加载到 SDM 中,并且在生产环境不可用时用作辅助环境。
注意事项
基于 Azure 架构良好的框架,以下注意事项适用于此解决方案。
可用性
应用层可用性随 Site Recovery 提供,如图所示。 由于 LzLabs SDM 将 PostgreSQL 用于数据库层,因此可用性随预写事务日志提供。 这可确保辅助数据库与生产数据库在事务上保持一致。
Operations
图中的 Azure 环境通过 Azure 门户或 Azure 资源管理器模板和脚本进行管理。 这样,便可以管理资产(例如调整)并管理安全性和访问。 通过 LzWorkbench 管理工具可以管理实际 SDM 环境。 这允许在 SDM 中创建和管理执行环境。
性能效率
在将大型机工作负载迁移到 Azure 时,请记住 MIPS/vCPU 比率的范围为 50 至 150 MIPS/vCPU。 这可能因工作负载的类型而有所不同。 需要分析联机和批处理环境的大型机工作负载,然后相应地调整资源的大小。
可伸缩性
目前,用于缩放 SDM 的解决方案是通过添加更多 vCPU 和内存来纵向扩展虚拟机。
安全性
通过 Azure 门户和/或 Azure 资源管理器管理对 Azure 资产的访问。 使用 SDM 的 Vault 组件管理 SDM 的安全性。 这会将安全性和权限从 RACF 或“最高机密”迁移到基于 LDAP 的环境,以便在 Azure 中进行管理。
成本优化
要估算 Azure 产品和配置的成本,请访问 Azure 定价计算器。
要详细了解 LzLabs 软件定义的大型机产品及其相关服务的定价,请访问 LzLabs 网站。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
首席作者:
- Jonathon Frost | 首席软件工程师
要查看非公开领英个人资料,请登录领英。
后续步骤
- 有关详细信息,请联系 legacy2azure@microsoft.com
请参阅 LzLabs 的以下资源:
请参阅 Microsoft 提供的以下文档:
- Azure 中的虚拟机
- Azure 虚拟网络文档
- Azure 资源管理器模板文档
- Azure ExpressRoute 文档
- 揭秘大型机到 Azure 的迁移白皮书
- Azure 大型机迁移中心
- 大型机迁移概述
- Azure 上支持的大型机工作负载
- 在 Azure 虚拟机上重新托管大型机
相关资源
请参阅以下 Azure 体系结构中心相关文章: