为何有SRE可靠性工程师,云原生时代的SRE

为何要进行站点可靠性工程

在技术世界中,风险从未像如今这样高。迁移到云和微服务以最大程度地提升灵活性已被数字破坏者和史无前例的竞争威胁所取代。随着分布式系统变得愈来愈复杂,“未知未知数”的规模不断增长。最重要的是,客户的指望很高。数组

停机形成的损失是灾难性的,若是客户不能及时知足他们的需求,他们就会大跌眼镜。根据Gartner的数据,平均停机时间为每小时300,000美圆。对于某些公司来讲,这个数字要高得多。例如,亚马逊在2018年Prime Day停运期间损失了大约9000万美圆,而且停运仅持续了75分钟。安全

组织须要优先考虑可靠性,以便在不损害客户体验的强大基础之上尽快进行创新。随着愈来愈多的企业转向具备高可靠性要求的分布式系统,这将变得更加关键。那就是站点可靠性工程(SRE)出现的地方。 架构

SRE功能正在快速增加(职位列表同比增加30-70%),可是市场上没有足够的熟练人才来弥补。换句话说,重要的是要了解如何不只能够雇用SRE,还能够发展示有组织以采用卓越生产所需的实践和思惟方式。因为要租用的SRE短缺,您该怎么作才能确保服务的可靠性?要回答这个问题,您须要对SRE是什么有更深刻的了解。分布式

什么是SRE?

SRE是Google于2003年首次提出的一种作法,旨在建立足够可靠的系统和服务以知足客户的指望。从那之后,许多大型组织(如LinkedIn和Netflix)都采用了SRE最佳作法。近年来,SRE已被全球许多组织普遍采用,其目标是考虑到客户指望成倍增加以及系统复杂性,从而牢记可靠性和弹性。ide

SRE基于客户至上的心态。这意味着,即便使用该服务的客户是内部用户,SRE的努力也都与客户满意度息息相关。每一个决定都应提升客户满意度。团队共同努力,肯定哪些因素和经验会影响客户的满意度,进行衡量,设定目标,并将可靠性要求与在不断竞争的数字环境中保持生存所需的创新速度保持平衡。微服务

为了实现这一崇高目标,SRE和采用SRE最佳实践的团队会参考SRE的几个关键原则。根据Google的说法,这些包括:工具

确保长期专一于工程
在不违反服务水平目标(SLO)的状况下追求最大变化速度
监视,包括警报,票证和记录
紧急应变
更换管理层
需求预测和容量规划
供应,以及
效率与绩效
根据Forrester的说法,46%的原则能够直接应用到企业中的大多数软件团队,可是其他的则须要自定义,不然对于绝大多数组织来讲都是毫无心义的。要问本身的重要问题是这些原则如何与您已经在作的事情相适应,以及您的团队如何提升。性能

了解SRE如何适合您的DevOps实践

将SRE视为使DevOps哲学焕发生命的实践。DevOps和SRE的核心原理几乎相同。根据Google在SRE上的Coursera课程,“ SRE类实现DevOps”,五种DevOps原则以下:学习

减小组织孤岛:SRE经过在开发人员和生产团队之间共享全部权和统一工具来提供帮助。代理

像往常同样接受失败:无耻的过后验尸是SRE的最佳作法,可确保将全部事件都用做学习机会。SRE还经过SLO和错误预算为故障创造了安全的空间和护栏。

实施渐进式更改:在容许全部用户与新功能进行交互以前,经过将推广分发给一小部分客户来实现。较小的更改更容易且更安全地进行剖析和迭代。

利用工具和自动化:SRE经过测量劳动和建立自动化来执行重复性任务而无需人工干预,以消除劳动。这样,人类能够专一于更高价值的工做。

衡量一切:SRE专门致力于衡量工做和可靠性,以确保客户和软件团队都对服务感到满意。

定义了这些通用原则后,很容易看到SRE和DevOps如何很好地结合在一块儿,而SRE编纂实践使实现DevOps的承诺变得更加容易。您能够说SRE是DevOps的人为方面,DevOps是一种文化构建功能,能够将运行系统的人员铭记在心。

人性化的系统方法

做为一种实践,弹性工程从总体上着眼于系统,不只要考虑基础架构,还要考虑人员,过程和文化因素。若是不采用SRE背后的文化和思惟方式,您将仅拥有没有统一价值的新流程,就能够保持主动性。关注于人类对系统的态度须要从新评估您的组织对三项关键事情的态度。

