张元
大型机是一项基础技术,几十年来一直为行业提供动力,包括政府、金融、医疗和交通。有很多社区都在围绕该平台解决技术难题,正因如此,在很多社区的帮助下,为大型机新技术的出现铺平了道路,如今大型机技术正在深入拥抱开源。
开放式大型机社区的起源
大型机有一个开放用户社区的传统,可以追溯到1950年代的SHARE。一群大型机技术人员聚集在洛杉矶,分享技巧、见解以及新发布的IBM701计算机系统的代码。SHARE很可能是第一个开源软件社区。
多年来,该社区用户定期开会,共享和协作使用IBM701和后续系统。汇集在一起的代码在大型机运营商和开发人员之间自由共享。随着时间的流逝,人们很快意识到有必要将这些代码整理出来,放在一个存储库中提供给更多其他行业的技术人员使用。
Arnie Casinghino是最早意识到合作必要性的人之一。1975年,他开始为CBT Tape项目编写脚本和工具。当时感兴趣的用户会用几美元给Arnie寄一封信来索取磁带,这种分发方式一直延续到今天,让大多数用户从他们的网站下载最新版本。
Casinghino的愿景最终形成了一个项目,该项目今天仍在继续,现在在Sam Golab的领导下托管在开放大型机项目中。
Linux进入大型机
Linux在1990年代开始风靡全球,一小群大型机爱好者开始在IBM System 390上试验Linux。在过去的20年中,日立和富士通等公司也投资在其大型机平台上启用开源和Linux。大型机上的Linux于1999年12月18日正式启动,IBM发布了Linux2.2.13内核的补丁和补充集。
2000年为大型机上的Linux带来了动力。这些系统的第一个真正的“Linux发行版”是在2000年初由Marist College和Millenux合作推出。到2000年10月,SUSE成为第一个供应商支持的Linux发行版,这是现在称为SUSE Enterprise Linux的第一个版本。SUSE的第一个s390x发行版代表了大型机引领计算技术发展的早期例子。
今天,9个已知的Linux发行版目前提供s390x架构。
大型机作为Linux平台的扩展,继续在开放大型机项目中得到培育,下面的关键项目帮助大型机上的Linux继续成为全球财富100强公司使用的平台。
Feilong,提供z/VM与OpenStack等现代云堆栈系统之间的接口,由IBM、SUSE等公司联合开发。
Tessia,是一个工具,可以自动化和简化在Z平台上运行的Linux系统的安装、配置和测试。
COBOL的发展
COBOL是一种经过编译的类似英语的计算机编程语言,被开发用作商业应用程序语言。它的根源可以追溯到1950年代,并且COBOL经常用于许多行业的关键应用程序。
由于空前数量的失业申请和其他类似需求,2020年4月的新型冠状病毒疫情行给各政府服务带来了巨大压力。这使COBOL成为人们关注的焦点,因为它当时是用于这些系统的主要技术。这也凸显了缺乏支持这些系统的人才,这些系统的代码可以追溯到1960年代。
庞大的COBOL和大型機社区迅速满足了这一需求,并做出了一些努力来为COBOL提供一个可持续的生态。
召集所有COBOL程序员论坛:一个开放的大型机项目论坛,希望自愿参与的开发人员和程序员可以在此发布他们的个人资料以供雇用。无论他们是正在积极寻找工作、希望继续参与的退休技术人员、已完成COBOL课程的学生,还是希望成为志愿者的专业人士,该论坛都为求职者提供了机会,让他们指定自己的专业水平和可提供的帮助。然后,雇主可以根据需要与这些人联系。
COBOL技术论坛:一个专门为解决COBOL技术问题而创建的新论坛,经验丰富的COBOL程序员可以在其中操作。该论坛允许所有程序员快速学习新技术并从广泛的社区专业知识中汲取经验,以解决在这个非常时期的常见问题和挑战。
开源COBOL培训:开放大型机项目技术咨询委员会已批准托管一个新的开源项目,该项目将领导协作创建COBOL培训材料。该课件由IBM基于其与客户和高等教育机构的合作贡献,并在开源许可下提供。
通过上述这些举措,以应对构建可持续COBOL生态系统的长期挑战。
2021年初,随着COBOL Check项目的启动,注意力转向了COBOL开发人员的工具生态系统。该计划通过提供单元测试框架实现COBOL的测试驱动开发实践。
推动大型机未来发展范式
传统上,企业面临着将大型机应用程序和数据与自身系统集成的挑战。这项集成任务进一步带来了人才培养挑战,因为大型机和其他企业计算系统之间的范式差异使技能不易转移。
Broadcom、IBM和Rocket Software看到了这一挑战,并独立开发了各种框架来缩小与大型机开发经验的差距。包括:
API中介层,用于标准化大型机应用程序和服务的API体验;
可以在开发人员的电脑或其他非大型机系统上运行并用于DevOps工具集成的CLI工具;
一个Web桌面界面,可以更轻松地开发基于Web的应用程序,这些应用程序使用通用开发工具包来利用大型机服务和数据。
這些组件于2018年8月在Zowe中汇集在一起,这是第一个针对z/OS操作系统启动的开源项目。将该项目纳入供应商中立的开放式大型机项目的目的是将Zowe确立为大型机系统的主要开发和集成工具,从而使Zowe周围的大型机社区保持一致。
Zowe1.0于2019年2月发布后,该项目迅速转向通过在2019年8月建立Zowe Conformance Program来使供应商产品的下游生态系统蓬勃发展。迄今为止,已有来自6个不同供应商的50多个Zowe Conformant产品应用在大型机行业。
此外,Zowe已将新项目纳入其范围,截至2021年8月,孵化器项目如下:
ZEBRA,它提供符合行业标准的JSON格式的RMF/SMF数据记录,以便许多其他ISV软件和用户可以通过多种方式使用开源软件;
Workflow WiZard,帮助开发人员和系统程序员简化z/OSMF工作流的生成和管理。
如今,Zowe拥有300多名贡献者,截至2021年8月,贡献超过34 000。
支持未来大型机的指导
开放大型机项目的最初举措之一是建立一条将学生纳入大型机社区的途径,与当前对开源开发的兴趣保持一致。此外,随着平台上开源的增长,这些项目的维护人员需要具备大型机技能。
开放大型机项目于2016年启动了第一个导师计划,有7名学生为大型机上的开源生态系统做出了贡献。迄今为止,已有50多名学员参与了该计划,为以下项目做出了重要贡献:Alpine Linux,HyperLedger,Kubernetes,CloudFoundry,Open Stack。
2021年夏天,开放大型机项目迎来了创纪录的14名学员,他们在多个项目中拥有导师,其中包括一些新项目,例如ATOM、COBOL编程课程、COBOL工作组、大型机开放教育、Polycephaly、软件发现工具和Zowe等。
导师计划让这些学生成为未来大型机人才的一部分,导师毕业生现在在ADP、IBM、SUSE和其他公司担任开发人员角色。
大型机的未来是光明的
随着开放大型机项目的启动和行业在COBOL,Linux on System Z,z/OS生态系统中的关键开源项目中联合起来,大型机在过去5年中出现了复苏。截至2021年8月,开放大型机项目拥有20多个项目和工作组,得到超过45个组织的支持,而且短期内没有放缓的迹象。