SRE
SRE 全称是 Site Reliability Engineering,即网站稳定性工程师。最早是由 Google 提出,并且在其工程实践中发扬光大。这个团队设立目的是帮助 Google 生产环境服务运行更稳定、健壮、可靠。不同于中小型规模公司,Google服务于十几亿用户服务,短暂服务不可用会带来致命后果。因此 Google 走在了时代最前面,SRE 产生了。
Google的官方对于SRE的介绍:
Keep the site up
– Whatever it takes
– Site unavailable? Our problem, whatever the reason
Work at a Large Scale
– Many services
– Lots of data
– Many machines
– But not so many people (machines:admins > 4000:1)
Balance competing demands
– Improve availability and reachability
– Enhance functionality
– Improve efficiency
– Take on new services (post-launch)
可以看到SRE的 关键词是“高扩展性”和“高可用性”。SRE 职能可以概括为以下:
- 为应用、中间件、基础设施等提供选型、设计、开发、容量规划、调优、故障处理
- 为业务系统提供基于可用性、可扩展性考虑决策,参与业务系统设计和实施
- 定位、处理、管理故障,优化导致故障发生相关部件
- 提高各部件资源利用率
Devops VS SRE
DevOps 和 SRE 都会关心应用生命周期,特别是生命周期里面中变更和故障。 但是 DevOps 工作内容是主要为开发链路服务,一个 DevOps 团队 通常会提供一串工具链包括:开发工具、版本管理工具、CI 持续交付工具、CD 持续发布工具、报警工具、故障处理。 而 SRE 团队则关注更为关注变更、故障、性能、容量相关问题,会涉及具体业务,产出工具链会有:容量测量工具、Logging 日志工具、Tracing 调用链路跟踪工具、Metrics 性能度量工具、监控报警工具等。
最后总结三点:
1.SRE 和Devops都需要较强的运维技能和开发技能。
2.SRE 的首要工作任务是保证 SLA更偏向于运维;而DevOps是开发+运维,更强调开发。
3.SRE 工程师在复杂系统中,可扩展设计、高并发设计、高可用设计以及定位排查复杂问题的能力要由于Devops工程师
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!