https://zhuanlan.zhihu.com/p/566098252

SRE 是确保所有生产环境(Infra/Server/DBS 等)一直正常运行的人。每个网络科技公司基本都有这个部门。但是,这个角色不应与开发人员的角色混淆。

"SRE 就是要求让一个软件工程师去设计一个运维方法的结果。 -- Ben Treynor"

SRE 的关注点在于如何在发布新功能和确保它们对用户可靠之间找到平衡。

SRE 主要通过如下措施来保证服务的可用性和稳定性:

  • 容量管理
  • 通过构建自动化流程来减少错误所造成的影响,也即降低 MTTR 的措施
  • 通过有规则的监控系统来提高 MTTD/MTTR 比率,也即 异常检测时间 / 异常恢复时间
  • 优化软件设计以此来减少整个系统其他部分的故障

所以,理想的 SRE 是:

  • 能够理解并经常预测复杂系统的紧急行为。至少有一个 SRE 会参与到任何大型系统的设计中,他们对设计中的系统故障模式的推理能力就是原因所在。
  • 能够用高质量的代码解决问题。谷歌运行的是不断迭代新功能的大型服务,SRE 负责编写软件,该软件使得亚线性数量的人在机器上运行程序成为可能。不是开玩笑,在这种规模下,容量规划是非常困难的,以至于几个 SREs 决定最好编写一个大规模的解决方案来计算装箱问题。

在这篇文章中,我们将介绍如下内容:

  • Google SRE 的职责
  • Google SRE 薪水
  • 如何准备 SRE 面试
  • 如何知道自己是否适合 SRE 这个岗位

SRE Salary at Google

1. Google SRE 的职责

SRE 工程师定义可靠性目标并且不断改进。

它们处理如何配置、部署和监视代码。

他们的职责是:

  • Availability:可用性
  • Performance:性能
  • Monitoring:监控
  • Change management: 变更管理
  • Emergency response:应急响应
  • Eliminate toil:消除琐事
  • Maintain infrastructure:维护基础设施

2. Google SRE 薪水

SRE 工程师薪酬轨迹在不同的地点和雇主之间是不同的。

根据 Glassdoor 的数据,该职位的年薪从 12万 美元 起,最高级别的职位年薪可达 20.8 万美元

Glassdoor 数据显示,典型的谷歌 SRE 工程师年薪为 132,000 美元。谷歌的站点可靠性工资范围为每年到100000到 205000。

这一估算是基于员工提供的 13 个谷歌站点可靠性工资报告或基于统计方法估算的。

在谷歌的 SRE 工程师可以期望平均总工资 $144,000 每年,包括奖金和额外的报酬。

2.1 美国 SRE 工程师薪酬最高的城市

SRE Salary of US.

2.2 根据 Glassdoor 数据,不同公司的 SRE 薪资范围

Google — $147,393

Apple — $138,350

Microsoft — $129,345

LinkedIn — $143,408

3. 如何准备一个 SRE 面试

SRE 职位的面试过程是谷歌最具挑战性的之一。SREs 必须需要有很强的 Linux SysAdmin 技能。他们还希望 SREs 能成为强大的软件工程师。

SRE 候选人的面试小组通常由两个领域的工程师组成。

一半会关注你的操作系统知识,另一半会关注你的 SWE(Software Engineer) 技能。脚本语言虽然重要,但还不够。理想情况下,您还应该精通 Python、C 和 c++。

谷歌寻找的是同时具备编码和系统技能两种技能的 SRE。

所以,一个普通的程序员可能会拥有丰富的系统知识,反之亦然。

当然了,你不可能在这两个方面都表现普通或在其中一个方面表现糟糕。

因此,在整个过程中需要巩固你的优势,而不是改进你的弱点!

如果你是一个系统杀手,而且还是一个不错的程序员,那么专注于系统。你在强项方面的收获将超过你在弱项方面的收获。

然而,这个建议的警告是,你不能在这两个方面有明显的不足。

就像之前说的,他们不会接受一个糟糕的程序员或缺乏 Linux 知识的人,如果是这种情况,无论从哪一方面来说,你都不应该去面试 SRE。

3.1 SRE 准备面试的几个 topic

  • File management:文件管理
  • I/O management:I/O 管理
  • Networking:网络
  • Bit manipulation:比特位操作
  • Memory management:内存管理
  • System processes management, etc…:系统进程管理等等

4. 如何知道自己是否适合软件站点可靠性工程师的职位

这里有一些问题,你可以尝试先问问自己。

  • 1. 你是否喜欢思考关于大规模的弹性扩展问题?
  • 2. 你是否喜欢思考如何使得复杂且规模庞大的系统拥有更高可靠性?
  • 3. 你对于一个作为软件开发者,但开发的软件从不会被外部用户看到这件事是否介意?
  • 4. 你是否享受花费大量时间在 terminal 上工作?
  • 5. 你是否享受和诊断问题的过程?如果是,假如在诊断过程中,一直无法找到系统层面的问题,你该怎么办?
  • 6. 你是否享受研究系统信息 (disk,CPU,OS,CPU 等) 以及系统级别的工具函数 (ssh,proc,cron,swaps 等)?
  • 7. 你对于 On-Call 这个事情是否介意,在 On-Call 时,你可能需要随时来处理比较高风险问题。
  • 8. 你能在压力下保持冷静吗?
  • 9. 你是否以逻辑、流程导向的方式处理问题?
  • 10. 你愿意尝试一个从未解决过的问题吗?
  • 11. 你是一个思考如何让事情变得更好的人吗?

5. 你为 SRE 的面试做好准备了吗

