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

重构运行 Adabas 和 Natural 的大型机系统

Azure Kubernetes 服务 (AKS)
Azure ExpressRoute
Azure 托管磁盘
Azure NetApp 文件

Software AG 提供了一个流行的 4GL 大型机平台,该平台基于 Natural 编程语言和 Adabas 数据库。 对于正在使用运行 Adabas 和 Natural 的大型计算机并正在寻找使这些工作负载现代化并将其迁移到云中的方法的组织而言,本文为他们提供了相应的体系结构。

大型机体系结构

此图说明了在迁移到 Azure 之前安装了 Software AG 的 Adabas 和 Natural 模块的大型机示例。 此示例演示 IBM z/OS 体系结构。

Diagram that shows a mainframe architecture that uses Software AG's Adabas & Natural, before migration to Azure.

下载此体系结构的 Visio 文件

工作流

A. 输入通过 TCP/IP 进行,包括 TN3270 和 HTTP(S)。 大型机的输入使用标准大型机协议。

B. 接收应用程序可以是批,也可以是在线系统。

C. Natural、COBOL、PL/I、Assembler 或其他兼容语言在启用的环境中运行。

D. 常用的数据和数据库服务是分层/网络数据库系统和关系数据库类型。

E. 公共服务包括环境中的程序执行、I/O 操作、错误检测和保护。

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

G. 操作系统在引擎和它运行的软件之间提供接口。

H. 需要有分区来运行单独的工作负载并隔离环境中的工作类型。

Azure 体系结构

此图显示了如何使用重构方法将旧版体系结构迁移到 Azure,从而使系统现代化:

Diagram that shows the legacy architecture after migration to Azure.

下载此体系结构的 Visio 文件

工作流

  1. 输入。 输入通常通过来自远程客户端的 Azure ExpressRoute 或通过当前运行 Azure 的其他应用程序进行。 在任一情况下,TCP/IP 连接都是连接到系统的主要方式。 TLS 端口 443 提供对基于 Web 的应用程序的访问。 你可以让基于 Web 的应用程序表示层几乎保持不变,以最大限度地减少用户重新培训。 也可以根据你的要求使用现代 UX 框架更新此层。 对于 VM 的管理员访问权限,你可以使用 Azure Bastion 主机通过最小化开放端口来最大限度地提高安全性。

  2. 在 Azure 中访问。 在 Azure 中,通过 Azure 负载均衡器来提供对应用程序计算群集的访问权限。 使用此方法可以横向扩展计算资源以处理输入工作。 7 级(应用程序级)和 4 级(网络协议级)负载均衡器均可用。 所使用的类型取决于应用程序输入如何到达计算群集的入口点。

  3. 应用程序计算群集。 体系结构支持在容器中运行的应用程序,这些应用程序可以部署在 Kubernetes 等容器编排器中。 Adabas 和 Natural 组件可以在 Linux 操作系统上运行的容器技术内部运行。 你可以重新设计旧应用程序的架构,从而对基于容器架构进行现代化改造,并使之在 Azure Kubernetes 服务之上运行。

  4. ApplinX 终端仿真 (Software AG)。 ApplinX 是一种基于服务器的技术,可提供 Web 连接并集成到核心系统应用程序中,而无需更改应用程序。 Natural Online 使在线用户能够通过 Web 浏览器连接到 Natural 应用程序。 如果没有 ApplinX,用户需要使用 SSH 连接终端仿真软件。 这两个系统都在容器中运行。

  5. EntireX (Software AG)。 EntireX 使你能够轻松地将在 Integration Server 上运行的服务连接到以 COBOL 和 Natural 等语言编写的关键任务程序。 Natural Business Services 支持 API 访问在 Natural 中编程的业务功能。 这两个系统都在容器中运行。

  6. Adabas (Software AG)。 Adabas 是一个高性能的 NoSQL 数据库管理系统。 Natural batch (Software AG) 是用于运行批处理作业的专用组件。 由你选择的批处理作业调度系统安排的自然批处理作业应与 Adabas 数据库在同一节点上运行,以避免性能影响。

  7. 存储。 数据服务结合使用高性能存储(超/高级 SSD)、文件存储 (NetApp) 和标准存储(Blob、存档、备份),这些存储可以是本地冗余或异地冗余,具体取决于使用情况。 节点操作系统使用托管磁盘存储。 所有持久性数据(如数据库文件、保护日志、应用程序数据和备份)都使用 Azure NetApp 文件。 AKS 管理存储在托管磁盘中的操作系统卷。 数据库中的所有关键业务数据,包括 ASSO、DATA、WORK 文件和 Adabas 保护日志,都应写入 Azure NetApp 文件可以提供的单独卷。

  8. CONNX。 CONNX for Adabas 模块通过 .NET、ODBC、OLE DB 和 JDBC 提供对 OS/390、z/OS、VSE、Linux、Solaris、HP-UX、AIX 和 Windows 上的 Adabas 数据源的高度安全、实时读/写访问。 CONNX 连接器提供对 Adabas 数据源的访问,并将它们公开给更常见的数据库,例如 Azure SQL 数据库、Azure Database for PosgreSQL 和 Azure Database for MySQL。

