减少不一致性——对网络、服务器、软件进行工程标准化配置。这样,即使系统发生故障,故障也会以相似的方式出现。这有利于一次性提升所有系统的质量。
打破分割——分割源于部门主义和权限壁垒。分享你的知识、权力,以及你的痛点。Michael 举例说,如果你决定将 sudo 权限下放给某人,那么当深夜发生故障的时候,他们也应当在场。
承认失败并建立信任——在寻找他人的错误之前。在回顾会议上,每个人以坦诚自己的错误做开场白,更有利于建立信任。
实践很重要——成功的技术和流程来自于反复实践,而非仅仅依靠假设。Michael 在文中分享了一个 PHP 应用的案例,这个应用在开发之前没人看好,但开发出来之后很受技术支持人员的欢迎——令人惊喜的成功。
解决根因,而非症状——深入研究遇到的问题。多问些问题:有关流程,有关技术,或者有关人的。在能减少问题、增加可见性、提高系统可靠性的地方增加自动化。
Michael 将他的经验总结为对其团队 DevOps 文化的介绍:
“我认识到我们一直在做那些事情。现在它有一个名字。DevOps 本来就是用技术解决问题。使用自动化,用数字说话,以及进行深度的协作。”
查看英文原文: Solving Difficult System Problems with a DevOps Culture
感谢杨赛对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论