How much should the staging environment equal the live one?
管理层决定使用带有 IIS7 的 Windows 2008 64 位来为我们的主要网站提供服务。
他们希望将它放在带有 IIS6 的 Windows 2003 服务器上。 [编辑] 是的 32 位是他们计划暂存的 [结束编辑]
我想知道除了安全问题之外我应该提出哪些问题,建议我们应该选择与现场环境中相同的服务器。
我读过这样的好帖子,但我想用几个要点说些什么
staging 和 live 环境应该是一样的,对于任何经验丰富的开发人员来说都很容易理解,我的问题是我试图向似乎已经下定决心的高层管理人员解释这一点......
[编辑]
@卢克:
它基本上是一个经常更新的网站,在部署到实时环境之前,整个网站都将进行上演、测试。
该网站将交由营销部门(非开发人员)负责,并让他们在部署之前验证该网站没有问题。
[编辑]
代码为 ASP.NET,用于 3 个重要的客户订购页面。
谢谢,
里克
我希望这不是您用来测试 64 位 Windows 2008 生产服务器功能的 32 位 Windows 2003 临时服务器,否则您将陷入痛苦的世界。
登台服务器应尽可能等同于生产服务器,因为您使用它的目的是回答"此软件在生产环境中工作吗?"这个问题。在实际Promise将其加载到生产环境之前。
回答"此软件是否可以在与我们的生产服务器几乎完全不同的服务器上运行?"没有用,实际上您所做的只是致力于在另一个环境中测试和调试软件,但在您不会实际使用的环境中。它的工作量更大,最终您仍然不知道它是否适用于您的生产环境,这就是首先拥有一个登台服务器的全部意义所在。
staging 环境匹配的越多,测试中发现的问题就越多。如果你只有一个糟糕的匹配,就像你在这里一样,这限制了可能被发现的错误类型。例如,假设与 2008 64 位和网站的某些组件不兼容?在您上线之前,您不会找到它。这可能为时已晚。
一般规则是,您只能验证使用舞台和现场之间公共子系统的更改。如果您只是验证 HTML 副本更改,并且可以保证只有 HTML 从阶段滚动到现场,那么您可能会对网站将在现场正常运行充满信心。
舞台和现场之间的差异如此之大,以至于您无法验证任何编码或 IIS 配置更改。这将是"推动和祈祷"的生活。
也许你应该问问他们他们认为暂存环境是什么。向他们解释,暂存环境的全部意义在于尽可能模仿生产环境。说明如果暂存环境要大不相同,您还不如没有它。然后,如果您没有它,您的生产站点将用于测试。告诉他们这真的没什么大不了的,只是该网站会崩溃几次,并且由于缺乏适当的登台,在您修复所有问题之前可能会出现一些重大的安全漏洞。我相信他们会理解的。
从风险和金钱的angular向企业解释。
- 您的站点在生产部署时遇到问题的风险是众所周知的,而且并非微不足道。
- 由于不可预见的问题,您的网站停机的成本非常高。
- 您的支持人员和开发人员每次在生产中遇到问题时都需要花费大量时间,因为您的暂存环境没有回答正确的问题("我的软件可以在生产中工作吗?"),并且加剧了前者。
- 深夜和重复部署失败的高压力水平会导致团队不快乐、效率低下,从而导致高得令人无法接受的离职率。
- 通过购买硬件来缓解所有这些问题的成本相对较低,许多知名工程师都将其推荐为最佳实践。
当然,live 和 staging 应该是相同的技术(相同的盒子?)。但是你在这里展示什么,技术还是内容?如果暂存环境主要用于内容,那么您可能会因为两台服务器不同而侥幸成功。但是,如果您正在部署技术,那么您肯定会遇到无法正常工作的问题。我想,如果有钱包的人愿意为此负责,那就去吧……