将生产环境与其他环境区分开来的良好做法是什么?

ken*_*der 5 development infrastructure

我的主要工作领域是编程,有时我必须在生产服务器上执行一些操作(在部署应用程序或配置某些东西时……)。

所以我的问题是,应该怎么做才能尽可能确定我不会在生产服务器上搞砸我打算在我的机器/测试环境上做的事情?例如,清除一些数据库或删除日志。

我想到的是一些基本的事情,例如:

  • 让生产控制台只打开我在那里完成工作所需的时间,然后关闭它
  • 将生产服务器上的控制台配置为与其他服务器非常不同 - 比如红色背景或类似的东西
  • 有每个命令都需要额外的确认

是否有任何其他规则可以帮助保持理智并且不会弄乱生产服务器?

Ale*_*vic 7

在防止错误和妨碍工作之间总是有一条细线。虽然我是一名敬业的管理员,但我们的组织足够小,因此实施大型企业喜欢必须确保其生产安全的所有额外开销和繁文缛节是不切实际的。

除了您的规则,我们还有以下内容:

  • 永远不要使用相同的凭据进行测试和生产(即登录、数据库),如果您负担不起收紧防火墙的费用,请为常见错误正确设置删除规则,即从实时前端连接到测试后端等。
  • 实施尽可能多的变更管理/版本控制,不仅在应用程序级别,而且在操作系统级别。这里我们使用 cfengine,但还有很多其他选择,即 puppet 或什至自己开发。
  • 自动化所有日常任务,即您不应该定期在生产中手动删除任何内容
  • 保持所有内容的最新文档,在正确记录之前不要考虑完成任务,结合维基和错误跟踪系统。对于配置中的每个更改和每个奇怪之处,都必须有一个“为什么”。我知道这听起来像是一个圣杯,但任何文档总比没有好。