凤凰服务器
2012年7月10日
有一天,我幻想开始一项针对运维的认证服务。认证评估将由我和一位同事组成,我们带着棒球棒、电锯和水枪出现在公司数据中心,对关键的生产服务器进行破坏。评估将基于运维团队需要多长时间才能使所有应用程序重新启动并运行。
这可能是一个愚蠢的幻想,但这里面蕴含着智慧的 nuggets。虽然你应该放弃棒球棒,但定期虚拟地烧毁你的服务器是一个好主意。服务器应该像凤凰一样,定期地从灰烬中重生。[1]
使用凤凰服务器的主要优势是避免配置漂移:对系统配置进行的未记录的临时更改。漂移是一条通往雪花服务器的街道的名字,没有大型扫雪机,你不会想去那里。
对抗漂移的一种方法是使用自动将服务器与已知基线重新同步的软件。像 Puppet 和 Chef 这样的工具有执行此操作的功能,可以自动重新应用其定义的配置。[2] 限制是,像这样重新应用配置只能发现你定义的工具控制范围内的漂移。在这些区域之外发生的配置漂移不会得到修复。然而,由于凤凰是从头开始的,它们将从源配置中获取任何漂移。
这并不意味着重新应用配置没有用,因为它通常比烧毁服务器更快、破坏性更小。但是,使用这两种策略来对抗雪花服务器是很有价值的。
延伸阅读
Netflix 有一个混沌猴子,它会随机地烧毁服务器,以测试其系统的弹性。