QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

运维团队能从橄榄球教练身上学到什么?

  • 2013-08-02
  • 本文字数:2382 字

    阅读完需:约 8 分钟

不久前看到一条微博,说的是一个团队去黄山集体旅游,但是为了防止网站出现突发问题,负责运维的同学还要背着沉重的笔记本电脑上山下山。

运维人员确实总是要面对巨大的压力,但是是否有一些方法可以缓解这些压力呢?Quora 的工程师 Edmond Lau 提出了一些解决方法。

Edmond Lau 是 Quora 的元老级工程师,他曾带领工程团队应对用户的高速增长,开发核心组件,并为新入职的工程师提供指导和入职说明,同时协调工程实习计划。此前,他曾服务于 Ooyala 的视频分析团队和 Google 的搜索质量团队。不久前,他在自己的博客上发布了一篇文章《成功剧本——关于工程,我们从橄榄球教练身上能学到什么》。

文章开头,他假设了一个场景:作为一名工程师,在凌晨 3 点收到网站的自动提醒,原来是主数据库出了问题。接下来,他说道:

传呼式职责轮换,就是说工程师轮流承担一线运维职责,应对当周所有与网站相关的警告,这是互联网产品增长阶段要应对的最具压力的经验之一。随时听从召唤,意味着你不论去哪里,都必须让笔记本电脑放在手边,而且随时都可能处理问题,有时处理的是小问题,但有些时候,面对十分严重的问题,而且需要尽快解决。

但他提出一个问题:

即使这种分担职责的方式十分重要,我们能做些什么改善这种情形吗?还有那些必须要在压力和不理想环境下处理完善的情形呢?

接下来,他认为可以从橄榄球教练身上吸取一些经验。

Edmond 引述了旧金山 49 人队前任教练 Bill Walsh 的一个策略“成功剧本”,应用这种策略,Walsh 会针对各种比赛中可能发生的情况,写下应急计划。

在他看来,Walsh 认识到一点:在面对比赛关键时刻时,可能有成千上万球队的粉丝朝你狂吼,对手的球迷也在朝你扔热狗和塑料啤酒杯,宝贵的时间在一分一秒地过去,这时的你很难保持清醒头脑,做出有效决策。Walsh 认为:在面对高度紧张、精神难以集中的比赛时刻,写下剧本有助于去掉制定决策过程。

当时没有其他队伍这么做,这种做法让我们占有了令人惊叹的战术先机。不管境况优劣,写剧本都是最有效的领导工具。这种精明的方式,让我在比赛还没有开始前就已经掌控了比赛。我发现这种方法后,其他球队用了好多年才完全推广开这个理念。

Walsh 最终带领 49 人队获得 3 次超级碗胜利,并两次获得 NFL 年度教练称号。

Edmond 认为:我们可以采纳 Walsh 的写剧本策略,将决策制定过程从高压或是高风险情形转移到更受控的环境中。以此,就可减少感情蒙蔽我们的判断,或是时间重压在我们头上之类的状况。作为工程师,我们甚至可以编写程序剧本,模拟我们的响应,还要测试,以保证剧本足够健壮。

在 Edmond 看来:

这在大型工程组织中尤为重要,因为任何可能出问题的基础设施都会出问题。

接下来,Edmond 列举了一些大型技术公司的例子,说明他们如何在正常时期模拟系统失败和灾难,以应对非常情况:

  • 2006 年时,我还在 Google 工作。Google 每年都有持续多日的“灾难恢复测试(Diaster Recovery Testing - DiRT)”活动。在 DiRT 演练中,公司会模拟诸如地震、飓风之类的灾难,并验证在断电或者整个数据中心或办公室出现故障中,团队、沟通和关键系统能否保持正常运转。这个演练会发现单点故障、不可靠的故障切换、过时的应急计划、或是其他没有预料到的错误,还能帮助团队在受控环境下处理这些问题,同时没有在真正的紧急时刻面对的恐慌和压力。
  • Netflix 构建了 Chaos Monkey 系统,可以随机关闭自己基础设施中的服务。直接宕掉自己系统中的服务,这看起来好像有违常理,但是他们的配置可以在平时的正常工作时间杀掉服务,工程师因此可以在办公室里面直接发现架构上的问题,而不是在半夜被叫起来。他们在博客上这么说:“应对重大未知失败的最佳防守,就是经常失败。”
  • Dropbox 的工程团队常常为自己的系统增加额外模拟负载。如果他们发现某些系统达到极限、出现问题,他们就能关闭模拟负载,解决问题。相比面对真实的生产环境再去救火,这样的压力要小得多,毕竟生产环境的流量无法直接关闭。

Edmond 对上述例子做了总结:

工程组织会假设不可预期和不希望的事情总会发生,他们的策略是:在正常时期,最好先针对这些情况做规划、写剧本,而不是等到事情不可控制时再去处理。

即使与基础设施不相干,在我们的职业生涯中,也会遇到其他高风险、高压力的事情,比如面试、工资协商等等,没那么频繁,但是充满压力,而且影响深远。针对这些情形,写剧本、做准备,是事半功倍之事。

