写点什么

Connon MacRae 访谈:Ticketmaster 的运维模型及 DevOps 采纳

  • 2017-11-22
  • 本文字数:3611 字

    阅读完需:约 12 分钟

本文要点

  • 并不存在通用的 DevOps 模式,会有多种操作模型共存,其中包括嵌入运维团队成员、以运维人员为中心化对开发团队提供顾问、以运维平台组向开发团队提供内部服务。
  • 文化转型是采纳 DevOps 中的主要挑战,应转向一种允许团队失败并重视学习的文化。
  • 经切实严格测试的代码审查流程,可对(合规性)问题做出更快的响应,并且更安全。
  • 对于自己构建并运行服务的自治团队,事件管理(Incident Management)愈发复杂。提供好的可视升级工具是至关重要的。
  • 虽然容器和 Kubernetes 提供了特具价值的抽象与功能,但需要大量的投资和关注。

在近期的 WinOps 2017 伦敦大会上,Ticketmaster 公司的技术运维负责人 Connon MacRae 做了一个具有深度的主题演讲,题目是“Ticketmaster 的DevOps 演进之路”( Evolution of Ticketmaster’s journey to DevOps )。

InfoQ 联系了 MacRae,以了解 Ticketmaster 在采用 DevOps 中面临的挑战和取得的成功,及对于 Ticketmaster 这样一个全球化、多时区并全天候提供服务的企业,企业的十四种不同的核心票务产品的合规性和运营情况。对话中还探讨了 Ticketmaster 的技术成熟度模型工具,以及如何使用该模型避免相互责备并促成积极变化。

InfoQ:您能简单介绍一下自己吗?您的工作情况,以及是什么将您引入到 DevOps 中?

Connon MacRae:我在 Ticketmaster 负责国际技术运维团队,其中包括公司的产品和应用支持、系统和网络以及数据中心。我们的主要关注点是力图使产品和工程团队更为自治,并拥有自己的产品。归结起来,我的兴趣和技术与产品团队中的同事一样,即必须在自身的生态系统中做出更频繁但更可持续的改进,为用户和粉丝构建最好的购票体验。这是我们的业务所必需做到的。我的职责是促成这一点的实现。

InfoQ:Ticketmaster 是如何开始采纳 DevOps 的?你们采取的第一步是什么?为什么?

MacRae: Ticketmaster 已采纳 DevOps 多年,这使得我们能以必要的步伐交付新功能和改进。当前,我们正努力创建一种“产品,项目和技术”模型,实现三者间更紧密的合作。

InfoQ:Ticketmaster 现在处于 DevOps 转型的哪一个阶段?

MacRae: 这取决于不同的团队。一些团队的进展很快。如果团队是工作于 AWS 上的,那么这些团队早已具有一系列的工具,对 DevOps 更友好。一些工程团队已是非常自治的,但可能依然缺失对运维的理解。问题取决于团队所使用的技术栈。考虑到在正常运行时间和重要性上的要求,有一些组依然具有运维层,但是我们已尽力将这些团队置于同一领导层下,让它们齐头并进,减少相互冲突,向同一目标看齐。各个团队的 DevOps 转型进展不一。

InfoQ:转型中依然面临着哪些主要挑战?

MacRae: 一个主要挑战是文化上的。在将人们聚在一起并理解驱动冲突的致因的过程中,同理心可能是最重要的。通常团队“缺乏对自身无知之处的认识”,因此我们依然能看到团队的模式会因“阻碍者”而迟迟推出。这是一件困难的事情,因为在“技术”中充斥了大量聪明的人,这些人并非总是能了解自身的盲点所在。技术运维必须依靠自身,虽然我们希望人们开展合作。推行小组学习的过程可能会令人沮丧,但最终重要的是使得团队可以自由地犯一些小错误。在运维背景下,我很难看到允许犯错误的情况。但如果想要建立一种信任和学习的文化,这是很重要的。

InfoQ: 在您的演讲中提到,十五年前 SOX 和 PCI 等规则的引入,导致了一种“谷仓式”(Silo)工程结构。那么您是如何在保持兼容的同时,演进到一种更为协作的模式的?

