升级的 Electric Cloud 平台增添了大型机和微服务功能

  • Helen Beal
  • 盖磊

2018 年 2 月 1 日

话题:DevOps持续交付

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

新的ElectricFlow DevOps Automation平台提供了对大型机的支持,包括部署前后的原生自动化功能,以及流水线的管治与安全。该平台还提供了一种新的原生微服务模型,支持将微服务作为一等对象处理,进而可对应用和环境独立建模、在应用内或独立地控制容器部署,以及将基础组件共享到容器运行时环境。

平台新提供的大型机功能包括:

  • 支持 z/OS 上系统层的自动化,包括 JCL 代码和 REXX。
  • 支持大型机上 WebSphere 和 DB2 的原生部署。
  • Compuware ISPW的集成,将 DevOps 实践扩展到大型机生命周期中。
  • Compuware Topaz套件的集成,将静态代码分析、单元测试和功能测试添加到大型机流水线中。
  • 通过 API 或 DSL,将上述功能扩展到其它大型机 SCCM 工具中。
  • 当前ElectricFlow的大型机插件包括了 Compuware 的 ISPW 和 Topaz、IBM 的 WebSphere 和 DB2 及 z/OS,用于系统管理和 CICS 配置管理。

InfoQ 采访了 Electric Cloud 的 CTO Anders Wallgren。Wallgren 介绍了现在对大型机部署可用的流水线管治和安全功能:

ElectricFlow 的身份认证功能,是基于使用了访问控制列表(ACL)架构的企业目录(即 LDAP/AD)。ACL 架构支持作为 RBAC(基于角色的访问控制)超集的继承和拒绝访问,直接实现了 RBAC。平台中的所有对象(包括应用、版本、环境、用户、群组等)受 ACL 的管治。继承机制使得委派可以访问某些特定的对象,而不必首先委派为系统管理用户。平台将这些能力扩展到大型机上,这意味着大型机不再是一个独立的自动化系统,而是作为一个完整的组件。ElectricFlow 现在可用作一种强制策略引擎,确保只有经批准的兼容性活动、行动、部署才能提交给大型机。如果有人直接 Telnet 到大型机并修改了流水线中的过程或组件,那么 ElectricFlow 可以通过比较下一阶段实际提交的内容和意图提交的内容,检测到这些更改并拒绝它们,或是重新运行进程。如果实际提交内容与意图提交内容间存在差距,那么 ElectircFlow 会将差异做可视化展示,并通过日志记录更改的内容和流水线所处的阶段,这将为事件的分析提供蛛丝马迹。

Wallgren 对此做了进一步的解释。在整个流水线中,将定义的退出和进入标准称“gate”。gate 通过流水线的阶段控制软件进展。gate 可以是手动的,也可以是自动的。手动 gate 需要人为介入 gate 的批准或拒绝,以确定软件进展是否可以通过,并向负责决策的群组或个人给出告警。UI 用于展示流水线是否已“启动”并等待人工批准。自动 gate 可在允许的情况下加速该过程。例如,在单元测试阶段,一个自动 gate 可以根据代码覆盖情况或测试成功率是否达到设定的阈值,立即阻止或允许软件进展。Wallgren 补充说:

无论是静态的还是动态的安全测试工具,都可以集成到流水线中。这确保了第三方软件库得以批准,并且对于安全公报而言不是过期的。部署环境受限于由日历系统控制的 Blackout(禁止部署到环境的时间段)和 Reservation(允许控制环境的时间段)设置。此外,部署还必须达到版本依赖上的需求。例如,如果应用 A 依赖于服务 B 的一个新版本,那么我们可以阻止部署应用 A,直到指定的服务 B 版本可用。

InfoQ 请 Wallgren 解释了为什么同时发布大型机和微服务支持:

微服务引入了一些复杂性和挑战,因此我们设计了仪表盘和管理功能,提供对微服务的可视性和控制。数字化转型驱动了各种规模企业做出改进,尤其是那些在大型机上运行记录系统(Systems of Record)的大型企业。通常,将这些记录系统迁移到分布式系统或云系统上并非易事。企业不可能简单地弃用以往的记录系统。一种做法是找出一种能生成企业战略整体组件的方式,另一种做法是找到一种能从原有系统中安全迁移的方式。ElectricCloud 将大型机和数字化转型视为同一生态系统。将大型机集成和微服务能力进行组合,为企业提供了将大型机作为一个数字化战略中整体组件的能力,并通过微服务提供了一条以业务速度从大型机中安全迁移的途径。微服务的部署软件包可以由多个条目组成,其中一到多个组件可能是 z/OS 相关的。

ElectricFlow 先前已经解决了一些容器管理中的挑战,适用于大多数容器。其中包括特定于容器的脚本、运行时的自动化和版本依赖等。新版本的 ElectricFlow 提供了对原生微服务支持,以及一系列用于部署原生 Docker 环境、Docker Swarm 和 Docker 的新插件。现在,ElectricFlow 在DevOps Insights工具中添加了新的仪表盘,提供一段时期内环境中和各个集群上的微服务部署信息。微服务仪表盘可以划分为成功的、失败的、最常部署的以及最频繁使用的集群做展示。DevOps Insights 给出了由 ElectricFlow 部署的微服务和直接部署的微服务间对比情况的细节。

SOMOS是 Electric Cloud 的客户。30 多年来,SOMOS 一直使用大型机管理并维护超过 4100 万个美国和加拿大两国的免费电话号码(Toll-Free Numbers)。近期,他们决定从这一具有 30 年历史的大型机应用中迁出。Gary McKay,SOMOS 的 ScrumMaster,介绍说:

如何为 SOMOS 构建一种现代化的 DevOps 文件和环境,并同时迁移到微服务架构,这是我们面对的多个挑战之一。我们选择了 ElectricCloud 的 ElectricFlow。它同时支持容器化和大型机工作负载,并且可以协调这些工作负载在我们所有部署和生产环境中的交付。

查看英文原文: Electric Cloud Enhances Platform With Additional Mainframe and Microservices Capabilities

DevOps持续交付