本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
大型机现代化:AWS使用 Micro Focus DevOps 开启
由 Kevin Yung 创作 () AWS
摘要
客户面临的挑战
在大型机硬件上运行核心应用程序的组织,在硬件需要纵向扩展以满足数字创新需求时,通常会遇到一些挑战。这些挑战包括以下制约因素。
由于大型机硬件组件不灵活,更换成本高昂,因此大型机开发和测试环境无法扩展。
由于新开发人员对传统大型机开发工具不熟悉、不感兴趣,大型机开发正面临技能短缺的问题。诸如容器、连续integration/continuous delivery (CI/CD(连续)管道和现代测试框架之类的现代技术在大型机开发中不可用。
模式结果
为了应对这些挑战,Amazon Web Services (AWS) 和AWS合作伙伴网络 (APN) 合作伙伴 Micro Focus 合作创建了这种模式。该解决方案旨在帮助您实现以下成果。
提高开发人员的工作效率。开发人员可以在几分钟内获得新的大型机开发实例。
使用AWS云创建容量几乎无限的新大型机测试环境。
快速配置新的大型机 CI/CD 基础架构。使用AWS CloudFormation 和 S AWS ystems Manager AWS 可以在一小时内完成置备。
原生使用大型机开发AWS DevOps 工具,包括、、AWS CodeBuildAWS CodeCommitAWS CodePipelineAWS CodeDeploy、和 Amazon 弹性容器注册表 (AmazonECR)。
将大型机项目中的传统瀑布式开发转变为灵活开发。
技术摘要
在此模式中,目标堆栈包含以下组件。
逻辑组件 | 实施方案 | 描述 |
---|---|---|
源代码存储库 | Micro Foc AccuRev us Server CodeCommit、、A ECR | 源代码管理 - 该解决方案使用两种类型的源代码。
两种类型的源代码都需要版本控制,但它们的管理方式不同SCMs。部署到大型机或 Micro Focus 企业服务器中的源代码在 Micro Focus AccuRev Server 中管理。 AWS模板和自动化脚本在中进行管理 CodeCommit。亚马逊用ECR于 Docker 镜像存储库。 |
企业开发人员实例 | 亚马逊弹性计算云(亚马逊EC2),Eclipse 的 Micro Focus 企业开发者 | 大型机开发人员可以使用适用于 Eclipse EC2 的 Micro Focus 企业开发者在亚马逊中开发代码。这样就无需依赖大型机硬件来编写和测试代码。 |
Micro Focus 许可证管理 | Micro Focus 许可证管理器 | 对于集中式 Micro Focus 许可证管理和治理,该解决方案使用 Micro Focus License Manager 来托管所需许可证。 |
CI/CD 管道 | CodePipeline、、 CodeBuild CodeDeploy、容器中的 Micro Focus 企业开发人员、容器中的 Micro Focus 企业测试服务器、Micro Focus 企业服务器 | 大型机开发团队需要 CI/CD 管道来执行代码编译、集成测试和回归测试。在AWS, CodePipeline 并且 CodeBuild 可以原生使用容器中的 Micro Focus 企业开发人员和企业测试服务器。 |
先决条件和限制
先决条件
名称 | 描述 |
---|---|
py3270 | py3270 是 3270 终端仿真器 x3270 的 Python 接口。IBM它提供了 x3270 或 s3270 的子进程。API |
x3270 | x3270 是一款适用于 X Window System 和 Windows 的 IBM 3270 终端仿真器。 开发人员可以使用它来进行本地单元测试。 |
机器人框架-大型机-3270-库 | Mainframe3270 是基于 py3270 项目的 Robot Framework 库。 |
Micro Focus Verastream | Micro Focus Verastream 是一个集成平台,支持以测试移动应用程序、Web 应用程序和 SOA Web 服务的方式测试大型机资产。 |
Micro Focus 统一功能测试 (UFT) 安装程序和许可证 | Micro Focus Unified Functional Testing 是一款为软件应用程序和环境提供功能和回归测试自动化的软件。 |
Micro Focus Enterprise Server 安装程序和许可证 | Enterprise Server 为大型机应用程序提供运行时系统环境。 |
Micro Focus Enterprise Test Server 安装程序和许可证 | Micro Focus 企业测试服务器是一个IBM大型机应用程序测试环境 |
适用于服务器的 Micro Focus AccuRev 安装程序和许可证,以及 Windows 和 Linux 操作系统的 Micro Focus AccuRev 安装程序和许可证 | AccuRev 提供源代码管理 (SCM)。该 AccuRev 系统专为一组正在开发一组文件的人员使用而设计。 |
Micro Focus Enterprise Developer for Eclipse 安装程序、修补程序和许可证 | Enterprise Developer 为大型机开发人员提供了一个平台,用于开发和维护核心大型机在线和批处理应用程序。 |
限制
中不支持构建 Windows Docker 镜像。 CodeBuild这个报告的问题
需要 Windows Kernel/ HCS 和 Docker 团队的支持。解决方法是使用 Systems Manager 创建 Docker 映像构建运行手册。此模式使用变通方法构建 Micro Focus Enterpise Developer for Eclipse 和 Micro Focus Enterprise Test Server Container 映像。 Windows 尚不支持来自的虚拟私有云 (VPC) 连接,因此该模式不使用 Micro Foc CodeBuild us License Manager 来管理 Micro Focus Enterprise Developer 和 Micro Focus 企业测试服务器容器中的许可证。
产品版本
Micro Focus Enterprise Developer 5.5 或更高版本
Micro Focus Enterprise Test Server 5.5 或更高版本
Micro Focus Enterprise Server 5.5 或更高版本
微焦点 AccuRev 7.x 或更高版本
适用于 Micro Focus Enterprise Developer 和 Enterprise Test Server 的 Windows Docker 基础映像:microsoft/dotnet-framework-4.7.2-runtime
适用于 AccuRev 客户的 Linux Docker 基础镜像:amazonlinux: 2
架构
大型机环境
在传统的大型机开发中,开发人员需要使用大型机硬件来开发和测试程序。它们面临容量限制,例如,开发/测试环境每秒限制百万条指令 (MIPS),而且他们必须依赖大型机计算机上可用的工具。
在许多组织中,大型机开发遵循瀑布式开发方法,团队依靠较长的周期来发布变更。这些产品的发布周期通常长于数字产品开发。
下图显示了多个大型机项目共享大型机硬件进行开发的情况。在大型机硬件中,为更多项目横向扩展开发和测试环境的成本很高。

AWS 架构
这种模式将大型机开发扩展到AWS云端。首先,它使用 Micro Focus AccuRev SCM 来托管大型机源代码。AWS然后,它使 Micro Focus Enterprise Developer 和 Micro Focus 企业测试服务器可用于构建和测试大型机代码。AWS
下文将介绍该模式的三个主要组成部分。
1SCM.
在中AWS,该模式使用 Micro Foc AccuRev us 为大型机源代码创建了一组SCM工作区和版本控制。其基于流的架构可实现多个团队的并行大型机开发。要合并更改,请 AccuRev 使用升级概念。要将该更改添加到其他工作空间,请 AccuRev 使用更新概念。
在项目级别,每个团队可以创建一个或多个直播 AccuRev 来跟踪项目级别的变化。这些被称为项目流。这些项目流继承自同一父流。父流用于合并来自不同项目流的更改。
每个项目流都可以将代码提升到 AccuRev,并且设置了提升后触发器来启动 C AWS I/CD 管道。项目流更改的成功生成可以提升到其父流,以进行更多回归测试。
通常,父流被称为系统集成流。当从项目流提升到系统集成流时,提升后触发器会启动另一个 CI/CD 管道来运行回归测试。
除大型机代码外,此模式还包括AWS CloudFormation 模板、Systems Manager 自动化文档和脚本。遵循 infrastructure-as-code最佳实践,它们在中受版本控制。AWS CodeCommit
如果您需要将大型机代码同步回大型机环境进行部署,Micro Focus 提供了企业同步解决方案,该解决方案可以将代码从 AccuRev SCM背面同步到大型机。SCM
2。开发人员和测试环境
在大型组织中,要扩展成百甚至上千名大型机开发人员是一项挑战。为了解决这一限制,该模式使用亚马逊 EC2 Windows 实例进行开发。在实例上,安装了 Micro Focus Enterprise Developer for Eclipse 工具。开发人员可以在实例上本地执行所有大型机代码测试和调试。
AWSSystems Manager 状态管理器和自动化文档用于自动配置开发者实例。创建开发者实例的平均时间在 15 分钟以内。准备了以下软件和配置。
AccuRev Windows 客户端,用于检出源代码并将其提交到 AccuRev
Micro Focus Enterprise Developers for Eclipse 工具,用于在本地编写、测试和调试大型机代码
开源测试框架 Python 行为驱动开发 (BDD) 测试框架 Behavel、py3270 和用于创建脚本以测试应用程序的 x3270 仿真器
一个 Docker 开发人员工具,用于生成企业测试服务器 Docker 映像并在企业测试服务器 Docker 容器中测试应用程序
在开发周期中,开发人员使用该EC2实例在本地开发和测试大型机代码。成功测试本地更改后,开发人员会将更改推广到 AccuRev 服务器。
3。CI/CD 管道
在该模式中,CI/CD 管道用于在部署到生产环境之前进行集成测试和回归测试。
如SCM本节所述, AccuRev 使用两种类型的流:项目流和集成流。每个直播都与之连接. CI/CD pipelines. To perform the integration between the AccuRev server and AWS CodePipeline, the pattern uses AccuRev post promotion script to create an event to initiate CI/CD
例如,当开发者在中宣传对项目流的更改时 AccuRev,它会启动一个升级后脚本以在 AccuRev Server 中运行。然后,该脚本将更改的元数据上传到 Amazon Simple Storage Service (Amazon S3)桶以创建 Amazon S3 事件。此事件将启动 CodePipeline 已配置的管道运行。
集成流及其关联的管道使用相同的事件启动机制。
在 CI/CD 管道中, CodeBuild 与 Micro Foc AccuRev us Linux 客户端容器一起 CodePipeline 使用来查看直播中的 AccuRev 最新代码。然后,管道开始 CodeBuild 使用 Micro Focus Enterprise Developer Windows 容器来编译源代码,并使用 Micro Focus 企业测试服务器 Windows 容器 CodeBuild 来测试大型机应用程序。
CI/CD pipelines are built using AWS CloudFormation templates, and the blueprint will be used for new projects. By using the templates, it takes less than an hour for a project to create a new CI/CD管道进来AWS了。
为了扩展您的大型机测试能力AWS,该模式构建了 Micro Focus DevOps 测试套件、Micro Focus Verastream 和 Micro Focus 服务器。UFT通过使用现代 DevOps 工具,您可以根据AWS需要运行任意数量的测试。
下图显示了一个开启 Micro Foc AWS us 的大型机开发环境示例。

目标技术堆栈
本节将详细介绍该模式中每个组件的架构。
1。源代码存储库 — AccuRev SCM
Micro Foc AccuRev SCM us 的设置是为了管理大型机源代码版本。为了获得高可用性, AccuRev 支持主模式和副本模式。操作员在主节点上执行维护时可以故障转移到副本。
为了加快 CI/CD 管道的响应速度,该模式使用 Amazon E CloudWatch vents 来检测源代码更改并启动管道的启动。
设置 CodePipeline 为使用 Amazon S3 来源。
设置 CloudWatch 事件规则是为了从源 S3 存储桶中捕获 S3 事件。
CloudWatch 事件规则为管道设置了目标。
AccuRev SCM配置为在升级完成后在本地运行升级后脚本。
AccuRev SCM生成一个包含促销元数据的XML文件,然后脚本将该XML文件上传到源 S3 存储桶。
上传后,源 S3 存储桶发送事件以匹配 CloudWatch 事件规则, CloudWatch 事件规则启动 CodePipeline 要运行的事件。
当管道运行时,它会启动一个 CodeBuild 项目,使用 AccuRev Linux 客户端容器从关联 AccuRev 的流中查看最新的大型机代码。
下图显示了 AccuRev 服务器设置。

2。企业开发人员模板
该模式使用 Amazon EC2 模板来简化开发者实例的创建。通过使用状态管理器,它可以一致地将软件和许可证设置应用于EC2实例。
Amazon EC2 模板在其VPC上下文设置和默认实例设置中构建,并遵循企业标签要求。通过使用模板,团队可以创建自己的新开发实例。
当开发人员实例启动时,通过与标签关联,Systems Manager 使用 State Manager 来应用自动化。自动化包括以下常规步骤。
安装 Micro Focus Enterprise Developer 软件并安装补丁。
安装适用于 Windows 的 Micro AccuRev Focus 客户端。
安装预先配置的脚本以供开发者加入 AccuRev 直播。初始化 Eclipse 工作区。
安装开发工具,包括 x3270、py3270 和 Docker。
将许可证设置配置为指向 Micro Focus License Manager 负载均衡器。
下图显示了由 Amazon EC2 模板创建的企业开发者实例,状态管理器将软件和配置应用于该实例。企业开发人员实例连接到 Micro Focus License Manager 以激活其许可证。

3。 CI/CD 管道
正如AWS架构部分所述,在模式中,有项目级CI/CD pipelines and system integration pipelines. Each mainframe project team creates a pipeline or multiple CI/CD pipelines for building the programs that they are developing in a project. These project CI/CD管道从关联 AccuRev 流中检出源代码。
在项目团队中,开发人员在关联的 AccuRev 流中推广他们的代码。然后,升级将启动项目管道以生成代码并运行和集成测试。
每个项目 CI/CD 管道都使用带有 Micro Focus 企业开发者工具 Amazon ECR 图像和 Micro Focus 企业测试服务器工具亚马逊ECR图像的 CodeBuild 项目。
CodePipeline 并 CodeBuild 用于创建 CI/ CDs 管道。因为 CodeBuild 并且 CodePipeline 没有预付费用或承诺,因此您只需为实际使用量付费。与大型机硬件相比,该AWS解决方案大大缩短了硬件配置提前期,降低了测试环境的成本。
在现代开发中,使用了多种测试方法。例如,测试驱动开发 (TDD) 和机器人框架。BDD通过此模式,开发人员可以使用这些现代工具进行大型机测试。例如,通过使用 x3270、py3270 和行为 python 测试工具,可以定义联机应用程序的行为。您还可以在这些 CI/CD 管道中使用构建大型机 3270 机器人框架。
下图显示了团队流 CI/CD 管道。

下图显示了 Mainframe3270 Robot Framework CodePipeline 中生成的项目 CI/CD 测试报告。

下图显示了在 Py3270 和 Behave CodePipeline 中生成的项目 CI/CD 测试报告。BDD

成功通过项目级测试后,将手动将测试的代码提升到中的集成流 AccuRev SCM。在团队对其项目管道的测试覆盖率有信心后,可以自动执行此步骤。
升级代码时,系统集成 CI/CD 管道会签出合并的代码并执行回归测试。合并的代码将从所有并行项目流中提升。
根据对测试环境的要求程度,客户可以在不同的环境(例如UAT预生产)中拥有更多的系统集成 CI/CD 管道。
在该模式中,系统集成管道中使用的工具是 Micro Focus 企业测试服务器、Micro Focus Server 和 Micro Foc UFT us Verastream。所有这些工具都可以部署到 Docker 容器中并与之一起 CodeBuild使用。
成功测试大型机程序后,构件将通过版本控制存储在 S3 存储桶中。
下图显示了系统集成 CI/CD 管道。

在系统集成 CI/CD 管道中成功测试构件后,可以将其提升为生产部署。
如果您需要将源代码部署回大型机,Micro Focus 提供了企业同步解决方案,用于将源代码从 Mainframe Endeavor 同步 AccuRev 回 Mainframe Endeavor。
下图显示了将构件部署到 Micro Focus Enterprise Server 中的生产 CI/CD 管道。在此示例中, CodeDeploy 精心安排将经过测试的大型机工件部署到 Micro Focus Enterprise Server 中。

除了 CI/CD 管道的架构演练外,您还可以阅读AWS DevOps 博客文章使用 Micro Focus Enterprise Suite 自动执行数千个大型机测试,了解有关AWS
工具
工具
AWS自动化工具
Micro Focus 工具
其他工具
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
使用部署主 AccuRev SCM服务器AWS CloudFormation。 | AWS CloudFormation | |
创建 AccuRev 管理员用户。 | 登录到 AccuRev SCM服务器,然后运行CLI命令创建管理员用户。 | AccuRev SCM服务器管理员 |
创建 AccuRev 直播。 | 按顺序创建 AccuRev 从上层流继承的直播:制作、系统集成、团队直播。 | AccuRev SCM 管理员 |
创建开发者 AccuRev 登录账户。 | 使用 AccuRev SCMCLI命令为大型机开发人员创建 AccuRev 用户登录帐户。 | AccuRev SCM 管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
使用部署 Amazon EC2 启动模板AWS CloudFormation。 | 用于AWS CloudFormation 为 Micro Focus 企业开发者实例部署 Amazon EC2 启动模板。该模板包括 Micro Focus Enterprise Developer 实例的 Systems Manager Automation 文档。 | AWS CloudFormation |
使用 Amazon EC2 模板创建企业开发者实例。 | AWS主机登录和大型机开发者技能 |
任务 | 描述 | 所需技能 |
---|---|---|
创建 Micro Focus Enterprise Developer 工具 Docker 映像。 | 使用 Docker 命令和 Micro Focus Enterprise Developer 工具 Dockerfile 创建 Docker 映像。 | Docker |
在亚马逊ECR上创建 Docker 存储库。 | 在亚马逊ECR控制台上,为 Micro Focus 企业开发者 Docker 镜像创建存储库。 | Amazon ECR |
将 Micro Focus 企业开发者工具 Docker 镜像推送到亚马逊ECR。 | 运行 Docker push 命令推送企业开发者工具 Docker 镜像,将其保存在亚马逊的 Docker 存储库中。ECR | Docker |
任务 | 描述 | 所需技能 |
---|---|---|
创建 Micro Focus Enterprise Test Server Docker 映像。 | 使用 Docker 命令和 Micro Focus Enterprise Test Server Dockerfile 创建 Docker 映像。 | Docker |
在亚马逊ECR上创建 Docker 存储库。 | 在亚马逊ECR控制台上,为 Micro Focus 企业测试服务器 Docker 镜像创建亚马逊ECR存储库。 | Amazon ECR |
将 Micro Focus 企业测试服务器 Docker 镜像推送到亚马逊ECR。 | 运行 Docker push 命令将企业测试服务器 Docker 镜像推送并保存到亚马逊。ECR | Docker |
任务 | 描述 | 所需技能 |
---|---|---|
创建AWS CodeCommit 存储库。 | 在 CodeCommit 控制台上,为基础架构和AWS CloudFormation 代码创建基于 Git 的存储库。 | AWS CodeCommit |
将AWS CloudFormation 模板和自动化代码上传到 CodeCommit 存储库。 | 运行 Git push 命令将AWS CloudFormation 模板和自动化代码上传到存储库。 | Git |
通过部署团队直播 CI/CD 管道。 CloudFormation | 使用准备好的AWS CloudFormation 模板部署团队流 CI/CD 管道。 | AWS CloudFormation |
任务 | 描述 | 所需技能 |
---|---|---|
创建 Micro Focus UFT Docker 镜像。 | 使用 Docker 命令和 Micro Focu UFT s Dockerfile 创建 Micro Focus Docker 镜像。 | Docker |
在亚马逊中ECR为 Micro Focus UFT 镜像创建 Docker 存储库。 | 在亚马逊ECR控制台上,为 Micro Focus UFT 镜像创建 Docker 存储库。 | Amazon ECR |
将 Micro Focus UFT Docker 镜像推送到亚马逊ECR。 | 运行 Docker push 命令将企业测试服务器 Docker 镜像推送并保存到亚马逊。ECR | Docker |
创建 Micro Focus Verastream Docker 映像。 | 使用 Docker 命令和 Micro Focus Verastream Dockerfile 创建 Docker 映像。 | Docker |
在亚马逊中ECR为 Micro Focus Verastream 镜像创建 Docker 存储库。 | 在亚马逊ECR控制台上,为 Micro Focus Verastream 镜像创建 Docker 存储库。 | Amazon ECR |
通过部署系统集成 CI/CD 管道。 CloudFormation | 使用准备好的AWS CloudFormation 模板部署系统集成 CI/CD 管道。 | AWS CloudFormation |
任务 | 描述 | 所需技能 |
---|---|---|
使用AWS快速入门部署 Micro Focus 企业服务器。 | 要使用部署 Micro Focus 企业服务器 AWS CloudFormation,请在AWS快速入门中启动 Micro Focus 企业服务器。 | AWS CloudFormation |
部署生产部署 CI/CD 管道。 | 在AWS CloudFormation 控制台上,使用AWS CloudFormation 模板部署生产部署 CI/CD 管道。 | AWS CloudFormation |
相关资源
参考
AWS Marketplace
AWS 快速入门