MacRae: 我们仍然在推进中,所以这是一个正在进行中的工作。如果一个可靠的并经过严格测试的流水线中具有代码审核(其中包括对基础架构代码的审核),那么我们就已勾选上了很多选项,并且可以更快地迭代。这意味着我们可以通过更快速地解决问题而提高安全性。与操作和开发团队共享 DEV/QA 的所有权,意味着任何对安全或性能的担心都会很快发生,并且在环境发生变化的情况下,我们将工程团队所面临的挑战也暴露给了运维团队。现在,工具链可用意味着共享变得更加容易。对于合规性而言,这是一个重大的改进,尤其是在自动化意味着生产访问很少甚至是没有的情况下。如果日志记录和仪表显示(Instrumentation)就可以为我们提供所需的全部洞察力,那么为什么还需要工具链?在容器环境下,除非是要查看处理状态和数据,否则不再需要 RDP 或 SSH 到系统,这时情况会更复杂一些。

InfoQ: Ticketmaster 提供全球范围的服务。您是如何构建随时轮换机制,以应对全球 24 小时可用的?

MacRae: 事实上,这非常复杂,但是在旧模型中就要简单得多。我们曾有多个全球范围内运作的团队,但是现在正在转向自治团队,这些自治团队会建立、运行和拥有自己产品。这意味着,我们需要使用一种中心化的工具去管理我们的服务目录。这就是如何运行和触发事件管理流程的关键所在。此外,好的工具也是关键因素,它可以处理升级,并提高可见性。其它一些有用的工具包括 Splunk、Grafana、OpenTSDB,以及广为采用的 ELK 栈。我们也开始使用类似于 Prometheus 的工具,还有一些商业工具。

InfoQ: Ticketmaster 通过收购其它国家已有的票务解决方案而实现全球扩张。您如何确保在保持工程部门的一致性和知识共享的同时,使收购的解决方案能够在当地市场发展?

MacRae: 不同的产品支持不同功能。虽然有时会存在着一些重叠,但是没关系。偶尔我们会快速地弃用一种技术,并且查看已有的团队是否支持我们的核心技术栈。我们的中心代码库是共享的,我们正在步入一种独立的、相互解耦的服务形态,这种服务并非是由市场驱动的,而是由能力驱动的。这意味着我们可以更快地迭代并开发我们的产品。有一点非常重要,那就是我们尝试并促进开放式协作。我们具有一个全球性的 git 实例,它提供了团队合作的场所,并提供了与其它团队项目的交流。

InfoQ: 您也提到,你们正在转向平台模式。您能解释一下,Ticketmaster 是如何定义平台的?哪些技术和流程上的改进正在实现中?

MacRae: 由于我们具有多种不同的技术栈,因此我们正为标准化设定一个很低的门槛。我们已经使用了 Terraform 和 GitLab。是否使用 Chef 或 Docker,进而是否使用一些内部库,这取决于正在运行的技术栈。我们在确定团队的关键浪费点或痛点的过程中,主要关注的是共享服务,但这还是一个相当新的事物。如何确定工程团队的适合摩擦程度,可能是一件非常棘手的事情,尽管我们在不断探讨什么是适合的。我们非常热衷于容器技术和 kubernetes,因为这些技术提升了抽象和能力,但它们也需要大量的投资和一些关注。

InfoQ:您还提到了企业所具有的异构环境和解决方案。从团队的结构和技能上看,您是如何应对运营方面的问题的?

MacRae: 通常情况下,结构拆分要基于提供功能的产品。我们将合适人员与适合这些产品的正确技能相结合。随着时间的推移,我们已经看到操作系统逐步瘦身,运行应用程序所需的时间变得更少。我们的确有一些技术栈使用了完整的技术组合,诚实地讲,虽然这种做法下运行也是很健康的,但可能会是一个挑战。但是我们已不再将 Cygwin 置于 Windows 平台上。这是一件好事。

InfoQ:Ticketmaster 是否提出了“构建者就是运维者”这样一个内部口号?如果是这样的话,传统运维在该 Ticketmaster 新方法中起到了什么样的作用?

MacRae: 当然,不同的团队处于不同的所有者状态。这的确取决于各个团队的成熟度和技术时代。我们当前有三种模式:

  1. 将运维团队成员嵌入到各个组中。
  2. 运维为设计、新项目和上线到生产过程提供咨询。
  3. 将具有运维思维的团队成员加入到平台组中,提供内部服务。

InfoQ: Microsoft 正转向采用 Linux 和开源技术,这是否有助于简化基础架构和平台管理?你们使用了什么方式?

MacRae: 我们考虑了自动化、测试和可重复性。这种技术转变可归结为,通过使用 git,chef,packer,terraform 等工具,去启用以“基础架构即代码”(infrastructure as code)作为模板、工具或咨询。这也扼杀了与操作系统间的幼稚对话。这有时会很有趣,但最终并不是很有建设性。现在我们可以真正地找到正确的工具。

