一、Dev 、 Ops 和 DevOps
Dev研发人员负责实现代码,然后扔给 Ops运维;
Ops运维人员负责将研发扔过来的代码部署到生产环境,并持续正常运行;
Ops 很少理解 Dev 的代码实现,
而 Dev 也不能够理解 Ops 的运营实践;
Dev 更关注的是新功能的代码尽快发布,
但 Ops 更关注生产环境的稳定性,并不希望发布那么快,
这是因为更少的发布可以让生产环境的稳定性不容易受破坏;
这个差异导致 Dev 和 Ops 之间常常难以避免产生冲突与争执。
DevOps 的出现,
就是为了打破 Dev研发人员 和 Ops运维人员 之间的隔阂,
它代表了一系列的敏捷实践和文化。
二、DevOps 五个关键领域
1、消除组织壁垒,
增强合作,增强产出
2、失败是正常的
接受系统的不完美,无责备复盘
3、渐进式变更
金丝雀灰度发布,从而更容易回滚
4、工具和自动化
充分利用工具和自动化
5、衡量一切
建立度量标准,衡量一切,衡量琐事,衡量可靠性和健康度
三、SRE 是 DevOps 的实现类
如果把 DevOps 作为一种哲学,
那么 SRE 就是实现这种理念的具体方式;
如果把 DevOps 看成一个编程接口,
SRE 就是一个具体的类,
即: Class SRE implement DevOps
DevOps 希望能一劳永逸地解决问题,
SRE 精通如何构建和运营可靠的服务,
他们并不是竞争关系,而是合作伙伴。