前言

之前分享过DevOps但一直忘记补SRE相关的信息,其实两者本质没有太多区别,都是运维。

  • 按运维阶段划分
    • 人肉运维 -> 脚本运维 -> 平台运维 -> 智能运维
  • 按技术栈来划分
    • 物理机堆硬件 -> x86虚拟化 -> 私有云+公有云 -> 云原生

本文主要记录一些SRE的背景和学习面试资料,方便需要时串起来。


更新历史

2022年08月13日 - 初稿

阅读原文 - https://wsgzao.github.io/post/sre/


SRE简介

SRE 从字面意义来看是 Google 技术VP Ben Treynor Sloss 定义的一个岗位,全名叫 Site Reliability Engineering,翻译过来就是网站可靠性工程(师)。然而在我看来他不仅仅是一份工作,反而是一套服务保障体系。

为什么要有SRE?

为什么会出现SRE这个岗位呢?这就要从大名鼎鼎的 DevOps 说起了,这个是 Google 高级研发总监 Melody Meckfessel 在2017年提出的理论体系,这套体系是通过构建一些列 DevOps 工具链和标准把研发过程中的各个角色高效整合在一起,高效的产出稳定的交付结果。这个体系打破了研发与运维的边界,使研发期望的构建更多特性而运维期望的不要引入太多的不稳定性的目标合二为一。

DevOps 解决了高效生产稳定服务的流程,使服务的生产迭代周期进一步的缩短。但是随着各个服务的搭建,越来越多的服务都在持续演进着,然而运维维护服务的工作也就越来越多,线上的不稳定状态也就越来越多。那么如何解决这个问题呢?是由开发人员时刻关注着自己的服务么?那整体架构的稳定性又如何保证呢?

由此就产生了 SRE。SRE 的职责就是负责整体站点(服务)的稳定性。然而保证稳定性一定不是在出现问题是解决问题,而是体系化的方式观测与避免问题。这就是我所理解的 SRE 体系。

https://sre.google/
https://www.googblogs.com/sre-vs-devops-competing-standards-or-close-friends/
https://sre.google/sre-book/table-of-contents/
https://linkedin.github.io/school-of-sre/

DevOps Roadmap

关于DevOps Roadmap之前也分享过,保持终身学习的态度吧

https://roadmap.sh/
https://roadmap.sh/devops

Agile and Scrum

Agile Product Ownership in a nutshell
https://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell

Introduction to Scrum - 7 Minutes
https://www.youtube.com/watch?v=9TycLR0TqFA

凤凰项目 - The Phoenix Project
https://m.douban.com/book/subject/26644070/

Network TCP/IP and OSI

https://community.fs.com/blog/tcpip-vs-osi-whats-the-difference-between-the-two-models.html

http://www.52im.net/thread-180-1-1.html

https://zqlxtt.cn/2020/09/23/tcpip-overview/



System Design

The System Design Primer
https://github.com/donnemartin/system-design-primer

What happens when you type google.com into your browser’s address box and press enter?
https://github.com/alex/what-happens-when
https://4ark.me/post/b6c7c0a2.html

Coding

LeetCode
https://leetcode.com/
https://leetcode.com/discuss/interview-question

LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
https://leetcode.cn/
https://github.com/doocs/leetcode

labuladong算法小抄
https://github.com/labuladong/fucking-algorithm

代码随想录
https://www.programmercarl.com/

小浩算法
https://github.com/geekxh/hello-algorithm

八股文

什么是八股文?八股文不是死东西,八股文本应该指计算机基础知识,考验的是面试者基础能力、广度以及深度,大厂面试不会很重视死八股,往往是很灵活的分析。

计算机网络常见知识点&面试题
https://javaguide.cn/cs-basics/network/other-network-questions.html

操作系统常见面试题总结
https://javaguide.cn/cs-basics/operating-system/operating-system-basic-questions-01.html

Linux 基础知识总结
https://javaguide.cn/cs-basics/operating-system/linux-intro.html

职级和薪资范围评估

https://www.levels.fyi/

文章目录
  1. 1. 前言
  2. 2. 更新历史
  3. 3. SRE简介
  4. 4. 为什么要有SRE?
  5. 5. DevOps Roadmap
  6. 6. Agile and Scrum
  7. 7. Network TCP/IP and OSI
  8. 8. System Design
  9. 9. Coding
  10. 10. 八股文
  11. 11. 职级和薪资范围评估