1、在运维的过程中,追求100%的可靠性是非常昂贵的,并且实现的技术也是非常复杂,大部分业务是没有必要的。所以有了错误预算的概念,运维工作必须将在规定的期限内将错误预算用完。
2、SRE主要目标是创建高可扩展和高可用的分布式软件系统。
3、SRE 50%的时间做运维工作,另外50%的时间做运维平台的改进,运维工具以及运维自动化,和运维监控告警等工作。
Devops是一组旨在打破IT开发,运营,架构,网络和安全等各部门壁垒的实践,准则和文化。
SRE 是一系列行之有效的实践,有些人认为是SRE使这些实践活跃起来的的一个工作角色。
总结一下就是: SRE 实现 Devops。
1、原则: 运维是一个软件问题,所以SRE要用软件工程的方式去解决运维的问题。
2、服务级别
Service Level Objective(SLO)是一个产品或者服务的可用性目标,一般来说不会是100%
SRE 服务的管理取决于SLO
如果违反了SLO,则需要调查结果
3、减少琐事(Toil): 对于手动,计划的运维操作和可以自动化的操作进行自动化来减少这种琐事。SRE需要有足够的时间来做系统优化的工作来使明天更好。
4、自动化
自动化手动的操作
决定自动化什么以及如何自动化他们
使用工程的方法去解决问题,而不是一遍一遍的辛勤劳动
不要自动化一个错误的流程
SRE 团队有能力来调节他们的工作负载
5、减少失败的成本
后期发现问题解决的成本更高,所以SRE会在前期就尽量避免错误
改善MTTR(Mean Time to Repair)
尽量做小的改动
金丝雀发布
失败是一个改进的机会
6、共享责任人
SRE与产品开发团队分享技能
去除应用开发以及产品运维部门之间的界限
SRE 为开发团队提供运维的智慧