DevOps和SRE解读

DevOps

如下图,从工作流看DevOps是向右的。

1
2
3
4
5
DevOps强调的是端到端的价值交付,一端指的是需求,另一端指的是用户。从需求到交付给用户使用才算一次完整的DevOps迭代。

DevOps并没有强调对交付价值的度量和管理,这与SRE有着显著差异。

虽然交付是由研发自助完成,但是运维和运维开发人员会对其进行支撑。运维开发人员主要是提供自动化的能力,降低交付的门槛,提高交付的效率。而运维人员主要是以专家的形式,提供领域上的指导,设计整个流程。

SRE

如下图,从工作流看SRE是向左的。

1
2
3
4
5
6
7
8
如果说DevOps的工作方式类似KPI,那么SRE的工作方式更像是OKR。
DevOps从需求出发,指定良好规划稳步推进,一个流程一个流程转发,最终上线交付给用户。但SRE不一样,SRE是先有目标,再来考虑应该做出哪些努力,从哪些方面入手以达成目标。

也有一种说法,SRE是DevOps的一种最佳实践。但这是一种概念上的泛化而已,因为他们讨论的对象重合度太高,快速发展的概念总是会有各种解读和扩展。

SRE工作流,首先是运维人员或领域人士制定SLI核心指标,制定指标的目的是为了可以度量。只有业务指标可以度量,业务指标才能够得到管理。接着根据管理者的OKR制定相关的SLO指标目标,应该达到多少。然后研发人员配合SLO目标进行业务的改进。

SRE工作流之后,需要再走一次DevOps的流水线才能发布上线。

总结

1
2
3
DevOps、SRE两种工作流,实际上SRE工作流也需要DevOps工作流的支撑,他们并不是孤立的存在。

另一方面,适用场景、业务阶段也很重要。直接制定一个新业务的SLO并不合适,因为SLI并不好制定和度量,此时应该采用DevOps工作流,稳步迭代上线。
-------------本文结束感谢您的阅读-------------
原创技术分享,感谢您的支持。