焦点
SRE工程师、DevOps工程师(SRE)、系统可靠性工程师、运维工程师(SRE)、基础设施工程师(SRE)、站点运维工程师、生产环境工程师(SRE)、平台工程师(SRE)、站点可用性工程师、可靠性工程师
在DevOps诞生之前,谷歌曾面临一个难题却束手无策。当时该公司运营着大型网站,但需要进一步优化并扩大其规模。他们的解决方案是什么?谷歌指派了一支软件工程师团队来攻克这一难题,而他们的努力奠定了站点可靠性工程(SRE)的基础。如今,这家软件巨头将SRE定义为“当你将运维问题视为软件问题时所获得的成果”。
SRE实践成效显著,被其他大型企业广泛采用,并随着时间的推移不断完善和扩展,最终形成了一个职业领域。该领域与当今的DevOps有许多共同点,但也有一些重要的区别。虽然两者都处于开发与运维之间,但SRE更侧重于自动化。事实上,谷歌曾将工程师的宗旨描述为“通过自动化让自己失业”。
不同组织对 SRE 的实践方式各异,有时也会将其称为生产工程或基础设施工程。 无论名称如何,归根结底,工程师的职责是作为团队一员,持续致力于提升网站可靠性,运用事件管理关键绩效指标(KPI),编写代码,构建服务,并实现手动流程的自动化。由于网站全天候运行,SRE 通常需要轮值待命,以便在需要时随时响应。
主动型人工智能工具能够自动化持续集成/持续交付(CI/CD)管道,并实时监控系统。如今,DevOps 专业人员将更多精力投入到可靠性策略、事件响应以及协调基于人工智能的工作流上。人为监督和系统思维依然至关重要。
- 从全局角度把握项目
- 在团队之间发挥关键的桥梁作用
- 优化流程,助力提升企业利润
- 丰厚的经济补偿
工作时间表
SRE 是一个薪酬优厚的职业领域,因此请做好准备:要想获得这些薪资,就必须投入全职工作时间!正如 ParkMyCloud 所解释的,站点可靠性本质上等同于业务可用性。换句话说,站点可靠性工程师的职责就是将代价高昂的停机时间降至最低。这可能意味着需要在非工作时间加班,或者保持待命状态以快速响应问题。
主要职责
- 开发或改进与运营和支持相关的软件
- 流程优化与自动化
- 确保发布工程的一致性实践
- 处理并减少支持升级
- 记录并整理新学到的信息以便日后查阅,例如通过编写操作手册。防止知识“孤岛化”或囤积可共享的知识
- 故障排除
- 开展事件复盘(也称为事后分析、回顾或根本原因分析),以查明问题发生的原因,同时避免归咎于人
其他职责
- 负责值班,处理故障排查及其他事件响应事宜
- 确保遵守组织规程
- 在软件开发生命周期中创建待办事项清单,以解决问题并防范未来出现类似问题
软技能
- 具备促进团队间协作的能力
- 分析性问题解决
- 注重细节
- 客户服务
- 共情
- 灵活性
- 目标导向
- 条理清晰;时间管理能力强
- 善于探究且充满好奇心
- 领导力和管理能力
- 客观性
- 以流程为导向
- 质量保证理念
- 出色的沟通能力
技术技能
SRE 必须具备以下相关领域的多项技能:
- 构建自动化工具
- 构建配置语言
- 编译器
- 数据库
- 分布式系统设计
- 与系统管理、开发、配置管理、集成测试相关的领域知识
- 源代码管理概述
- 安装人员
- 社交
- 操作系统
- 包管理器
- 安全
- 软件工程
- 计算机系统设计公司
- 企业/公司
- 政府/军事机构
- 医疗保健
- 高等教育机构
- 媒体与娱乐
如果一家组织拥有的网站重要到需要配备站点可靠性工程师(SRE),那么人们对该职位的期望自然会很高。据Netguru称,聘请SRE的四大主要原因包括:最大限度地减少停机时间、预判并降低风险、加快开发速度,以及通过这些措施和其他已实施的流程来节省成本。 显然,站点可靠性工程师的工作量十分繁重,在努力应对工作压力的同时,他们还必须紧跟IT领域的技术变革。
一旦出现问题,工作时间往往会大幅延长,更不用说轮班值守的情况了……这意味着即使你下班了,从技术上讲你仍然在岗。事件响应时间可能很短,而各家企业在补偿加班工作方面也有所不同。有些公司可能会给予带薪休假,有些可能会支付额外报酬,还有些可能只会说一声“非常感谢”而别无他物。
对于许多处于成长阶段的企业而言,SRE 仍是一个相对较新的概念。因此,当前的一个趋势是,企业仍在摸索如何最好地管理这一领域。推动站点可靠性工程(SRE)发展的主要因素是事件处理,这表明企业已经厌倦了忙于救火,希望能够更好地掌控局面。
当然,这种转变虽然减轻了管理层的压力,却将压力转嫁给了 SRE 团队。反过来,这又要求雇主想方设法维护这些承受压力的员工的身心健康,以确保团队能够保持最高效率。虽然不同公司在这一点上的表现各异,但大趋势是:企业开始认识到,照顾好那些为业务奔波的忙碌员工,本身就是一种有价值的投资!
“站点可靠性工程师”(SRE)这个名称,为我们提供了关于该领域从业者特质的几条线索。他们热衷于网站开发,这种兴趣大多在SRE们年轻时就已萌芽。他们负责确保网站“可靠”,这意味着一切功能都应在恰当的时间按预期运行。因此,从业者自身也应具备可靠性,而这种特质往往也是在早年间磨练出来的。
这类人通常守时且有条不紊,学业表现往往也十分出色。事实上,成为任何类型的工程师通常都需要具备扎实的学术能力,尤其是数学和科学方面的能力,这自不待言。不过,这个领域的一个有趣之处在于,其中涉及的软技能非常多。
一名SRE需要善于与人打交道,能够自如地与团队协作,并能促进团队之间的合作。 因此,他们可能曾在学校担任过领导职务,或者仅仅是因为家里兄弟姐妹众多,早已习惯应对复杂的人际关系!SRE是效率专家,经过专业训练,能够通过研究问题并基于调研结果制定解决方案,从而不断优化工作流程。这需要兼具创造力和分析力的思维方式,仿佛大脑的左右半球正在协同运作。因此,许多SRE可能都是左右开弓,或者擅长演奏乐器。
- 站点可靠性工程师需具备学士学位,计算机科学或相关专业者优先
- 成为一名SRE并没有固定的途径。有些人是通过实习入行的;有些人则可能参加速成培训,随后在从事其他IT工作的同时提升技能,并自行钻研其他技能。
- 丰富的从业经验是大多数雇主的关键要求(许多SRE从业者最初从事DevOps、系统管理员、开发人员或软件工程师等工作)
- 旨在帮助学员熟悉 Java、Python、Ruby 或 C++,以及 Linux、Kubernetes 和 MySQL 的课程
- 旨在培养英语、写作、口语、团队合作及领导力等软技能的课程
- 可选认证包括:
- 美国质量协会可靠性工程师认证
- DevOps Institute 的 SRE 基础认证
- CompTIA 的 Linux+ 认证
- 通过以下课程进行自主学习:
- edX - DevOps 与站点可靠性工程入门
- Lynda(来自 LinkedIn)—— DevOps 基础:站点可靠性工程
- Udemy - 可靠性工程入门
- Coursera - 站点可靠性工程:可靠性测量与管理
- 请注意,Pluralsight 也提供同一门课程
- 要成为一名优秀的站点可靠性工程师,你需要掌握的大部分知识其实都是在大学课程之外学到的!
- 最好选择开设上述领域课程的项目
- 阅读教师简介,了解他们的专业领域和背景
- 有哪些学生社团和组织?许多软技能和技术技能最有效的学习方式,就是通过充分的同龄人互动
- 确保该学校已获得认证
- 寻找那些公布毕业生就业数据且拥有良好往绩的项目
- 权衡报名参加在线课程的利弊。校园内的互动对培养软技能大有裨益,因此混合式课程有时会更有利
- 如前所述,成为一名SRE并没有唯一的途径,因此不妨规划几条不同的路径
- 查看你心仪公司的招聘信息。留意职位对工作经验和学历的要求,然后据此规划一条通往该职位的职业发展路径
- 在高中阶段,应尽可能多选修IT选修课,以此打下坚实的基础
- 尽可能多地进行实践操作练习!选修与上文“教育与培训”部分相关的内容
- 别忘了练习写作。技术写作固然重要,但你还需要把复杂的主题转化为通俗易懂的语言。
- SRE 需要具备良好的团队合作能力和领导才能。这些往往是容易被忽视的素质,但未来人们会期望你具备这些能力,因此请尽早寻找方法来培养它们
- 没有什么比拥有一位经验丰富的导师更重要的了,所以不妨向校友或教师寻求建议
- 教导他人。教学能为双方带来新的学习体验
- 阅读并参与 Quora、Reddit、Dev.to 等网站上的讨论
- 当你的技能足够娴熟时,不妨在Upwork上积累一些有偿工作经验
- 在Indeed上寻找实习机会,或者咨询你的大学项目是否有相关机会
- 在IT相关社团中担任领导角色,建立广泛的人脉网络!
- 快告诉大家!如今,大多数工作机会都是通过人脉关系获得的
- 参加TripleByte 的 DevOps 筛选测试。如果通过测试,您将有机会与他们合作网络中的雇主进行面试。
- 请在Indeed、Monster、USAJobs、ZipRecruiter、LinkedIn和Glassdoor上查找职位空缺
- 了解雇主看重什么!Usenix 提供了一份可下载的 PDF 文档,其中列出了招聘 SRE 的内行建议
- 有些雇主会内部培养其SRE,因此你或许可以先从某个岗位做起,但同时制定计划,在公司内部逐步晋升
- 找一份实习工作。虽然报酬未必丰厚,但这能帮你打开职场大门,并可能为你带来全职工作机会。
- 关于招聘会的实际效用,目前尚无定论,但行业专场招聘会确实能让你了解有哪些就业机会,并提供与从业者交流的机会
- 请确保你的简历准备妥当。Job Hero 提供了一些非常棒的站点可靠性工程师简历模板,你可以从中汲取灵感。
- 请一位专业的简历撰写人(或编辑)来润色你的简历,使其达到最佳效果。但请记住,每份简历都要根据你应聘的具体职位进行量身定制。
- 深入研究 GitHub 庞大的资源和面试题库!
- 这很大程度上取决于企业的规模。有些公司倾向于内部提拔,而有些公司则可能更倾向于外部招聘。关于晋升机会的讨论,应尽早与你的直属上级进行
- 要主动出击。不断进修,参加培训课程,持续学习。每当出现新的技术趋势时,就要尽可能多地了解它,并成为该领域的专家。
- 展现对公司的忠诚,成为值得信赖、不可或缺的宝贵人才,从而获得更多职责。通过言行表明你已做好晋升的准备
- 请时刻牢记软技能。即使技术能力再强的员工,如果与他人相处不融洽,也很难获得晋升。
- 展现领导风范。彰显你的专业能力与领导潜质。一名 SRE 必须能够以协作但果断(必要时果决)的方式指导他人
- 证明你是值得信赖的。要守时,如果处于待命状态,请迅速响应事件,认真完成工作,并设法避免今后出现类似问题。
站点可靠性工程(SRE)是一个充满挑战且责任重大的职业领域。然而,踏入这一领域的道路并不总是那么一帆风顺。许多人最初是从其他领域起步的,有时最终也会留在那些领域。以下是一些“备选方案”的职业选择:
- 后端开发工程师
- 计算机与信息系统经理
- 计算机程序员
- 计算机支持专员
- 计算机系统分析师
- 数据库管理员
- DevOps
- 前端开发工程师
- 全栈开发工程师
- 信息安全分析师
新闻动态
精选职位
在线课程与工具
预期年薪
新员工的起薪约为8万美元。年薪中位数为10.1万美元。经验丰富的员工年薪可达13.2万美元左右。
预期年薪
新员工的起薪约为10.8万美元。年薪中位数为16.4万美元。经验丰富的员工年薪可达21.1万美元左右。
预期年薪
新员工的起薪约为8.5万美元。年薪中位数为11.1万美元。经验丰富的员工年薪可达14.6万美元左右。
预期年薪
新员工的起薪约为8.2万美元。年薪中位数为11.1万美元。经验丰富的员工年薪可达14.3万美元左右。
预期年薪
新员工的起薪约为7.5万美元。年薪中位数为9.8万美元。经验丰富的员工年薪可达13.3万美元左右。