在文末,Edmond 列出了一些参考文章,包括: * Google 的 Kripa Krishan 在 ACM 期刊上发表的《经受不可预期的考验》↩ * Netflix 的John Ciancutti 在Netflix 技术团队博客上发表的《我们使用AWS 得到的5 个教训》 * Netflix 的Cory Bennett 和Ariel Tseitlin 在Netflix 技术团队博客上发表的《放到野外的Chaos Monkey 》 * Dropbox 的Rajiv Eranki 发表的《在Dropbox 学到的扩展经验,第一部分》。↩

Edmond Lau 还在撰写一本《高效工程师手册》,感兴趣的同学可以去这里下载样章

InfoQ 中文站此前发布过两篇新闻,介绍了豆瓣和下厨房遇到的真实问题:

如果他们事先能够写写剧本,也许就可以避免遇到的严重问题,那个背着笔记本电脑上山的苦逼运维也许就可以放下电脑、放下压力、放下心情,放心轻松了。

如果你是一个运维人员,也欢迎给《那些年我们犯过的错》话题投稿,只要你:

  • 回答以下问题:
    • 介绍一下你印象深刻的、你犯过的一个错误。
    • 你是如何发现 / 捕捉到这个错误的?
    • 发生了错误之后,你尝试做了哪些事情?
    • 你是如何从错误的症状跟踪到错误诞生的原因的?
    • 之后,你做了哪些工作防止此类错误再次发生?
  • 撰写一段你的个人介绍。
  • 发信给 editors@cn.infoq.com ,邮件标题注明《那些年我们犯过的错》投稿,将上述内容粘贴入邮件正文当中。

期待你的来信!

2013-08-02 21:292483
用户头像

发布了 479 篇内容, 共 161.3 次阅读, 收获喜欢 52 次。

关注

评论

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

Eudic欧路词典 for Mac(英语词典翻译查询工具)

Mac相关知识分享

SmartSVN for Mac(SVN客户端)

Mac相关知识分享

为什么建议不要使用TikTok共享节点?

Ogcloud

TikTok tiktok运营 TikTok养号 tiktok矩阵 tiktok网络

《深入浅出Apache Spark》系列③:Spark SQL解析层优化策略与案例解析

数新网络官方账号

sql 大数据

Zabbix 和 Prometheus 选型对比

巴辉特

Prometheus zabbix

枫清科技高雪峰:从大模型到行业智能体的智能转型之路

Fabarta

大模型 #人工智能

数据虚拟化技术揭秘:如何整合多样数据源及其独特优势

Aloudata

数据分析 数据开发 数据集成 数据编织 数据虚拟化技术

MLP AI生态平台将掀起去中心化智能投资浪潮

股市老人

AE2025视频后期优化处理:After Effects 2025 for mac 激活版

你的猪会飞吗

mac软件下载 Mac破解软件 AE2025破解版

前端三件套配合豆包MarsCode 实现钉钉官网动画

豆包MarsCode

程序员 AI 钉钉 开发

Allavsoft for Mac(优秀的视频下载工具)

Mac相关知识分享

指标平台帮助企业在业务运营过程中快速定位和解决业务问题

Aloudata

数据仓库 数据分析 指标管理 指标平台 指标开发

无代码MES是什么?MES系统包含什么功能?

积木链小链

无代码 无代码平台 无代码MES

SpringBoot必须掌握的常用注解!

王磊

TikTok直播有什么要求?

Ogcloud

TikTok tiktok运营 tiktok直播 tiktok直播专线 tiktok直播网络

LeetCode题解:2665. 计数器 II

Lee Chen

指标平台为业务部门提供实时、准确的数据支持,以助力业务决策

Aloudata

数据分析 指标管理 指标平台 指标开发

Hadoop优化|全面调优攻略 | HDFS、MapReduce、YARN性能提升秘诀 | 专家实战分享!

敏捷调度TASKCTL

hadoop hdfs YARN MapReduce服务

数据分散在不同的业务线,如何对全域数据做高效整合和集成?

Aloudata

数据仓库 数据分析 商业分析 noetl

Termius for mac(终端模拟器/SSH/SFTP客户端)

Mac相关知识分享

高通中国区董事长孟樸:5G与AI的融合正加速企业数字化转型步伐

新消费日报

SecureCRT for mac强大的终端 SSH 仿真工具

Mac相关知识分享

连续七年亮相进博会,高通携手合作伙伴共赢智能计算新时代

业界

Navicat Premium 15 for Mac强大数据库管理软件

Mac相关知识分享

Microsoft Remote Desktop Beta for Mac(微软远程连接工具)

Mac相关知识分享

DeFi 4.0峥嵘初现:主权金融时代的来临

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

【教程】第二章:设计任务管理系统 —— 胸有成竹,步步为营

NocoBase

开源 低代码 教程 无代码

万字长文2024最全Go面经汇总

王中阳Go

Go 面经 大厂

Unlock the Future of Connectivity: Explore Dual-Band Dual-Concurrent (DBDC) Cards for Industrial Applications

wallyslilly

MT7915

SmoothScroll for mac(鼠标增强工具)激活版

Mac相关知识分享

TG机器人链游开发项目:迈向去中心化游戏新时代

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

运维团队能从橄榄球教练身上学到什么?_Google_郑柯_InfoQ精选文章