NBCUniversal
在大型多速 IT 企业中扩展 DevOps

NBCUniversal 利用 IBM® UrbanCode Build 和 IBM® UrbanCode Deploy 软件以及 IBM® Cloud for Skytap Solutions 作为 DevOps 引擎,将持续集成、交付、测试、反馈和监控整合到一个自动化工作流程中,连接整个组织中的流程、文化和技术。

业务挑战

NBCUniversal 寻求在其由 17 个业务部门组成的复杂企业中采用 DevOps 方法进行应用程序开发,以提高代码质量、简化开发流程并降低成本。

变革

NBCUniversal 利用 IBM UrbanCode 软件和 IBM Cloud for Skytap Solutions 来推动 DevOps,将持续集成、交付、测试、反馈和监控整合到一个自动化工作流程中。

结果 缩短 75%
发布新应用程序所需的时间
缩短回归测试时间
从几周减少到几小时
加速
响应新要求
业务挑战案例
整合孤岛

直到最近,人们还普遍认为,只有新一代的云原生组织,即那些被认为是市场颠覆者并为快速创新而生的组织,才踏上了 DevOps 之旅。事实并非如此。除了 Etsy、Uber 或 Netflix,还有许多老牌企业,如 NBCUniversal,正在寻求通过 DevOps 不断缩短新应用程序的上市时间,提高应用程序代码质量,并降低开发、测试和部署成本。

这些公司代表了各行各业。无论组织和 IT 的复杂性如何,他们都在采用 DevOps 方法,因为敏捷性(加速创新和更快地响应不断变化的业务需求的能力)至关重要。

可以断言,大型企业的 DevOps 路径很可能与云端企业的路径截然不同。而其中最重要的问题在于:如何最好地引领广泛的文化变革并转变长期存在的流程和范式。


NBCUniversal 主要通过收购实现增长,目前包括 17 个独立公司和业务部门,包括其国际子公司。与大多数大型组织一样,其应用程序环境是多样化和多速的,混合了本地、私有云和公有云环境,核心业务应用程序与新的 Web 和移动应用程序集成。该公司的 DevOps 团队需要弥合记录系统(通常是大型机)开发人员和参与系统(基于云的、面向客户的应用程序)开发人员之间在速度、流程、工具、技能和文化方面的巨大差异,以实现这些系统之间的整合。

John Comas 是 NBCUniversal 的平台 DevOps 经理,负责支持 NBCUniversal DevOps 软件开发生命周期 (SDLC) 的流程和工具。他表示:“我们需要为应用程序客户提供单一的标准化 SDLC,原因如下:首先,通过消除多个实例来降低应用程序许可成本。其次,我们希望提供一个标准的、本地部署的企业强化系统,并将尽可能多的用户迁移到该系统,这样我们就可以提供标准化的支持和培训。我们还希望提高所开发代码的质量,希望开发速度更快、效率更高、成本更低。我们的构建和部署失败率很高,而且由于我们的应用程序团队很少或根本没有进行测试,所以有些版本可能根本不应该投入生产,这些导致了太多次停机。”

开展 DevOps 之旅推动了在开发、QA、运行和 SDLC 这四个过去整合不太好的团队之间建立起一个工作流。这一旅程不仅包含技术,也包含思维方式,通过将复杂流程分解为最小的工作单元并尽可能并行运行来加速创新。

我们需要为应用程序客户提供单一的标准化 SDLC……我们还希望提高所开发代码的质量,希望开发速度更快、效率更高、成本更低。 John Comas 平台 DevOps 经理 NBCUniversal
变革案例
更快实现创新

Comas 和 NBCUniversal 的服务战略与协作高级总监 Charles Williams 在内部将 DevOps 定位为一个用于更快实现创新的共享平台/框架。IBM UrbanCode 平台 – UrbanCode Build(应用程序构建自动化软件)和 UrbanCode Deploy(应用程序发布自动化软件) – 充当 DevOps 的引擎,使 NBCUniversal 能够将持续整合、持续交付、持续测试、持续反馈和持续监控整合到一个自动化工作流程中,连接整个组织内的流程、文化和技术。

