站点可靠性工程师 (SRE) 处于软件工程和系统工程的交叉点。虽然基础设施和软件组件如何组合在一起以实现目标的方式可能存在无限的排列和组合,但专注于基础技能使 SRE 能够使用复杂的系统和软件,无论这些系统是否是专有的、第三方的、开放的系统、在云/本地基础设施上运行等。特别是,深入了解系统和基础设施的这些领域如何相互关联和交互非常重要。软件和系统工程技能的结合很少见,通常是随着时间的推移,接触各种基础设施、系统和软件而建立的。
SRE 引入工程实践来保持网站正常运行。每个分布式系统都是许多组件的聚合。 SRE 验证业务需求,将其转换为构成分布式系统的每个组件的 SLA,监控和衡量对 SLA 的遵守情况,重新架构或扩展以减轻或避免 SLA 违规,将这些知识添加为新系统或项目的反馈从而减少操作劳累。因此,SRE 从系统设计的第 0 天起就发挥着至关重要的作用。
2019 年初,我们开始走访印度各地的校园,招募最优秀、最聪明的人才,以确保每个人都能随时使用 LinkedIn 及其复杂技术堆栈的所有服务。 LinkedIn 的这一关键职能属于站点工程团队和站点可靠性工程师 (SRE) 的职责范围,他们是专门研究可靠性的软件工程师。
当我们继续这一旅程时,我们开始从这些校园收到很多问题,关于站点可靠性工程角色到底需要什么?而且,如何学习成为一名成功的站点可靠性工程师所需的技能和学科?几个月后,其中一些校园学生以实习生或全职工程师的身份加入 LinkedIn,成为站点工程团队的一员;我们还有一些横向员工加入了我们的组织,他们不是来自传统的 SRE 背景。就在那时,我们中的一些人聚在一起,开始思考如何将新毕业的工程师加入现场工程团队。
指导新手 SRE 必须掌握的基本技能的资源很少。由于缺乏这些资源,我们认为个人很难获得该行业的空缺职位。我们创建了 SRE 学院,作为任何想要发展 SRE 职业生涯的人的起点。在本课程中,我们专注于培养强大的基础技能。本课程的结构旨在提供更多现实生活中的示例,以及学习每个主题如何在 SRE 的日常工作职责中发挥重要作用。目前,我们的SRE学院正在涵盖以下主题:
101级
102级
我们相信持续学习将有助于获得更深入的知识和能力,以扩展您的技能组合,每个模块都添加了参考资料,可以作为进一步学习的指南。我们希望通过学习这些模块,我们应该能够培养站点可靠性工程师所需的基本技能。
在 LinkedIn,我们使用此课程来引导我们的非传统员工和新大学毕业生担任 SRE 角色。我们与新员工进行了多轮成功的入职体验,该课程帮助他们在很短的时间内提高了工作效率。这促使我们开源内容,以帮助其他组织帮助新工程师入职,并为有抱负的个人进入该职位提供指导。我们意识到我们创建的初始内容只是一个起点,我们希望社区能够在完善和扩展内容的过程中提供帮助。查看贡献指南以开始使用。