AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

亡羊补牢:携程故障的非技术性思考

  • 2015-06-01
  • 本文字数:1804 字

    阅读完需:约 6 分钟

最近这几天,有关支付宝和携程的故障问题炒的很热,什么“光线挖断”、“物理删除”、“员工报复”等各种段子甚嚣尘上。拿携程来说,按照之前财报所说,每小时宕机的损失高达百万美元,从中午到半夜,故障时间大约 7-8 个小时,损失挺大的。

关于故障的根源,我也从一些渠道得到了权威的答案,应该是员工犯了比较低级的错误,不是有意为之的,但是导致的结果很严重。有关这次故障的技术性讨论已经有很多了,我想从其他角度来说下看法。

  • 技术不是万能的。最近十年,随着 IT 技术特别是互联网的发展,咱们的生活发生了很大的改变。我们对技术的依赖也越来越大,什么“技术驱动业务”、“技术改变世界”,这些说法都没啥大问题,但是如果把技术看成决定业务的一切,那就太偏颇了。以运维领域为例,虽然这几年有关运维的工具、理念、技术不断发展,但是依然存在各种陷阱和填不完的坑。这些坑一方面是因为技术的时代局限性,另一方面,是因为技术并不能从根本上取代运维工程师。运维是一个极其庞杂的领域,技术越发展,其含义越加丰富,技术可以帮助运维工程师减少犯错的几率和重复性劳动,但是无法告诉我们如何做好运维,只有人才能做出判断和优化。
  • 管理和流程比人和技术更重要。除了技术,人更靠不住,经常犯这样那样的错误,特别是在执行一些日常性的、非决策判断性的工作时。这时候,公司的内部管理机制和流程就显得非常重要,小到一个系统补丁升级的操作流程,大到产品重构的管理,都需要明确的步骤和责任人。在互联网快速发展的中国,人的因素往往在公司中占据了主导地位。这次我去深圳和广州考察,正好有两家公司,形成了比较鲜明的对比,一家公司采用了国际标准的项目管理流程,做任何事情都有一个流程模板,把关键要素填上去,就可以形成一个标准流程,而且不依赖于某个人;另外一家公司的负责人则告诉我,他们现在非常害怕某个关键岗位的工程师离职,因为这意味着某项工作可能就会搁浅。这两种方式各有利弊,我们很难做出 01 选择,但是从运维的角度来说,我更倾向于采用完善标准的流程,避免人为的失误。另外卖个关子,近期 InfoQ 会牵头做一件运维领域的大事件,对整个运维领域都有好处,6 月份就会有结果。
  • 运维非常复杂,出错的地方却往往是在最简单的地方。这可能是技术人包括我自己的一个共性,在研究一件事情时,一开始就深入细节,往最复杂最有挑战的地方研究,对于显而易见的问题和流程,一方面觉得没啥意思,体现不出自己的能力来,另一方面觉得太简单,一般不会出问题。按照 28 原则,80% 的工作和流程都是相对简单的,如果这些任务没有仔细研究和做好,那么犯错的概率自然就大了。
  • 避免事后诸葛亮。我看到携程故障之后,好多评论都在讲携程甚至是中国互联网企业发展太快,一直在裸奔,现在有报应了吧等等。我觉得说的有一点道理,但是不要忘了,“快速发展”是所有互联网企业的共性,它们必须这样做,只能边做边优化。从事后分析,我们可以说携程做的这不好那不好,但是我想提醒大家,携程的几千名 IT 工程师也不乏精英,这次的故障不会是简单的流程或者管理问题,而是有着深刻的历史背景和发展原因,我们没有机会深入了解,但是可以理解。如果携程按照网友们的建议事无巨细的研发和运维模式,也许在竞争激烈的中国,早没有携程这个名字了。

读者反馈

