Project management 让暂存服务器与生产服务器相同的主要目的和意义是什么?

Project management 让暂存服务器与生产服务器相同的主要目的和意义是什么?,project-management,projects-and-solutions,staging,Project Management,Projects And Solutions,Staging,在我们公司,我们有暂存和生产服务器。在最新版本发布后,我试图让它们处于1:1状态。我们已经在多个主机和多个实例上运行了web应用程序 问题是,我主张在暂存服务器和生产服务器上使用相同的web应用程序架构(结构),以便轻松测试新功能,避免在新版本中产生新的bug 但并不是每个人都同意我的观点,对他们来说,在登台应用程序实例之间有不同的连接并不是什么大不了的事。甚至可能在登台上比在生产服务器上有更多的应用程序和应用程序之间的连接 我想问一下这种方法的利弊?我的意思是一些好的观点同意我,或者一些不好的

在我们公司,我们有暂存和生产服务器。在最新版本发布后,我试图让它们处于1:1状态。我们已经在多个主机和多个实例上运行了web应用程序

问题是,我主张在暂存服务器和生产服务器上使用相同的web应用程序架构(结构),以便轻松测试新功能,避免在新版本中产生新的bug

但并不是每个人都同意我的观点,对他们来说,在登台应用程序实例之间有不同的连接并不是什么大不了的事。甚至可能在登台上比在生产服务器上有更多的应用程序和应用程序之间的连接


我想问一下这种方法的利弊?我的意思是一些好的观点同意我,或者一些不好的原因,也许我没有权利。一些后果示例等等。

如果您的暂存服务器与生产服务器有很大不同,那么在暂存服务器上成功的部署和测试并不能告诉您当您最终部署到生产服务器时,世界是否会崩溃


我看不出你的同事喜欢的混乱局面有什么真正的好处,来弥补这个明显的缺点。他们声称,让登台服务器的配置与生产服务器的配置完全不同步会带来什么好处

登台就像是部署的彩排。如果你没有穿和晚上穿的衣服一样的衣服,你怎么知道它会合身,或者你不会被那些危险的东西绊倒

更正式地说,您可以尝试使登台环境尽可能靠近生产环境,以最大限度地减少可能导致或隐藏部署中问题的差异。请注意,我说的是“尽可能接近”,因为不可能总是有相同型号的磁盘或相同的网络互连,但您可以在现有资源范围内尽量减少这些事情。

我也会采用“尽可能接近”的方法,正如托姆利建议的那样。。。这主要是由于成本因素。如果它是一个包含5台服务器的服务器场,我永远不会建议登台仅为1台独立服务器。这在涉及网络层的场景中也有帮助。如果存在由于任何原因(如安全性!)而影响网络连接的修补程序,则单个机箱暂存服务器可能无法反映修补程序的“真正影响”。

Martin Fowler谈到拥有可以从一个环境切换到另一个环境的相同环境,因此您的暂存环境在测试后成为您的生产环境。他说:

自动化部署的挑战之一是切换本身,将软件从测试的最后阶段带到现场生产。您通常需要快速执行此操作,以最大限度地减少停机时间。蓝绿部署方法通过确保您有两个尽可能相同的生产环境来实现这一点。在任何时候,其中一个,比如说蓝色,是活的。当您准备新版本的软件时,您将在绿色环境中进行最后阶段的测试。一旦软件在绿色环境中工作,您就切换路由器,以便所有传入的请求都进入绿色环境-蓝色的请求现在处于空闲状态


我认为,像这样的方法将是一个伟大的选择,以取代目前看似混乱的环境。祝你的团队好运

他们抱怨,因为一个应用程序的部署会影响其他实例的访问。我的建议是,不仅要对暂存环境进行改进,还要对生产进行改进,并修复暂存结构,使配置为1:1。这是可以做到的。代价只是时间总是很短。如果你没有时间以正确的方式(如你所建议的)做事,你将没有更多的时间来修复因做事马虎而发生的灾难(如他们所建议的)。他们的方法,不应该抄近路,招致技术债务,这可能会导致你破产,见。