谷歌SRE运维(学习翻译)-第一章

2020-04-28

本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。

声明:
本博客欢迎转发,但请保留原作者信息!
博客地址:王超的博客;
内容系本人学习、研究和总结,如有雷同,实属荣幸!

软件工程和有小孩有着共同之处:出生前非常痛苦和困难,但是出生后,你却花费了最多的努力。尽快一个系统诞生后耗费了40%-90%的代价,但是相反,软件工程作为一门学科,花费了更多的时间在讨论软件的诞生,而不是后者。流行的工业模型认为:部署、操作软件通常在生产环境是稳定的,因为软件工程师不需要太多关注,这个观点是错的。通过这个视角,我们可以看到,如果软件工程倾向于关注设计和构建软件系统,那么必须有另一个学科关注在整个软件的生命周期:从最开始,到部署再到运营,改进,然后最终平稳下线。这个学科使用,并且需要使用:一个拥有广泛技能,关注点和其他类型工程师不同的人。今天,我们的答案是,这个学科谷歌称之为SRE(Site Reliability Engineering).

那么SRE到底是什么呢?我们承认这个名字没有清晰的表达SRE应该做什么–几乎每一个谷歌的SRE经常都会问,SRE到底是什么,到底他们需要做什么。

稍微打开这个数据,最开始,SREs就是工程师们。我们应用计算机科学和工程的原则去设计和开发计算系统:通常是大型分布式系统。有时,我们的任务是编写这些系统的软件和产品开发人员一起,有时候,我们的任务是构建系统需要的额外部分,例如备份或者负载均衡,理想情况下,这些部分可以在多个系统间重用。有时,我们的任务就是找出面对新问题,如何应用已有的解决方案。

然后,我们关注系统可靠性。Ben Treynor Sloss,谷歌关于24/7运维的VPN,SRE术语的创始人,声称可靠性是任何产品最基础的特性:如果没人能用一个系统,那么这个系统注定是无用的。因为可靠性如此重要,SRE关注于如果找到合适的方式去改进系统的设计和运维,从而保证系统更加的可扩展、稳定、高效。然而,我们在这个方向努力只有一点:当系统足够可靠时,我们将精力转而投入到增加新特性或者构建新产品上来。

最后,SRES 关注运行在分布式计算系统上的服务,不论这些服务是用于海量存储、为成千上万用户提供Email、还是谷歌最开始的服务,Web搜索引擎。Site在SRE中的含义,原始是引用SRE的主要角色是保证谷歌website持续运行,尽快当前我们有更多的服务,其中很多并不是webiste,例如从内部基础设施(Bigtable)到提供给外部开发者的产品(谷歌云平台)。

文章评论

comments powered by Disqus


章节列表