实现DevOps与向左迁移:挑战与机遇
1. 实现DevOps的关键策略
1.1 专注可靠性的团队
大多数公司认为软件的可靠性比添加新功能更为重要,但围绕这一重要指标的公开讨论却很少。当应用变得不可靠时,恢复起来非常困难。因此,SRE(Site Reliability Engineering)团队专注于改进系统的设计和操作,以提高其可扩展性、可靠性和效率。SRE运动围绕为每个服务设定明确的SLA(Service Level Agreement)展开,将可靠性作为基于可用性的预算来设定和执行。
1.2 使用错误预算来控制发布
变更会引入风险,开发团队的每一次变更都可能导致尴尬且昂贵的停机事件。运营团队会采取风险缓解措施,如零缺陷会议、CAB审查、发布审查和变更审查委员会等,这会减缓或限制变更。开发团队则会采取一些绕过这些障碍的策略,如“暗发布”、功能标志/金丝雀发布、“实验”和“小常规”变更等。
谷歌认识到开发团队和运营团队之间存在激励冲突,以及业务在其中的影响。使用错误预算可以解决开发和SRE之间的激励结构冲突,SRE的目标不再是“零停机”,而是与产品开发人员一起利用错误预算来实现最大的功能发布速度。
1.3 数字和指标的重要性
在软件开发中,没有一致且公认的方式来描述系统的正常运行时间和可用性,就很难进行富有成效的对话。SRE确保每个人都同意如何衡量可用性,以及当可用性不符合规范时该怎么做。
1.4 开发团队分担生产支持的痛苦
在谷歌,SRE和开发团队有一个共同的人员池。当运营工作量超过限制时,多余的工作会流向开发团队,并且至少5%的生产支持由
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



