谷歌的SRE : Site Reliability Engineering

2023-03-02 19:32:00 浏览数 (1)

SRE 全称是 Site Reliability Engineering,最早是由 Google 提出,并且在其工程实践中发扬光大。在 2003 年时候 Google 的 Ben Treynor 招募了几个软件工程师,这个团队设立目的是帮助 Google 生产环境服务运行更稳定、健壮、可靠。不同于中小型规模公司,Google服务于十几亿用户服务,短暂服务不可用会带来致命后果。因此 Google 走在了时代最前面,SRE 产生了。

SRE 原则:Don't Repeat Yourself

SRE 理想:Automate Everything

Site reliability engineering (SRE) is a discipline that incorporates aspects of software engineering and applies that to operations whose goals are to create ultra-scalable and highly reliable software systems

Google SRE 是业内最有影响力的,也是最早提出这个概念的。他们出了一本书 《Site Reliability Engineering》 ,描述了这个岗位是如何高效协同工作的。

Google的官方对于SRE的PPT介绍~

Keep the site up

– Whatever it takes

– Site unavailable? Our problem, whatever the reason

Work at a Large Scale

– Many services

– Lots of data

– Many machines

– But not so many people (machines:admins > 4000:1)

Balance competing demands

– Improve availability and reachability

– Enhance functionality

– Improve efficiency

– Take on new services (post-launch)

看看google招聘SRE

DevOps VS SRE

很有趣的对比,DevOps 和 SRE 都会关心应用生命周期,特别是生命周期里面中变更和故障。

但是 DevOps 工作内容是主要为开发链路服务,一个 DevOps Team 通常会提供一串工具链, 这其中会包括:开发工具、版本管理工具、CI 持续交付工具、CD 持续发布工具、报警工具、故障处理。

而 SRE Team 则关注更为关注变更、故障、性能、容量相关问题,会涉及具体业务,产出工具链会有:容量测量工具、Logging 日志工具、Tracing 调用链路跟踪工具、Metrics 性能度量工具、监控报警工具等。

SRE 的首要工作任务是保证 SLA。SLA 是 service-level agreement 的缩写,没有贴切的中文翻译,我们继续用缩写好了。SLA 一般指的是系统的功能指标,比方说系统可用性(availability)达到 99.99%;对于 95% 的请求,响应延迟(latency)低于 200 毫秒等等。《SRE》第 4 章会具体讲 SLA、SLO、SLI 的含义及用法。

参考文章

https://www.jianshu.com/p/6fdd6b302a9a

0 人点赞