网站可靠性实践 SRE

关键词: SRE,运营,可靠性, 故障剖析

对运维而言,相比较英文单词 operation 与 site reliability engineering (SRE), SRE 将运维划分为一种工程和开发任务,从一个侧面调节了开发人员与运维的矛盾。 SRE的起源来自于Google。 这种实践帮助优化了下面几个方面: 

    a.  运维自动化

    b. 双方高效沟通

    c. 促使开发人员编写更高效的系统方便运维

    d. 解决运维需要维持系统稳定,与开发需要上线新功能的天生矛盾

针对网站而言,以下几个实践可能是非常有效的。

1. SRE 必须会编程, 且最多允许50%的苦力劳动

        a. 可以有感知且实现自动化: SRE 人员应该能够用编码解决复杂问题。当执行重复的任务多次时,他们应该有感知的自发其开发自动化方式去实现任务。在实践中,这种感知往往更加重要。很多人可能做了很多次重复的工作,但都没有把其进行自动化的想法。

        另外一个限制条件是只允许SRE 存在最多50%的需手工进行的苦力劳动。这从另一个侧面促使他们进行更好的自动化。

        优先自动化的工作是所需工作量最小,但能带来最大效益的

       b. 有足够的开发知识: SRE 人员应该可以理解和鉴别开发人员的工作。能无障碍的与他们进行沟通。能理解什么样的方式是可行的,什么样的方式是不可行的。

2. SRE 和开发人员来自同样的候选人群

        一个目的是为了满足 1 中我们所说的需求,另一个目的是我们可以为一个项目分配一定数量的工程师,当我们增加了SRE的数量的时候,我们就不得不减少开发工程师的数量。这从而促使开发人员编写更高效的系统方便运维,以减小SRE人员的需求


3. 过度的运营需求将成为开发团队的需求, 且开发团队承担5%的运维工作

       这都是为了让开发团队能够更好的感知运维的需求,开发更高效的系统。

        可采用8/2法则,新版本迭代分为大的,和小的发行版本:在大的发行版本中花20%的时间在运维需求上,其他时间在重要的新功能上;而在小的版本中包含一两个高优先的功能,其他80%的时间在bug修复和稳定性维护上. 


4. 使用错误预算(Error Budgets) 

    一般的网站的稳定性需求都为4个9 (99.99%)。Wifi 一般的可用性都低于99%,  所以一般来讲4个9的稳定性就足够了。在这种情形下,我们可以刻意的在每个季度预留一些不稳定(约13分钟)的时间做为新功能测试的代价。 

    每个季度,当这个13分钟的预留时间没有耗尽的时候,开发人员可以自由发布新的功能。当预留时间因为新功能的bug 而被耗尽则所有发布终止。这从另一个侧面促使开发人员开发更稳定的系统。也让运维部门不再需要费心的阻止新功能的发布以维持系统的稳定度。

    在软件开发的Estimation time 中,也应专门预估一些时间在系统稳定性的改善上面

5. 每个值班最多处理两个故障

    为减轻运维负荷,达到更高效的运维,把每个运维的值班时间,缩短为最多需要处理两个故障。

6. 制定SLA,并根据其计量和报告性能

开发人员和SRE都对SLA负责,也都有及时交付功能的职责。这样保持开发与SRE的目标是一致的。而非只有SRE对SLA负责,但对及时交付没有责任。

7. 任务分配:不应该所有人的优先级都为紧急故障

    一名SRE的最高优先级应为紧急故障。一名SRE的优先级应为常规ticket. 一名SRE的优先级应为运维优化。这三个优先级可以一人专注于一周。这样保证整个团队不会疲于奔命而无法做运维优化。运维优化应该是团队最为重要的任务。

8. 执行软启动(Soft Launch),金丝雀( canary) / 灰度测试

    软启动:不公开通告新功能的启动。这样避免流量爆增,可以提供一些缓冲在大多数用户发现问题前修复问题。

9. 进行故障的事后剖析,分析过程而非职责人

    对事故的剖析必须执行,隐瞒事故只会导致同样的悲剧再次重演。

    对故障进行事后剖析,重点在于故障过程和如何阻止下次再发生。即使是人为因素导致的故障也应该重点放在如何从制度上避免发生,而非强调个体的失误。最近比较出名的 饿了吗 运维事故中就可以看出,其实我们可以通过从(1)自动化角度避免需要重复这样机械的劳动; (2)当操作生产环境时加入二次确认和授权机制来保证事故不会重现;(3)减轻工作量,避免疲劳操作,而不是倚赖于人不会犯错,如犯错就要遭受解雇上面。

事故剖析中, 应使用第一人称,表露对事故发生的懊恼与愧疚,而不是采用新闻官腔。尽量避免使用“可能”等词语淡化事故造成的影响。如果没有影响,那你也就不会发布剖析报告了不是?

简单的内部剖析报告应包含以下内容:

标题: 

报告状态:(故障是否修复)

概述: (发生的情况,受影响的用户,及避免再次发生的关键建议/需要领导批准的部分)

事故描述: (详细描述)含操作与时间轴

受影响用户:

解决方案:(感谢在其中提供帮助的人员列表)

归因分析:

未来建议:(应该是可计量的)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容