本文介绍了一种使用 Azure 服务提供横向扩展性能和高可用性的体系结构,该体系结构类似于具有耦合设施 (CF) 的 IBM z/OS 大型机系统。
大型机体系结构
下图显示了具有耦合设施和并行系统综合体组件的 IBM z/OS 大型机系统的体系结构:
下载此体系结构的 Visio 文件。
工作流
输入通过传输控制协议/互联网协议 (TCP/IP) 经由 TN3270 和超文本传输协议安全 (HTTPS) (A) 等标准大型机协议传输到大型机中。
批处理或联机事务处理应用程序接收输入 (B)。 批处理作业可以在共享数据层中的数据的多个中央电子综合体 (CEC) 之间传播或克隆。 联机层可以通过并行系统综合体 CICS 或 CICSPlex 将逻辑客户信息控制系统 (CICS) 区域分布在多个 CEC 上。
通用商业语言 (COBOL)、PL/I、Assembler 或兼容的应用程序 (C) 在支持并行系统综合体的环境中运行,例如 CICSPlex 环境。
其他应用程序服务 (D) 也可以跨 CF 使用共享内存。
支持并行系统综合体的数据服务(如 IBM Db2 (E))允许在共享环境中进行横向扩展数据存储。
中间件和实用程序服务(如 MQSeries、管理和打印服务 (F))在每个 CEC 中的 z/OS 上运行。
每个 CEC (G) 上的逻辑分区 (LPAR) 运行 z/OS。 体系结构可能还具有其他操作环境(例如,IBM z/VM)或其他引擎(例如,IBM z 集成信息处理器 (zIIP))或适用于 Linux 的集成设施 (IFL)。
CEC 通过 CF (H) 连接到共享内存和状态。
CF (I) 是一个物理设备,可将多个 CEC 连接到共享内存。
Azure 体系结构
下图显示了 Azure 服务如何通过并行系统综合体和 CF 为 z/OS 大型机提供类似的功能和性能。
下载此体系结构的 Visio 文件。
工作流
远程客户端通过 Azure ExpressRoute 或其他 Azure 应用程序发送输入。 在这两种情况下,TCP/IP 都是系统的主要连接。
用于访问 Azure 系统资源的 Web 浏览器取代了需求用户和在线用户的终端仿真。 用户通过传输层安全性 (TLS) 端口 443 访问基于 Web 的应用程序。 为了最大程度地减少对用户的再培训,Web 应用程序的表示层可以几乎保持不变。 或者,你可以使用现代用户体验框架更新 Web 应用程序表示层。
(1a) 为了增强安全性,Microsoft Entra ID 可以启用和强制执行身份验证和授权。
在 Azure 中,可以通过 Azure 负载均衡器访问应用程序计算群集,从而允许横向扩展计算资源来处理输入工作。
使用的应用程序计算群集的类型取决于应用程序是在虚拟机 (VM) 上运行还是在容器群集(如 Kubernetes)中运行。 通常,用 PL/I 或 COBOL 编写的应用程序的大型机系统仿真使用 VM。 重构为 Java 或 .NET 的应用程序使用容器。 部分大型机系统仿真软件还支持在容器中部署。
应用程序服务器(例如用于 Java 的 Tomcat 或用于 COBOL 的 CICS 或信息管理系统 (IMS) 事务处理监视器)接收输入,并通过 Azure Cache for Redis 或远程直接内存访问 (RDMA) 共享应用程序状态和数据。 此功能类似于大型机的 CF。
数据服务位于应用程序群集中,因此永久数据源可以接收多个连接。 这些数据源可以包括平台即服务(PaaS) 数据解决方案(如 Azure SQL 数据库和 Azure Cosmos DB)、VM 上的数据库(如 Oracle 数据库或 IBM Db2)或大数据存储库(如 Azure Databrick 和 Azure Data Lake Storage)。 应用程序数据服务还可以连接到流数据分析服务,如 Apache Kafka 和 Azure 流分析。
Azure PaaS 数据服务提供群集中的多个计算资源可以共享的可扩展且高度可用的数据存储。 这些服务也可以是异地冗余的。
应用服务器托管各种基于语言的应用程序,例如 Tomcat 中的 Java 类,或 CICS 仿真 VM 中带有 CICS 动词的 COBOL 程序。
数据服务结合使用Azure 超级磁盘存储或 Azure 高级 SSD 上的高性能存储、Azure NetApp 文件或 Azure 文件存储上的文件存储,以及可以是本地冗余或异地冗余的标准 Blob、存档和备份存储。
Azure Blob 存储是外部数据源的公共登陆区域。
Azure 数据工厂从多个内部和外部数据源引入和同步数据。
Azure Site Recovery 提供用于 VM 组件和容器群集组件的灾难恢复 (DR)。
组件
ExpressRoute 可通过连接合作伙伴提供的专用连接将你的本地网络扩展到 Microsoft 云。 使用 ExpressRoute,可与 Azure 和 Microsoft 365 等云服务建立连接。
Azure Bastion 是在虚拟网络中预配的完全托管的 PaaS。 Azure Bastion 直接从 Azure 门户通过 TLS 为虚拟网络中的 VM 提供安全无缝的远程桌面协议 (RDP) 和安全外壳 (SSH) 连接。
负载均衡器根据配置的负载均衡规则和运行状况探测,将来自负载均衡器前端的入站流量分配到后端池实例。 后端池实例可以是 Azure VM 或者虚拟机规模集中的实例。 负载均衡器是客户端的单一联系点。
负载均衡器在开放式系统互连模型的第 4 层上运行。 7 级应用程序级和 4 级网络协议级负载均衡器均可用。 应使用的类型取决于应用程序输入如何到达计算群集的入口点。
Azure 虚拟机提供了一种可缩放的按需计算资源,可用于灵活地进行虚拟化。 Azure VM 允许选择操作系统,包括 Windows 和 Linux。
大多数 Azure 高性能计算 VM 大小都具有用于 RDMA 连接的网络接口。
Azure 虚拟网络是 Azure 专用网络的基本组成部分。 使用虚拟网络,以便 Azure 资源(如 VM)能够以安全方式相互通信,也可以与 Internet 和本地网络通信。 Azure 虚拟网络类似于传统本地网络,但具有 Azure 基础结构的优势,如可缩放性、可用性和隔离性。
虚拟网络接口支持 Azure VM 与 Internet、Azure 资源和本地资源之间的通信。 可以将多个网络接口卡添加到一个 Azure VM,以便子 VM 可以具有其自己的专用网络接口设备和 IP 地址。 该配置类似于此体系结构。
Azure Kubernetes 服务 (AKS) 是一项完全托管的 Kubernetes 服务,你可以用于在基于容器的计算群集中部署和管理容器化应用程序。
Azure Cache for Redis 是一种完全托管的内存中缓存,可提高数据密集型体系结构的性能和可伸缩性。 该体系结构使用 Azure Cache for Redis 在计算资源之间共享数据和状态。
SQL 数据库是一种完全托管的 PaaS 数据库引擎,始终运行最新稳定版 SQL Server 和具有 99.99% 可用性的已修补 OS。 SQL 数据库无需用户参与即可处理升级、修补、备份、监视和大多数其他数据库管理功能。 有了这些 PaaS 功能,你就能够专注于特定于域的业务关键数据库管理和优化。
SQL 数据库的 Azure 专用链接提供从 Azure 虚拟机到仅使用 Azure 网络主干的 SQL 数据库的专用直接连接。
Azure Cosmos DB 是用于 NoSQL 数据库的 Azure PaaS 服务。
Azure Database for PostgreSQL 是用于 PostgreSQL 数据库的 Azure PaaS 服务。
Azure 托管磁盘是块级存储卷,由 Azure 在 Azure VM 上管理。 可用的磁盘类型包括超级磁盘存储、高级 SSD、标准 SSD 和标准 HDD。 此体系结构最适用于高级 SSD 或超级磁盘存储。
数据工厂是一种完全托管的无服务器数据集成解决方案,可用于大规模引入、准备和转换数据。
Azure 文件存储在 Azure 存储帐户中提供可从云端或本地访问的完全托管的文件共享。 Windows、Linux 和 macOS 部署可以同时装载 Azure 文件共享,并可通过行业标准服务器消息块 (SMB) 协议访问文件。
流分析是一种基于 Azure 的分析服务,可用于流式传输数据。
Azure Databricks 是一种 Apache Spark PaaS 服务,用于大数据分析。
Microsoft Entra ID 是一个基于 Microsoft 云的标识和访问管理解决方案,可将用户连接到他们的应用程序、设备和数据。
方案详细信息
CF 是将多个大型机服务器或 CEC 连接到共享内存的物理设备,以便系统可以横向扩展以提高性能。 用 COBOL 和 PL/I 等语言编写的应用程序可以无缝地使用这些紧密耦合的横向扩展特性。
IBM Db2 数据库和 CICS 服务器可以将 CF 与称为并行系统综合体的大型机子系统结合使用,该子系统结合了数据共享和并行计算。 并行系统综合体支持最多 32 个系统的群集共享工作负载,可提供高性能、高可用性和 DR。 具有并行系统联合体的大型机 CF 通常驻留在同一个数据中心中,CEC 之间非常接近,但也可以跨数据中心扩展。
Azure 资源可以通过共享数据和高可用性提供类似的横向扩展性能。 Azure 计算群集通过 Azure Cache for Redis 等数据缓存机制共享内存,并使用 SQL 数据库和 Azure Cosmos DB 等可扩展数据技术。 为了将横向扩展计算和高可用性扩展到分布式 Azure 数据中心,Azure 可以实施可用性集和可用性组,并将其与异地冗余功能相结合。
注意事项
这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架。
可用性
该体系结构使用 Site Recovery 将 Azure VM 镜像到次要 Azure 区域,以进行快速故障转移和 DR(如果 Azure 数据中心发生故障)。
复原
负载均衡器在此解决方案中创建了复原能力。 如果一个演示或事务服务器出现故障,负载均衡器支持的其他服务器可以运行工作负载。
可伸缩性
你可以横向扩展服务器集以提供更多吞吐量。 有关详细信息,请参阅虚拟机规模集。
安全性
安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表。
此解决方案使用 Azure 网络安全组 (NSG) 来管理 Azure 资源之间的流量。 有关详细信息,请参阅NSGs。
SQL 数据库的专用链接提供专用直接连接,该连接与从 Azure VM 到 SQL 数据库的 Azure 网络主干网隔离。
Azure Bastion 最大程度地减少开放端口,从而最大限度地提高管理员访问安全性。 Azure Bastion 通过 TLS 从 Azure 门户提供直接到虚拟网络 VM 的安全、无缝的 RDP/SSH 连接。
Microsoft Entra 是一个统一的安全平台,可与大多数 Azure 服务无缝集成。
成本优化
成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化设计评审核对清单。
后续步骤
- 有关详细信息,请联系旧版迁移工程团队。
- Azure ExpressRoute
- Azure Bastion
- Azure 负载均衡器
- Azure 托管磁盘
- Azure 虚拟网络
- 创建、更改或删除网络接口
- 大型机迁移概述
- 在 Azure VM 上重新托管大型机