以下体系结构说明可以使用 Azure Kubernetes 服务 (AKS) 或 Azure 虚拟机 (VM) 的常规重构方法。 具体选择取决于现有应用程序的可移植性和你的偏好。 重构可以自动将代码转换为 Java 或 .NET 并将预关系数据库转换为关系数据库,从而加快向 Azure 的迁移。
大型机体系结构
下载此体系结构的 Visio 文件。
工作流
- 本地用户使用 TN3270 和 HTTPS 等标准大型机协议通过 TCP/IP 访问大型机 (A)。
- 接收应用程序可以是批,也可以是在线系统 (B)。
- COBOL、PL/I、汇编程序或兼容语言在启用的环境中运行 (C)。
- 典型的数据和数据库服务包括分层或网络数据库系统、索引或平面数据文件,以及关系数据库 (D)。
- 公共服务包括程序执行、I/O 操作、错误检测和保护 (E)。
- 中间件和实用程序服务管理带存储、排队、输出和 Web 服务 (F)。
- 操作系统是计算引擎与软件之间的接口 (G)。
- 分区在环境中运行独立的工作负载或分隔的工作类型 (H)。
重构的 Azure 体系结构
下载此体系结构的 Visio 文件。
工作流
输入来自通过 ExpressRoute 的远程客户端,或来自其他 Azure 用户。 TCP/IP 是连接到系统的主要方式。
本地用户可以通过传输层安全性 (TLS) 端口 443 访问基于 Web 的应用程序。 Web 应用程序的表示层可以保持不变,以最大程度地减少对最终用户的再培训。 或者,可以使用新式 UX 框架更新表示层。
本地管理访问使用 Azure Bastion 主机通过最大程度地减少开放端口来最大程度地提高安全性。
Azure 用户通过虚拟网络对等互连连接到系统。
在 Azure 中,Azure 负载均衡器管理对应用程序计算群集的访问。 负载均衡器支持横向扩展计算资源来处理输入。 你可以使用 7 级应用程序级或 4 级网络级负载均衡器,具体取决于应用程序输入如何传到计算群集入口点。
应用程序计算群集可以在 Azure VM 上运行,也可以在 AKS 群集的容器中运行。 通常,PL/I 或 COBOL 应用程序的大型机系统仿真使用 VM,重构为 Java 或 .NET 的应用程序则使用容器。 部分大型机系统仿真软件还支持在容器中部署。 计算资源使用具有加速网络和远程直接内存访问 (RDMA) 的高级或超固态驱动器 (SSD) 托管磁盘。
计算群集中的应用程序服务器托管基于语言功能的应用程序,例如 Java 类或 COBOL 程序。 服务器接收应用程序输入,并使用 Azure Cache for Redis 或 RDMA 共享应用程序状态和数据。
应用程序群集中的数据服务支持到永久数据源的多个连接。 Azure 专用链接提供从虚拟网络到 Azure 服务的专用连接。 数据源可以包括以下内容:
- PaaS 数据服务,例如 Azure SQL 数据库、Azure Cosmos DB 和 Azure Database for PostgreSQL - 超大规模。
- VM 中的数据库,例如 Oracle 或 Db2。
- 大数据存储库,例如 Azure Databricks 和 Azure Data Lake。
- 流式处理数据服务,例如 Apache Kafka 和 Azure 流分析。
数据存储可以是本地冗余,也可以异地冗余,具体取决于使用情况。 数据存储可以组合使用以下内容:
- 具有超级或高级 SSD 磁盘的高性能存储。
- 具有 Azure NetApp 文件或 Azure 文件存储的文件存储。
- 标准存储,包括 blob、存档和备份存储。
Azure PaaS 数据服务提供可缩放且高度可用的数据存储,这些存储可在计算群集资源之间共享。 该存储也可以是异地冗余的。
- Azure Blob 存储是外部数据源的公共登陆区域。
- Azure 数据工厂支持多个 Azure 和外部数据源的数据引入和同步。
Azure Site Recovery 为 VM 和容器群集组件提供 DR。
Microsoft Entra ID、Azure 网络、Azure 流分析、Azure Databricks 和 Power BI 等服务可与新式系统轻松集成。
组件
此示例包含以下 Azure 组件。 其中多个组件和工作流是可互换的或可选的,具体取决于方案。
Azure ExpressRoute 可通过连接提供商提供的专用光纤连接将本地网络扩展到 Azure。 ExpressRoute 可与 Azure 和 Microsoft 365 等 Microsoft 云服务建立连接。
Azure Bastion 通过 TLS 从 Azure 门户提供与虚拟网络 VM 的无缝远程桌面协议 (RDP) 或安全外壳 (SSH) 连接。 Azure Bastion 通过最大程度地减少开放端口来最大程度地提高管理访问安全性。
Azure 负载均衡器将传入流量分配到计算资源群集。 你可以定义用于分配流量的规则和其他标准。
Azure Kubernetes 服务 (AKS) 是一项完全托管的 Kubernetes 服务,用于部署和管理容器化应用程序。 AKS 提供无服务器 Kubernetes(一种整合的持续集成和持续交付 (CI/CD) 体验)以及企业级安全性和管理。
Azure 虚拟机提供多种大小和多种类型的按需可缩放计算资源。 借助 Azure VM,无需购买和维护物理硬件即可灵活地实现虚拟化。
Azure 虚拟网络是 Azure 专用网络的基本构建块。 虚拟网络中的 Azure VM 可以安全地相互通信、与 Internet 通信,也可以与本地网络通信。 虚拟网络类似于传统的本地网络,但具有 Azure 基础结构的优势,例如可缩放性、高可用性和隔离性。
Azure 专用链接提供从虚拟网络到 Azure 服务的专用连接。 专用链接简化了网络体系结构,并通过消除在公共 Internet 上的暴露来保护 Azure 终结点之间的连接。
Azure Cache for Redis 向应用程序体系结构添加高速缓存层,以高速处理大量数据。 Azure Cache for Redis 可以简单且经济高效地缩放性能,并且具有完全托管服务的优势。
Azure 存储为所有数据、应用程序和工作负载提供可缩放的安全云存储。
Azure 磁盘存储为业务关键型应用程序提供高性能、持久的块存储。 Azure 托管磁盘是由 Azure VM 上的 Azure 托管的块级存储卷。 可用的磁盘类型包括超级磁盘、高级 SSD、标准 SSD 和标准硬盘驱动器 (HDD)。 此体系结构使用高级 SSD 或超级磁盘 SSD。
Azure 文件在云端提供完全托管的文件共享,这些共享项可通过行业标准的服务器消息块 (SMB) 协议进行访问。 云和本地 Windows、Linux 和 macOS 部署可以同时装载 Azure 文件存储文件共享。
Azure NetApp 文件提供由 NetApp 提供支持的企业级 Azure 文件共享。 利用 NetApp 文件,企业可以轻松地迁移和运行复杂的基于文件的应用程序,而无需更改代码。
Azure Blob 存储是可缩放且安全的对象存储,适用于存档、数据湖、高性能计算、机器学习和云原生工作负载。
Azure 数据库提供完全托管的关系数据库和 NoSQL 数据库,以满足新式应用程序的需求。 自动化基础结构管理提供可缩放性、可用性和安全性。
Azure SQL 数据库是完全托管式的 PaaS 数据库引擎。 SQL 数据库始终运行于最新稳定版 SQL Server 和具有 99.99% 可用性的已修补 OS 之上。 内置的 PaaS 数据库管理功能包括升级、修补、备份和监视。 你可以专注于特定于域的业务关键数据库管理和优化。
Azure Database for PostgreSQL 是基于开源 Postgres 关系数据库引擎的完全托管的数据库。 超大规模 (Citus) 部署选项使用分片来跨多台计算机缩放查询,为需要较大规模和较高性能的应用程序提供服务。
Azure Cosmos DB 是完全托管的快速 NoSQL 数据库,具有适合于任何规模的开放式 API。
Azure Site Recovery 将 Azure VM 镜像到辅助 Azure 区域,以便在 Azure 数据中心出现故障时进行快速故障转移和 DR。
方案详细信息
将工作负载重构到 Azure 可以转换 Windows Server 或 Linux 上运行的大型机应用程序。 可以使用基于云的 Azure 基础结构即服务 (IaaS) 和平台即服务 (PaaS) 更经济地运行这些应用程序。
大型机应用程序的常规重构方法还推动基础结构从旧式专有技术转换为标准化且基准化的开放式技术。 此转换促进了敏捷 DevOps 原则,这些原则是当今的高效开放系统标准。 重构从独立的独特旧式基础结构、流程和应用程序过渡到统一的更好的业务和 IT 协调。
此常规重构方法可以使用 Azure Kubernetes 服务 (AKS) 或 Azure 虚拟机 (VM)。 具体选择取决于现有应用程序的可移植性和你的偏好。 重构可以自动将代码转换为 Java 或 .NET 并将预关系数据库转换为关系数据库,从而加快向 Azure 的迁移。
重构支持将客户端工作负载移动到 Azure 的各种方法。 其中一种方法是将整个大型机系统一次性转换并移动到 Azure,从而避免临时大型机维护并节省设备支持成本。 该方法存在一定风险。 所有应用程序转换、数据迁移和测试过程都必须协调一致,以便从大型机顺利转换为 Azure。
另一种方法是将应用程序从大型机逐步移动到 Azure,并以完全转换作为最终目标。 该方法可为每个应用程序节省成本,转换每个应用程序的经验有助于后续转换。 相较于一次性转换所有应用程序,根据每个应用程序的计划将其现代化要轻松得多。
可能的用例
在 Azure 上进行重构可以帮助组织实现以下内容:
- 实现基础结构现代化,避免大型机的高成本、限制和僵化。
- 将大型机工作负载移动到云中,而不需要完全重新开发。
- 迁移业务关键应用程序,同时保持与其他本地应用程序的连续性。
- 从 Azure 的水平和垂直可伸缩性中受益。
- 获得灾难恢复 (DR) 功能。
注意事项
基于 Azure 架构良好的框架,以下注意事项适用于此解决方案:
可用性
Azure Site Recovery 将 Azure VM 镜像到辅助 Azure 区域,以便在主 Azure 数据中心出现故障时进行快速故障转移和 DR。
操作
重构不仅支持更快的云采用,还促进了 DevOps 和敏捷工作原则的采用。 你在开发和生产部署选项方面拥有完全的灵活性。
复原
负载均衡器在此解决方案中内置了性能效率。 如果一个演示或事务服务器出现故障,负载均衡器支持的其他服务器可以运行工作负载。
安全性
此解决方案使用 Azure 网络安全组 (NSG) 来管理 Azure 资源之间的流量。 有关详细信息,请参阅网络安全组。
专用链接提供与 Azure VM 和 Azure 服务之间的 Azure 网络主干网隔离的专用直接连接。
Azure Bastion 通过最大程度地减少开放端口来最大程度地提高管理访问安全性。 Bastion 通过 TLS 从 Azure 门户提供到虚拟网络 VM 的安全、无缝的 RDP 和 SSH 连接。
成本优化
Azure 可避免不必要的成本,方法是确定正确的资源类型数、分析一段时间内的支出,以及在不超支的情况下进行缩放以满足业务需求。
Azure 可在 VM 上运行,从而实现成本优化。 可以在不使用时关闭 VM,并为已知的使用模式编写计划。 请参阅 Azure 架构良好的框架,了解有关 VM 实例的成本优化的信息。
此体系结构中的 VM 使用高级 SSD 或超级磁盘 SSD。 有关磁盘选项和定价的详细信息,请参阅托管磁盘定价。
SQL 数据库使用无服务器计算和自动缩放的超大规模存储资源来优化成本。 有关 SQL 数据库选项和定价的详细信息,请参阅 Azure SQL 数据库定价。
使用定价计算器估算实现此解决方案的成本。
作者
本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。
首席作者:
- Jonathon Frost | 首席软件工程师
要查看非公开领英个人资料,请登录领英。
后续步骤
- 如需更多資訊,請聯絡 legacy2azure@microsoft.com。
- 什么是 Azure ExpressRoute
- 什么是 Azure 虚拟网络
- Azure 托管磁盘简介
- 什么是 Azure 专用链接
- 什么是 Azure SQL 数据库
- 什么是 Azure 文件