组件

  • Azure ExpressRoute 可通过连接服务提供商提供的专用连接将你的本地网络扩展到 Microsoft 云。 可以使用 ExpressRoute 与 Azure 和 Office 365 等 Microsoft 云服务建立连接。

  • Azure Kubernetes 服务,这是一项完全托管的 Kubernetes 服务,用于部署和管理容器化应用程序。 AKS 提供无服务器 Kubernetes、集成的持续集成和持续交付 (CI/CD) 以及企业级安全性和治理。

  • Azure 托管磁盘是由 Azure 托管并与 Azure 虚拟机配合使用的块级存储卷。 有多种类型可供选择:超磁盘、高级固态硬盘、标准固态硬盘和标准硬盘。 固态硬盘用于此体系结构。

  • Azure NetApp 文件提供由 NetApp 提供支持的企业级 Azure 文件共享。 借助 Azure NetApp 文件,可以轻松迁移和运行基于文件的复杂应用程序,而无需更改代码。

方案详细信息

近 50 年来,在大型计算机上运行的应用程序一直是大多数业务运营的核心。 尽管这些大型机系统多年来提供了卓越的可靠性,但它们也开始出现一些问题,因为它们是刚性的,在某些情况下,难以维护且运行成本高。

许多组织正在寻找将这些系统进行现代化改造的方法。 他们正在寻找方法来释放维护这些系统所需的受限资源,控制其成本,并在与系统的交互中获得更大的灵活性。

Software AG 提供了一个流行的 4GL 大型机平台,该平台基于 Natural 编程语言和 Adabas 数据库。

有两种模式可让你在 Azure 上运行 Adabas 和 Natural 应用程序:重新托管和重构。 本文介绍如何使用在 Azure Kubernetes 服务 (AKS) 中管理的容器重构应用程序。 有关详细信息,请参阅本文后面的基于容器的方法

可能的用例

无论任何组织,只要采用了运行 Adabas 和 Natural 的大型计算机并计划对这些工作负载进行现代化改造并将其迁移到云中,此体系结构都适用。

注意事项

基于容器的方法

要充分利用 Azure 的灵活性、可靠性和功能,你需要重新设计大型机应用程序的架构。 我们建议你将单体应用程序重写为微服务,并使用基于容器的方法进行部署。 容器将执行所需的所有软件捆绑到一个可执行包中。 它包括应用程序的代码以及运行应用所需的相关配置文件、库和依赖项。 容器化应用程序可以快速部署并支持流行的 DevOps 实践,例如持续集成 (CI) 和持续部署 (CD)。

Adabas 和 Natural 容器在 Pod 中运行,每个 Pod 执行特定任务。 Pod 是一个或多个容器的单元,这些容器位于同一节点上,并共享主机名和 IP 地址等资源。 由于 Pod 与基础平台分离,因此 Pod 中的组件可以独立缩放并支持更高的可用性。 容器化应用程序也是可移植的:在任何基础设施上统一且一致地运行。

需要编排和管理容器化服务及其相关的网络和存储组件。 我们推荐 AKS,这是一种托管 Kubernetes 服务,可自动执行群集和资源管理。 你指定所需的节点数量,然后 AKS 会将你的容器安装到正确的节点上,以充分利用资源。 AKS 还支持自动推出和回滚、服务发现、负载平衡和存储编排。 AKS 支持自我修复:如果容器出现故障,AKS 会启动一个新容器。 此外,你可以安全地将机密和配置设置存储在容器之外。

本文中的体系结构图显示了 Adabas 和 Natural 的基于容器的实施。 设置 AKS 时,为节点指定 Azure VM 大小,VM 大小将定义存储 CPU、内存和类型,如高性能固态硬盘 (SSD) 或常规硬盘驱动器 (HDD)。 在此示例中,Natural 在三个 VM 实例(节点)上运行,以提高用户界面(Natural Online 和 ApplinX)和 API 层(Natural Service 和 EntireX)的可扩展性和可用性。

在数据层,Adabas 在 AKS 群集中运行,它会根据资源使用情况自动扩展和扩展。 你可以在同一个 pod 中运行多个 Adabas 组件,或者为了提高规模,AKS 可以将它们分布在群集中的多个节点上。 Adabas 使用 Azure NetApp 文件,这是一种高性能的计量文件存储服务,用于存储所有持久数据,例如数据库文件、保护日志、应用数据和备份。

操作

通过重构,可以加快云的采用。 它还促进采用 DevOps 和敏捷工作原则。 你在开发和生产部署选项方面拥有完全的灵活性。

性能效率

Kubernetes 提供了一个群集自动缩放程序。 自动缩放程序根据节点池中请求的计算资源调整节点数。 自动缩放程序每 10 秒监视一次指标 API 服务器,以了解是否需要更改节点数。 如果群集自动缩放程序确定需要进行更改,则 AKS 群集中的节点数会相应增加或减少。 

安全性

这个体系结构主要建立在 Kubernetes 上,其中包括 pod 安全标准和机密等安全组件。 Azure 还提供其他功能,例如 Microsoft Entra ID、Microsoft Defender for Containers、Azure Policy、Azure Key Vault、网络安全组和协调群集升级。

作者

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

主要作者:

  • Marlon Johnson | 高级 TPM

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

Next steps

有关详细信息,请联系 legacy2azure@microsoft.com

下面是一些其他资源: