SRE:Google运维解密
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

系统的稳定性与灵活性

有的时候为了灵活性而牺牲稳定性是有意义的。我在面临一个不熟悉的问题域时,经常进行“探索性编码”—给我写的任何代码设置一个明确的保质期,我清楚地知道自己需要先探索以及失败才能真正理解需要完成的任务。这种带保质期的可以在测试覆盖和发行管理上更宽松,因为它永远不会被发布到生产环境或被用户使用。

对于大多数生产环境软件系统来说,我们想要在稳定性和灵活性上保持平衡。SRE通过创造流程、实践以及工具,来提高软件的可靠性。同时,SRE需要最小化这些工作对于开发人员的灵活性造成的影响。事实上,SRE的经验表明,可靠的流程会提高研发人员的灵活性:快速、可靠的产品发布使得生产系统中的变化显而易见。这样,一旦出现错误,找到和改正错误的时间会更少。在开发过程中引入可靠性可以让开发人员关注那些真正需要关注的事情—软件和系统的功能与性能。