UrbanCode 平台支持多样化的 IT 环境并提供全面的审计功能,这对于像 NBCUniversal 这样的复杂企业来说至关重要。“通过 UrbanCode 产品,我们能够为组织提供构建即服务。只需单击一下按钮,就可以重现 UrbanCode 中的任何构建。”Comas 说道,“我们有一个统一的仪表板,我可以在仪表板上看到所有活动。我们有清晰的记录,记录了构建了什么、与该构建相关的二进制文件、对其进行了什么操作、如何测试、部署到什么环境等所有这些信息。如果你想知道某一天的生产部署情况,给我一个日期,我可以清楚地告诉你一切。”

NBCUniversal 使用由 IBM 合作伙伴 Skytap 开发的 IBM Cloud for Skytap Solutions (ICSS),与 IBM UrbanCode Deploy 软件结合,在整个软件开发生命周期中自动完成测试环境配置和管理,并将回归测试作为 QA 自动化的一部分进行并行处理。

在一个案例中,NBCUniversal 的电视集团使用 ICSS 将用于电视节目调度的大型应用程序 Compass 的回归测试时间从 6-8 周缩短至 3 小时。与 Compass 相关联的是一个庞大的包含 1,000 个测试用例的回归测试套件。在使用 ICSS 之前,该组织的 QA 团队将在本地运行这些测试,每次测试都串联运行。现在,他们已经建立了一个由 50 台测试机器组成的环境,所有机器都指向本地部署的 Compass QA 环境,每台机器并行运行 20 个测试。

通过 DevOps,NBCUniversal 将之前的整体流程分解为多个组成部分,Comas 的 DevOps 团队发挥带头作用,提供支持 DevOps 工具的基础设施,管理工具本身以及使用这些工具的最佳实践。该团队还为开发团队创建了自动化功能。

倡导 DevOps 一开始并不容易;并不是每个人都能接受,所以 Comas 和 Williams 需要克服一些文化障碍。“John 和我谈论 DevOps 已经有一段时间了,但是大家都置若罔闻。当我们开始讨论功能,然后向应用程序所有者展示功能,之后进入到 QA 环境中时大家才对它有了兴趣。”Williams 说,“有一次,我和 John 甚至决定不再使用‘DevOps’这个词,因为它对大多数人来说没什么意义。提高应用程序开发的交付速度;能够反复、持续地运行测试并快速获得结果,这才是最重要的。当我们经常说起这些术语时,我们的文化也开始改变了。有几次在演示敏捷开发能力时,我们开始听到这样的感叹:‘哦,原来这就是 DevOps。这就是我一直想要的。’”

从这个意义上说,UrbanCode 软件等工具和技术推动了文化和流程的变革。“我认为这些工具有助于巩固文化的转变;更敏捷的开发、更多的左移测试。”Williams 说,“这些工具支撑着我们设想的 DevOps 流程,这是一个端到端的工作流程。”
 

有几次在演示敏捷开发能力时,我们开始听到这样的感叹:‘哦,原来这就是 DevOps。这就是我一直想要的。’ Charles Williams 服务战略与协作高级总监 NBCUniversal
案例成果
实现自动化,提高速度和质量

位于纽约的 NBCUniversal 电视集团便是该组织的 DevOps 之旅如何逐渐成形的一个例证。该特定业务部门是 NBCUniversal 的电视发行部门,而部门负责为 NBCUniversal 下属的所有电视台安排播出内容。如前所述,Compass 应用程序是该任务的核心。

Comas 和他的团队用了 18 个月左右将 Compass(一个基于 .net 的大型应用程序)的开发工作迁移到 UrbanCode 平台。“我会将之前的 Compass 流程描述为一个‘人工’流程;大家会将代码提交到存储库,手动单击“生成”按钮,然后再将其部署到环境中。一旦将其部署到环境后,后续便会基本交由 QA 团队来处理“,他说道。“于是,大约一周后他们就会得到一些结果,接着再进行其他构建并将其发回给 QA 处理,如此反复。因此,应用程序的上市时间非常长,20 周才能发布一个版本。之所以需要如此长的时间,其中一个原因在于 QA 团队会对可能满足也可能不满足业务需求的每个版本进行全面测试”。

Compass 应用程序团队的目标是将该时间缩短 75%,从而减少至 5 周。“在我们将他们转移到 UrbanCode 平台后,他们就能实现此目标。事实上,我们现在还希望将上市时间缩短到两周”,Comas 表示。首先,他的团队会将 QA 自动化与 Compass 工作流相集成,从而免于为每次部署手动执行大量 QA 测试。“我们会先开展左移测试。我们会对应用程序版本进行单元测试并对其进行代码覆盖率分析,同时还会启动一个小型功能测试来观察不同业务需求的履行情况,并创建测试来落实这些需求。于是,在此版本转到 QA 团队进行完整的功能与回归测试之前,我们就能立即获得此版本的质量反馈。这样本身就能大大加快各种事务的进展。

