转自知乎-SRE和运维的区别是什么?
转自知乎云叔的回答:https://www.zhihu.com/question/58721069/answer/2574790381
它们在许多组织中实际上是相同的,这两个角色都需要软件工程和系统管理技能的合并。作为运维或SRE工程师,工作包括
1)使软件在负载下更好地运行
2)自动完成工作中无聊的部分。
当然,在每个组织中,情况都略有不同,Facebook的运维可能比Dropbox的SRE更专注于保持基础设施的运行,Dropbox的SRE可能会专注于修改服务器代码以使其更容易扩展
SRE不仅需要运维,同时需要架构能力以及项目管理能力,在大厂叫SRE运维工程师,小单位就是架构师。
实际上SRE不止于运维,确实部分公司的SRE岗位工作内容与传统的运维或者系统工程师相近,但主流或者说未来的SRE是一个技能综合性岗位,不仅需要运维能力,也需要软件工程能力、技术架构能力、编码能力、以及项目管理与团队协作能力。
不懂业务的SRE是不合格的SRE,SRE要参与的技术与运维架构的优化与未来规划,同时也要协同业务团队完成故障排查,疑难杂症的处理,这些工作没有对业务的理解是无法很好的完成的(甚至无法完成)。
SRE需要的技能树
操作系统Linux、Bash、Powershell
一个Web服务器 - Apache/Nginx
应用程序服务器 -App Server
One Database - MySQL/PostgreSQL
一种编程语言 - Python/Go/Ruby
源代码管理 - Git/SVN
CI 系统 : Jenkins/GO/Circle
CD : Fabric/Capistrano
CM : Ansible/Chef/Puppet
Docker 和 Kubernetes
SRE核心职能
SRE 通过以下方式做到这一点:
容量规划。
自动化和流程,减少错误的影响。
有原则的监测,以改善MTTD /MTTR(平均检测/恢复时间)。
修改软件设计以减轻堆栈其他部分的故障。