织云团队告诉你,故障过后如何全面地制定规避措施

作者简介:梁定安,腾讯织云负责人,腾讯运维技术总监,开放运维联盟委员,腾讯云布道师,腾讯学院DevOps讲师,EXIN DevOps Master讲师,凤凰项目沙盘教练,复旦大学客座讲师。

因LOL(英雄联盟)S7总决赛在线抢票玩家数量过多,硬是把独家线上售票机构的服务弄挂了,众多玩家表示很不开心。

官方也发文致歉广大的游戏玩家。

作为一名运维,看到这篇新闻时,我同感不开心。因为这个故障很有可能会导致某个运维小伙伴背黑锅,虽然我们都知道“冰封三尺非一日之寒”,酿成本次故障的原因绝不仅是运维岗的责任,但事与愿违的是,往往“受伤的”却总是运维岗。

Anyway,干得了这行我们就承受得住故障的暴击,但同时我们也要不断的用先进的理论知识来武装自己,提升运维团队的整体实力。让我们一起用DevOps视角来看下,故障发生后,我们如何能做到“引以为鉴,举一反三”制定有效的规避措施,保障类似的故障不再发生。

DevOps的文化精髓CALMS,可以为我们指引改进的方向。

  • Culture(文化)- 是指拥抱变革,促进协作和沟通
  • Automation(自动化)- 是指将人为干预的环节从价值链中消除。
  • Lean(精益)- 是指通过使用精益原则促使高频率循环周期。
  • Metrics(指标)- 是指衡量每一个环节,并通过数据来改进循环周期。
  • Sharing(分享)- 是指与他人开放分享成功与失败的经验,并在错误中不断学习改进。

首先,DevOps是一种新的思维模式,我们不能以老观点来评判这次抢票的故障。Blameless是一个很关键的词,DevOps提出对待故障的正确方法,是不要责怪,不要罚钱,而是应该让团队在故障中学习和提高。这是Sharing的目标:分享责任、分享经验、分享信息、分享成功与失败,践行持续改善。

DevOps除了告诉我们要blameless要sharing,还有丰富的技术实践供我们参考学习。从IT价值链流转图中,我们能找到可以改进的点。

站在产品岗的角度,反思这次故障,可以尝试以下优化:

  • 排队购票机制,从产品体验上引入先来后到的队列机制,可以降低突发大量的用户冲击技术架构。这种招数在社交的场景屡试不爽,如打地鼠抢红包。
  • 预估业务量,产品经验有必要提前估算这次购票活动会带来的请求量规模,让技术团队能够有一定的依据来准备容量,可结合英雄联盟的热度和历史经验。
  • 错峰预约策略,这是一种产品策略,把相当于把峰值提前打散。如双11的提前预约再抢购,红米手机在QQ空间的活动,先抢资格择日再买。

站在开发团队的角度,在提升架构的性能吞吐的同时,可以站在运维的角度为架构增加些非功能性的特性。

  • 高性能web服务,结合分布式、消息队列、逻辑解耦等架构设计思路,提升接入层扛大并发的性能。
  • 数据垂直切分,避免热点过度集中压垮DB。
  • 自动拒绝服务,防止后台服务发生雪崩。
  • 做好实时监控流数据的监控,让运维具备发现异常和响应处理的能力。
  • 引入容器技术,让快速扩容具备条件。
  • 预留柔性策略开关,以备不时之需。
  • 合理选择路由服务,可结合zk实现服务自发现,或用名字服务代替IP直连。

站在测试团队的角度,在对业务逻辑验收完成的前提下,还要监督和保障所有非功能规范都能按要求实现。

  • 验收非功能特性,保证应用在上线前,所有可运维性需求都被实现。
  • 压测应用性能,把单机吞吐量告知运维,后者可合理的估算容量。
  • 测试用例服务化,让运维有能力在完成应用部署后,自动化调用测试用例验证服务功能,以实现自动部署自动上线。

终于轮到运维团队的改进措施,不仅是针对此次抢票故障,运维务必有一套规范流程对业务的运营活动进行质量保障。

  • 容量规划,根据业务活动的请求量和单机吞吐量,规划集群的容量,并保证备用buff设备能应对计划外的流量。
  • 扩容能力,提高扩容的速度和质量,给开发的架构提建议,给测试的工具提需求,以建设运维自动化为目标。
  • 容灾容错预案,调度、柔性的工具和策略要提前准备好,并时常演练,养兵千日用兵一时。
  • 参数调优,web性能的优化与内核参数有关,找到最贴切的参数组合,在运维侧为架构优化助力。
  • 防攻击能力,每次运营活动,都请保证所有请求的合法性,切勿因为安全问题导致服务不可用。
  • 实时的监控与告警,确保在关键时刻你的眼睛没瞎,能在第一时间收到火警,将火苗扑灭。
  • 与合作团队多沟通,重大的活动需要郑重对待,但首先得确保每个产品的重大活动都能够通知到运维团队。

综上对抢票故障的规避措施,要想整体提升企业IT能力,关靠个别团队的努力是不足够的,如DevOps方法论体系图描述的一样,我们需要结合精益、敏捷、持续交付、ITSM等理论和技术,为企业打造一个完整的DevOps文化与工具体系。

欢迎关注腾讯织云,获取最新技术资讯

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

Oracle 数据库一体机的崛起

既然一件事物有很多的问题,无法适应时代的发展,那被淘汰也是必然的。就像汽车取代马车,手机取代寻呼机,数字音乐取代CD唱片一样。那取代IOE架构的会是什么呢?从目...

36310
来自专栏SDNLAB

ONF开源白皮书:SDN解决方案案例——SDN/NFV

译者简介:蒋暕青@上海宽带技术及应用工程研究中心:SDN技术实践者,大四北上思博伦实习半年,现工作地点上海 6.1 CORD:将交换中心重新设计为数据中心 世...

2807
来自专栏SAP最佳业务实践

从SAP最佳业务实践看企业管理(137)-库存管理

重要性 1、库存资产一般占企业总资产15%-40%; 2、物流及供应链管理研究的主要内容之一; 3、企业竞争的需要; 优点 1、满足客户快速变化的要求,提高客户...

2446
来自专栏鹅厂网事

用有限的带宽承载无限的需求:浅谈腾讯网络容量管理

"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网...

2525
来自专栏CDA数据分析师

盘点 | 2017 最“热”门的十大数据技术

原作者 Gil Press 编译 CDA 编译团队 本文为 CDA 数据分析师原创作品,转载需授权 随着大数据近年来的迅速发展,大数据分析已渗透到各行各业。当中...

1956
来自专栏人称T客

云存储详解,企业数据该如何上云?

1725
来自专栏程序你好

符合架构的测试

711
来自专栏SDNLAB

AT&T将谷歌云融入其NetBond for Cloud平台

2087
来自专栏即时通讯技术

阿里技术分享:深度揭秘阿里数据库技术方案的10年变迁史

本文原题“阿里数据库十年变迁,那些你不知道的二三事”,来自阿里巴巴官方技术公号的分享。

1855
来自专栏养码场

Spark 和 Flink之争,阿里、滴滴等技术大牛揭秘:你的项目该用哪个?

做大数据绝对躲不过的一个热门话题就是实时流计算,而提到实时流计算,就是Spark 和 Flink两面大旗。

822

扫码关注云+社区