此外,NBCUniversal 的 DevOps 方法还打破了部署中出现的孤岛。“回望过去,发布往往只能在一周中的某些天来进行,通常是周二和周四晚上。而如果错过了这个窗口,则在下一窗口到来之前就无法进行发布”,Comas 说道。“因此,通过与 Compass Run 团队开展合作,我们如今已能更频繁地部署到生产环境,从而实现规模更小、频率更高的发布。这样,他们就能实现更高的敏捷性,并可更快地满足业务需求。简而言之,随着代码质量的提高和推进速度的加快,我们就能更快地满足业务需求。”

Comas 表示:从技术角度来看,UrbanCode 平台可让他的团队将各种工具集成到一个自动化工作流程中,从而消除对开发人员的过度依赖。“有了 UrbanCode,如果开发人员提交的代码没有经过充分的单元测试,就会被标记出来。而开发人员若是没有将其纳入工作流程,您就无法知晓此问题。申请过程中,没有任何反馈会告知申请的状态。我们的 Compass 工作流程可能是我们已有的最为全面的一个自动化工具,而该技术正在帮助我们提高应用程序质量,并将构建质量提高一个数量级。不仅如此,我们还能更快实现企业所需的变革。这是我们的终极目标,也是我们踏上 DevOps 之旅的原因所在。”

对于 Williams 和 Comas,DevOps 旨在树立信任和信心,并在软件交付生命周期中实现可预测性、高速度和高质量。“目前,我们正致力于提供一个强大的基础架构,来保证为我们的应用程序团队提供一定的质量和服务水平”,Comas 说道。事实上,DevOps 团队已经赢得了足够的信任,因而各大业务部门已在请求它们协助完成更大的项目。“由于我们已经证明了这些功能具备出色的灵活性和可扩展性,同时它们还帮助我们在非常紧迫的时间内完成了交付,于是我们发现项目数量从 10 个应用程序增加到了 60 多个,足足增长了 6 倍。我们将提供一条实现应用程序生产的路径,而它会给我们带来一种我们从未有过的自信心。
 

......代码质量提高了,运行速度加快了,我们能够更快地满足业务需求。 John Comas 平台 DevOps 经理 NBCUniversal
NBCUniversal

NBCUniversal 是一家总部位于纽约市的跨国多媒体集团。该公司营收约为 300 亿美元,主要涉及媒体和娱乐行业;其最重要的部门包括 NBC 电视网和大型电影制片厂 Universal Studios。凭借其环球主题公园和度假村部门,该公司也是世界第三大游乐园运营商。

采取后续步骤

要了解有关 IBM UrbanCode 软件或 IBM Cloud for Skytap 解决方案的更多信息,请联系 IBM 销售代表或 IBM 合作伙伴,或访问以下网站:


查看更多客户案例了解有关 IBM® Cloud 的更多信息

查看 PDF 观看视频:NBCUniversal 在大型多速企业中扩展 DevOps
脚注

© Copyright IBM Corporation 2016。IBM Cloud,Route 100, Somers, NY 10589,美国出品,2016 年 11 月。IBM、IBM 徽标、ibm.com 和 UrbanCode 是 International Business Machines Corp. 在世界各地司法管辖区注册的商标。其他产品和服务名称可能是 IBM 或其他公司的商标。ibm.com/legal/copytrade.shtml 上的“Copyright and trademark information”部分提供了 IBM 商标的最新列表。本文档为自最初公布日期起的最新版本,IBM 可能随时对其进行更改。IBM 并不一定在开展业务的所有国家或地区提供所有产品或服务。用户自行负责评估和验证任何其他产品或程序与 IBM 产品和程序搭配运行的情况。本文档内的信息“按现状”提供,不附有任何种类的(无论是明示的还是默示的)保证,包括不附有关于适销性、适用于某种特定用途的任何保证以及非侵权的任何保证或条件。IBM 产品根据其提供时所依据的协议条款和条件获得保证。关于 IBM 未来方向、意向的声明仅仅表示了目标和意愿而已,可能会随时更改或撤销,恕不另行通知。