DevOps for Legacy:持续和更快的交付


时至今日,遗留系统仍在交付关键业务方面发挥着重要作用--不仅作为独立平台,而且作为现代分布式应用程序的关键组件。很明显,遗留系统仍然是一个累赘。

遗留系统在支持面向客户,员工和合作伙伴的应用程序方面的相关性以及支持这些应用程序所固有的困难可能不那么明显。组织发现传统的软件开发和交付方法不足以满足客户的需求。

为了满足客户的需求,一种新的软件开发过程应运而生:DevOps。DevOps体现了开发和操作在应用程序生命周期中更无缝地协同工作,从而更快,更持续地交付的需求。本文将介绍大型机遗留系统的DevOps实现。

什么是DevOps?

当前的技术热词是DevOps。它是一个企业软件开发短语,用来表示开发和It操作之间的一种敏捷关系。DevOps的目标是通过倡导多个业务单元之间更好的沟通和协作来改变和改善这种关系。DevOps不是把这两个小组看作是相互传递但实际上并不协同工作的孤岛,而是认识到软件开发和IT操作的相互依赖性,并帮助组织更快地和频繁地迭代地生产软件和IT服务。DevOps是企业疾病“筒仓病”的治疗方法。

图1:DevOps环境。

DevOps运动是从敏捷发展而来的。IT组织从瀑布模型转向敏捷模型以加速软件交付。在敏捷中,整个软件开发需求被分解成更小的块,称为“用户故事”,加速反馈循环并使产品特性与市场需求保持一致。

DevOps填补了敏捷中的空白,并提供了一个环境,通过一组自动化工具促进开发和运营团队之间的沟通和协作。DevOps和敏捷是相辅相成的。两者的思想都是尽可能快地将工作功能部署到生产中。

DevOps原则

  • 跨学科协作。
  • 针对类似生产的系统开发和测试。
  • 使用可重复且可靠的流程频繁部署。
  • 持续监控和验证操作质量特性。
  • 放大反馈环路。

遗产中对DevOps的需求

大数据,更快的网络,云计算和分布式计算等新兴技术的兴起让我们相信,这些古老的遗留技术将会过时。有趣的是,遗留系统的工作负载正在增长,并且仍在为记录系统添加新的逻辑。时至今日,大多数关键任务业务运行在大型机上,每天处理数十亿个事务,以满足关键业务需求。这些系统不会有任何用处--它们不容易更换。

同时,IBM大型机系统发展了很多,并展示了与现代技术并驾齐驱的方法。这就是遗产现代化概念突然出现并开始参与技术革命的地方。多年来,遗留系统现代化以多种方式实现,比如通过使用SOA或REST将遗留系统公开为服务,在新系统中重新托管,或者将遗留系统重写为新技术。在一定程度上,通过实施不同的遗产现代化方法,遗产问题得到了解决。

然后。传统技术和现代技术在两种不同的工作环境中协同工作,客户对软件交付过程并不满意。遗留系统遵循旧的瀑布模型,这是一个非常繁重和长时间运行的软件交付过程。敏捷的引入是为了解决它的问题。组织在敏捷中发现了许多问题,比如交付大于质量,开发大于计划。为了解决这些问题,组织采用了DevOps,它将整个服务生命周期的开发和运营团队聚集在一起,从设计到开发过程再到生产支持。

“大型机应用程序交付不需要固有地缓慢和复杂。自动化大型机应用程序交付管道可以降低风险和复杂性。”-Forrester Resarch

DevOps运动背后的目标是实现连续交付。这意味着软件在连续的基础上被设计,编写,测试,并部署到最终用户,在管道中没有延迟。

如何在遗留问题上进行DevOps

在遗留系统上实现DevOps并不困难,因为大型机环境非常不同。此外,从大型机工作流跳转到以DevOps为中心的工作流是一个大的文化变革。尽管如此,使用将大型机与组织的基础结构的其余部分无缝连接的工具可以克服这些挑战。


IBM和其他组织已经为开发,源质量管理,测试自动化,监视自动化,基础设施自动化和部署自动化提出了各种自动化工具集。

总之,下面是几个很好的DevOps自动化工具:

  • Rational Developer for Z Systems。这是一个IBM产品,它为快速高效地创建和维护z/OS应用程序提供了一个轻松的交互环境。

  • 欧米加蒙。这是一款用于性能监视的IBM产品。

  • UrbanCode部署。这是IBM的自动化工具,用于通过您的环境自动化应用程序部署。

  • 同步排序IronStream。这是一个将机器数据(如SMF记录,Syslogs,RACF和DB2)从大型机移动到其他地方的平台的工具。

  • 同步排序DMX-H。该工具有助于简化大数据集成成就,实现更快的时间价值。