InfoQ:您能否简要介绍一下 Ticketmaster 的技术成熟度模型?该模型能带来哪些好处?

MacRae: 团队根据测试、仪表显示、容灾等功能对自身开展评估。架构团队成员与工程团队在共同审查这些数据后,将这些数据输入。然后,团队可以优先处理产品团队提出的任何问题。这种做法的目标是形成一种积极的工具,而非坚持要去惩罚某一个团队。在企业内部公开结果是非常重要的,这将提升诚实度。让同事们对你的诚实度而不是结果做出评判。实际上,该模型只是让我们能够获取数据,而这些数据有助于我们做出更好的决策。

受访者简介

Connon MacRae 是一名长期供职于 Ticketmaster 的资深员工。他曾以临时工的身份在英国伦敦电话中心售票。很幸运,通过得到帮助和自身的努力,目前他在 Ticketmaster 领导国际团队的技术运营小组。

查看英文原文: Q&A with Connon MacRae on DevOps Adoption and Operational Models at Ticketmaster

2017-11-22 17:181204
用户头像

发布了 391 篇内容, 共 133.9 次阅读, 收获喜欢 256 次。

关注

评论

发布
暂无评论
发现更多内容

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

MySQL redis Spring Boot mybatis 多线程

简洁高效:Java代码中If-Else结构的优化实践与技巧

xfgg

Java 代码优化

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenHarmony开发者

OpenHarmony

C语言编程—函数指针与回调函数

芯动大师

揭秘!为何阿里P8亲身经历撰写的架构师核心笔记竟如此成功

Java你猿哥

Java 领域驱动设计 软件架构 架构师 分布式架构

从2000ms缩短到50ms,亿级ES数据搜索性能调优实践

Java你猿哥

Java elasticsearch ELK ssm ES

Mac版PS2023 24.5 大更新,新增4大AI功能,看完忍不住换了!

Rose

PS2023最新版 PS支持AI功能 Photoshop破解

终极指南!Terraform的进阶技巧

SEAL安全

IaC Terraform 5月 企业号 5 月 PK 榜

StampedLock:高并发场景下一种比读写锁更快的锁

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

性能测试的一二三

FunTester

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

BlockChain先知

volatile 底层是如何实现的?

javacn.site

RocketMQ 顺序消费机制

Java你猿哥

Java RocketMQ 获取 topic等信息 ssm

MySQL踩坑笔记,加了唯一索引还会出现重复数据?

Java你猿哥

Java MySQL sql ssm 索引

破防了!阿里大佬DDD(领域驱动设计)不破不立,GitHub直接霸榜

Java你猿哥

Java 领域驱动设计 DDD ssm 领域驱动

DMG镜像制作软件:DMG Canvas 激活版

真大的脸盆

Mac Mac 软件 镜像文件制作工具 镜像文件管理

Amazon CodeWhisperer代码提示体验测评

查拉图斯特拉说

CodeWhisperer 代码提示

实用自定义 Mac Dock 的隐藏终端命令

Rose

Mac Dock 自定义Dock

基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器

Java你猿哥

Java 小程序 源码 Spring Boot Vue

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

股市老人

实用且简洁的Python语法

小张想搞机

Python 学习 经验分享 技巧分享 python小技巧

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

西柚子

Hazel for Mac(自动化清理软件)v5.2.2激活版

Rose

Mac清理软件 Hazel 下载 Hazel Mac版 自动化文件管理工具

跨平台开发的优势:ReactNative与小程序容器

没有用户名丶

科兴未来|深圳创新创业大赛开始啦!

科兴未来News

企业 深圳 #双创赛事# 新能源行业 深创赛

科威特首个AI女主播"费的哈"亮相!

小张想搞机

人工智能 AI

IDEA 终端命令行设置

Andy

Mac电脑怎么删除VMware Fusion虚拟机系统,vmware fusion如何删除虚拟机

Rose

VMware Fusion虚拟机 Mac虚拟机 删除虚拟机教程 Win系统

Parallels使用到期怎么办?PD17虚拟机无限试用版安装教程

Rose

Parallels Desktop 17下载 Parallels到期 PD17虚拟机 PD无限试用版

Python实现KNN算法

TiAmo

算法 决策 KNN算法

Connon MacRae访谈:Ticketmaster的运维模型及DevOps采纳_DevOps & 平台工程_Manuel Pais_InfoQ精选文章