上篇文章《像外行一样思考,像专家一样实践》发布以后,有不少读者留言反馈,我挑选了两条很赞的文字,整理如下:

  • 张卫滨:也是我最近在想的问题。小时候特别喜欢听单田芳的评书,老先生经常说一句话:凡事绕不过一个理字。也就是凡事都要讲道理讲常理,所以学习一个比较难的东西,真正理解后会有一种恍然大悟的感觉,觉得一切都在情理之中。学习做事都是一个渐进积累的过程,过程中积累的经验和知识,对于后续的学习做事可以作为基础,有了积累之后再学其他东西都会快很多,但有时候却又会走入经验主义的误区,做得东西说的话都不那么符合常理了,所以要经常跳出来看看自己,看看自己做的事情。
  • 梁杰:其实对应的就是我们熟悉的看山看水问题。入门阶段是看山是山,继续深入就是看山不是山,再往后就是看山还是山,也就是“像外行一样思考”。虽然还是山,却是解构了的、每个细节都被研究过的山。怎么做到这一点?多看书多交流,从多个角度去看山,培养一种全局的视野。

作者的微信公众号“技术风向标”,关注 IT 趋势,承载前沿、深入、有温度的内容。感兴趣的读者可以搜索 ID:jishuqushi,或者扫描下方二维码加关注。

2015-06-01 01:113717
用户头像

发布了 501 篇内容, 共 266.2 次阅读, 收获喜欢 61 次。

关注

评论

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

利用Python浅尝算法分析

迷彩

算法复杂度 7月月更 算法分析

Go 并发编程基础:什么是上下文

宇宙之一粟

并发编程 Go 语言 7月月更

K3S - 轻量级Kubernetes集群

mengzyou

DevOps k8s k3s

互联网流量编排方案

穿过生命散发芬芳

7月月更 流量编排

教你学c++算法题中最简单的二分,我不允许还有人不会!!!!

KEY.L

7月月更

谈谈文字两端对齐的css问题

南极一块修炼千年的大冰块

7月月更

C# 线程锁和单多线程简单使用

IC00

C# 7月月更

python小知识-python格式化

AIWeker

Python python小知识 7月月更

Redis 事务学习有感

恒山其若陋兮

7月月更

Istio架构扩展机制

阿泽🧸

istio 7月月更

zookeeper-curator开源框架介绍

zarmnosaj

7月月更

springboot 项目打包优化(核心 class 与依赖 jar 分离)

安逸的咸鱼

Java maven SpringBoot 2 7月月更

Java 虚拟机的概念是怎么来的

HoneyMoose

JavaScript 中如何取消请求

掘金安东尼

JavaScript 前端 7月月更

来,滑动到下一个小姐姐

岛上码农

flutter ios 前端 安卓开发 7月月更

【K8s入门必看】第二篇 —— 快速部署集群指南

Albert Edison

Docker Kubernetes 容器 云原生 7月月更

Java多线程之锁优化与JUC常用类

未见花闻

7月月更

iOS中#define和const

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

主题域模型

奔向架构师

数据仓库 7月月更

图的存储结构及方法(一)

乔乔

7月月更

项目升级遇到的坑

技术小生

7月月更

QDS08 curl 安装

耳东@Erdong

curl qds 7月月更

Python干货——内置函数

Java学术趴

7月日更

LeetCode-83. 删除排序链表中的重复元素(java)

bug菌

Leet Code 7月月更

java零基础入门-异常、线程(完结篇)

喵手

Java 7月月更

思维导图学《On Java》基础卷

Yano

Java

MySQL消息队列表结构

极客土豆

Docker 常用命令整合

宁在春

Docker 7月月更

沉淀2年的 Jira 自动化经验分享

跟YY哥学Jira

RPA 自动化 Jira

OSI七层模型有哪七层?每一层分别有啥作用,这篇文章讲的明明白白!

wljslmz

OSI七层协议 网络技术 7月月更

亡羊补牢:携程故障的非技术性思考_DevOps & 平台工程_崔康_InfoQ精选文章