副标题:SRE工程师指南
翻译自:https://blog.devops.dev/becoming-sre-2a6ce1807e72
介绍
这里,我们先介绍SRE的基础。在未来的文章中,我将围绕SRE介绍更多的话题。
本篇文章将涉及的主题有:
- 下决心成为SRE
- 什么是SRE?
- SRE到底是做什么的?
- SRE的工具
- SRE VS DevOps VS 平台工程师
- SRE的学习资源
下决心成为SRE
在此,我认为你已经决定要成为一名SRE。但是,你不完全清楚SRE是什么。本文正合你义,它将告诉你SRE应该是什么样的。
在文章的最后,我们还要给出更多的学习,以帮助你成为一个SRE。
SRE是什么?
让我们看看那些大公司是如何定义SRE的:
SRE将运维问题当成软件问题看待。SRE的是任务是保护、提供、改进谷歌产品背后的软件系统,如谷歌搜索、广告、Gmail、Android、YouTube和App Engine等,并时间关注它们的可用性、延迟和容量。
SRE是一个独特的角色,它需要具备系统管理员的背景、具有运维经验的软件开发工程师或者具有开发能力的运维人员。
SRE是IT专家,他们使用自动化工具进行监控和观测生产环境中软件的可靠性。同时,他们在寻找问题方式非常有经验,并能写代码修复问题。他们通常是具有良好的代码能力的前系统管理员或者运维工程师。
SRE使用软件工程自动化完成IT运维的任务。例如:生产环境系统的管理、变更管理、事件响应、甚至应急响应。这些本来是由系统管理手工操作的。
SRE到底是做什么的?
这个问题不怎么好回答,不同的公司的回答不一样(稍后详细介绍)。
主要任务是你希望使用你的技能帮助公司尽可能地实现服务和应用的可靠性。
SRE的通常做的一个常见任务有:
- 定义SLI,SLO(Service Level Objective)——你将与产品团队一起决定衡量什么是重要的,然后创建SLI(错误率、延迟等),接着设置可操作的SLO;
- 事件管理——识别、管理、解决问题以及写事后分析;
- 协作——与开发团队和运维团队协作;
- OnCall—— OnCall是评多运维团队和开发团队的重要职责,以保证他们的服务的可用性和可靠性;
- 监控&可观测性建设——SRE通过日志、指标、调用链追踪,所有的可观测性手段寻找应用程序的异常行为。然后将它们收集到中央存储,以帮助开发者发现问题的原因;
- 性能——即识别所有与规模有关的基础问题。
使用什么工具?
SRE与其它工程(平台、云计算、DevOps工程师)使用的工具非常类似,如下:
- 通常,你至少需要会一门语言(Python和Golang非常常见)
- 一些基础工具:Git,CI/CD
- 容器编排技术(Kubernetes)
- 配置管理(Ansible、Terraform)
- 可观测性工具(Prometheus、Grafana、Jaeger)
你可能需要一个概览,以下是臭名昭著的DevOps路线图:
SRE vs DevOps vs Platform Engineer, 我应该是 ?
如上所述,SRE是做什么的,并不总是容易回答,因为不同的公司区别很大。
让我们先来看看几个SRE的招聘广告
如果你同时寻找平台工程师或DevOps工程师的招聘广告,你会很快发现他们需要几乎相同的技能组合。
SRE 学习资源
至此,你应该知道SRE是什么以及SRE是什么了,以下是一些能帮助你成为SRE的学习资源。
首先推荐的是Google的SRE系列书:
以下是我喜欢的一些资源:
- SRE实现DevOps https://www.youtube.com/watch?v=uTEL8Ff1Zvk&list=PLIivdWyY5sqJrKl7D2u-gmis8h9K66qoj&index=2
- SRE入门 — Stephen Thorne, Googlehttps://www.youtube.com/watch?v=c-w_GYvi0eA
- SRE学校 https://github.com/linkedin/school-of-sre
- Awesome Site Reliability Engineering https://github.com/dastergon/awesome-sre
- How they SRE https://github.com/upgundecha/howtheysre 一些公开的资源集合,介绍了世界各地的SRE工程。
- SRE Checklist https://github.com/bregman-arie/sre-checklist 为团队和个人提供了SRE领域的检查项。
-
Implementing Service Level Objectives (O’Reilly book) https://www.alex-hidalgo.com/the-slo-book
虽然SLO的重要性的流行性不断的提高,但是很少有信息告诉我们该如何实现它。实践建议通常假设你的团队已经有了相应的基础设施、工具和文化。基于SLO的可靠性方式比你想象的要多。这本书旨在帮你一步步实现。这本书既是入门书,也是一本日常参考书。实现SLO以帮助你构建可靠和可信的服务。