随叫随到和全方位服务的全部权惯例
呼叫的概念在SRE中很重要,缘由有几个。它创建了明确的全部权,以确保当即解决软件问题,并固有地激励开发人员发布性能更高的代码。可是,尽管如今拨打电话是一种至关广泛的作法,但创建健康,平衡的流程对于防止倦怠相当重要。

没有人能够24/7全天候待命,尤为是在待命期间发生的事件严重干扰工程师的我的生活时。人们须要不间断的工做时间以达到最佳状态,所以应仔细监控随叫随到的职责。若是某人天天晚上2点醒来整整一个月,则说明有问题;这简直是​​不可持续的。另外,应该由一个以上的人来负担。应该受权整个开发团队随时待命,以便将责任变成共同的责任。这也激励开发人员提供更好的代码,以免在凌晨2点醒来。

SRE最佳实践鼓励创建更好的主动系统,并创建可靠的反应系统。积极主动意味着创建一个不断学习和改进的社区。当您的工程师作好充分的准备并从先前的事件中吸收教训时,再次发生相同的错误的可能性就较小。随着SRE实践的成熟,这将减小发生的事件数量。

从被动的角度来看,更好的事件管理作法能够简化事件发生期间的沟通,并为将事件视为重要的学习机会而将事件视为“计划外的投资”提供基础。所以,过后调查为工程师提供了一个地方,能够在发生事故的根本缘由时规避它们。SRE为持有寻呼机的人提供了更多代理权。

保持倦怠

持续进行消防,尤为是在严格的通话时间安排下,可能会使工程师感到筋疲力尽。随着时间的推移,精疲力尽会致使高离职率,这意味着高级工程师将须要在增长新员工的同时增长额外的空余。这只会增长工做倦怠,致使不满意的工程师陷入恶性循环,他们缺少思考改进的能力,而新员工却无从下手。

在这种状况下,SRE方法将鼓励提升对工程时间,通话时间和重复事件的可见性。这些问题中的每个都直接致使工做倦怠,可是许多组织并未对其进行跟踪。经过了解哪些工程师在长时间内花费了异常高的时间,团队负责人能够建议休假时间以抑制职业倦怠。知道上个月每一个周末都有谁在召唤,团队能够更好地管理轮换,让每一个人都有休息时间。监视重复事件和相似类别的事件能够洞悉整个工程时间内正在燃烧的东西,以及之前的验尸是否发现了改进之处或未采起后续措施。这些问题应当即解决,以使团队摆脱消防,

庆祝失败

将会发生故障,发生事件而且违反SLO。这些事情可能很难面对,可是采用SRE的一部分是要认可它们是规范。系统是人为造的,人是不完美的。重要的是从这些失败中学习并庆祝增加的机会。

培育这种文化的一种方法是优先考虑工做场所的心理安全。安全的力量很是明显,但经常被忽视。像吉恩·金(Gene Kim)这样的行业思想领袖一直在提升感到失败的安全感的重要性。他在小说《独角兽计划》中谈到了心理上的不安全感。主角马辛(Maxine)已从一支职能强大的团队中分流到凤凰城(Project Phoenix),那里的错误可被解雇。吉恩写道:“她(Maxine)看到了一种恐惧文化所产生的腐蚀做用,在这种状况下,常常会惩处错误并开除替罪羊。惩罚失败和“***信使”只会令人们掩饰本身的错误,最终,全部对创新的渴望都被完全扑灭了。”

若是存在责备,则没法充分利用团队和系统。无罪是SRE的核心。要彻底采用这种作法,您须要认可人不是失败的根源。每一个团队成员只是利用现有的知识来尽力而为,作出他们认为正确的决定并符合组织的最大利益。惩罚或责备消除了尝试,修复和不断学习的欲望。

恐惧是创新的杀手,但失败是创新的灵感。在组织内部创建安全性和信任是彻底实现和释放团队潜力的关键。

当即开始您的SRE旅程

任何组织均可以采用SRE最佳实践,而且能够以很小的增量开始。您将要作的最重要的改变将是文化上的改变。因为组织是由人组成的,所以只要组织致力于员工的成长心态,任何组织均可以促进不断的学习,无罪的文化和心理安全。这些文化因素到位后,实施扩展这种卓越文化的实践,流程和工具将变得更加容易。

相关文章
相关标签/搜索