这里有一些 SRE 面试问题和准备指南,假如你正在准备 SRE 相关面试,这篇文章可能会帮助到你。

sre 面试问题https://www.interviewhelp.io/blog/s

[转帖]Google SRE 薪水,看看同样作为 SRE 的你相差多少的更多相关文章

  1. [转帖]Google Chrome 解决 “您的连接不是私密连接”

    Google Chrome 解决 “您的连接不是私密连接” 和被毒霸劫持 自己搭建了 k8s的 dashboard 结果 chrome 最新版本的打不开了.. 百度了下 园友的解决方案很完美 这里面转 ...

  2. SRE之道:创造软件系统来维护系统运行

    引言:本文作者Ben Treynor Sloss,Google 运维团队的高级副总裁,SRE 名称的发明者,在这里提供了他对SRE 的定义.  本文选自<SRE:Google运维解密>. ...

  3. [转]The Production Environment at Google (part 2)

    How the production environment at Google fits together for networking, monitoring and finishing with ...

  4. [转]The Production Environment at Google

    A brief tour of some of the important components of a Google Datacenter.   A photo of the interior o ...

  5. Software Engineering at Google

    Google的Fergus Henderson在Software Engineering at Google中介绍了Google的软件工程实践. 软件开发 源码仓库 单一源代码仓库,除了核心配置和安全 ...

  6. SRE思想

    1 规模效应 业务越庞大,服务器就越多,服务越多,就越需要拆分成分布式架构.架构越复杂,对运维的能力要求就越高.出错的概率就越大,运维的工作量就越大.因此就要更多开发提升效率的工具. 而在小企业,业务 ...

  7. DevOps运动的缘起 将DevOps想象为一种编程语言里面的一个接口,而SRE类实现了这个接口

     SRE vs DevOps:是敌是友? - DockOne.io http://www.dockone.io/article/5935   RE vs DevOps:是敌是友? [编者的话]网站可靠 ...

  8. 谷歌的SRE和开发是如何合作的

    本文是一篇比较有价值的.介绍SRE的文章.国内的所谓SRE职责其实并不明确,大部分其实还是干普通运维的事.但文中介绍的谷歌的运作方式起点还是相对比较高的,无论对SRE.对开发,甚至对公司都有很高的要求 ...

  9. Uber SRE 实践:运维大型分布式系统的一些心得

    本文是 Uber 的工程师 Gergely Orosz 的文章,原文地址在:https://blog.pragmaticengineer.com/operating-a-high-scale-dist ...

  10. CI Weekly #5 | 微服务架构下的持续部署与交付

    CI Weekly 围绕『 软件工程效率提升』 进行一系列技术内容分享,包括国内外持续集成.持续交付,持续部署.自动化测试. DevOps 等实践教程.工具与资源,以及一些工程师文化相关的程序员 Ti ...

随机推荐

  1. Python——第二章:查找和判断

    查找.find() s = "你好啊. 我叫周润发" ret = s.find("周润发") # 返回是7,代表该字符串出现在7号位置,从0开始计数 print ...

  2. DevOps常用工具全家桶,实现高效运维和交付

    DevOps常用工具全家桶,实现高效运维和交付 1.DevOps发展 DevOps发展背景: 随着互联网技术的快速发展,软件开发和运维的挑战也日益增加.传统的软件开发和运维模式往往存在分离.效率低下. ...

  3. JavaImprove--Lesson03--String的工具类,Math,Runtime,BigDecimal,Date

    一String的工具类 String的作为字符串对象,也是使用最多的数据类型对象 所以难免有很多操作,字符串的常见操作包括:字符串拼接,字符串反转,字符串长度,字符串转换等 直接使用String类型来 ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (127)-- 算法导论11.2 2题

    二.用go语言,位向量(bit vector)是一个仅包含0和1的数组.长度为m的位向量所占空间要比包含m个指针的数组少得多.请说明如何用一个位向量来表示一个包含不同元素(无卫星数据)的动态集合.字典 ...

  5. 赶在520之前,程序员如何用Python送上最特别的“我爱你”表白

    摘要:每到情人节.七夕节,不少小伙伴大伙伴们都会遇到这样一个世纪问题--怎么给女朋友/老婆一个与众不同的节日惊喜.今天给大家分享一个独特的表白方法--用"我爱你"拼出心爱人的模样! ...

  6. 一文带你了解Web前端发展历程

    摘要:自互联网行业发展以来,web前端不断发展变化着.在前人的基础上,后人有幸能够站在前人的肩膀上行走.前端的发展变化不仅是继承式的迭代,同时也是不断的变革和创造. 一.前端到底是个什么? 简单点说, ...

  7. 华为云GaussDB(for openGauss)推出重磅内核新特性

    摘要:华为云新一代金融级分布式数据库GaussDB(for openGauss)正式推出了Ustore存储引擎.基于Paxos协议的DCF高可用组件等多个重大内核新特性. 数字化时代,技术迭代更新比以 ...

  8. OpenHarmony移植:XTS子系统之应用兼容性测试套件

    摘要:本文通过实例分析下ACTS应用兼容性测试套件移植案例,以及移植过程中特定的操作的原理. 本文分享自华为云社区<移植案例与原理 - XTS子系统之应用兼容性测试套件>,作者:zhush ...

  9. 火山引擎A/B测试在消费行业的案例实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台举办了"走进火山-全链路增长:数据飞轮转动消费新生力"的活动,其中火山引 ...

  10. 限时促销,火山引擎 ByteHouse 为企业带来一波数智升级福利!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 面对庞杂的海量数据,稳定高速的实时数据处理能力,成为了当下企业数智升级过程中备受关注的点. ByteHouse 是 ...