我工作的公司似乎一直在与客户的服务器环境作斗争。
具体来说,我们几乎总是会遇到测试服务器和生产服务器的问题,而且它们似乎总是配置不同。当我们测试我们开发的应用程序时,测试服务器以一种方式运行,因此我们调整和配置我们的应用程序以适应该特定行为。但是当我们在生产服务器上安装相同的应用程序时,我们会观察到另一种与测试服务器不一致的行为,从而使我们的调整和配置变得毫无用处。最令人沮丧的是,这种情况一直在发生,而且似乎没有人知道该怎么做。
当然,我们对为什么会发生这种情况有一个大致的了解。每个克隆的环境开始时都是一样的,并且在前几天的工作方式相同,但迟早有人只在一个服务器环境中重新配置某些东西(无论是数据库更新、组件库更新、Web 文件更新,或其他配置),从而导致差异。随着时间的推移,越来越多的差异越来越大。但问题是:我们能做些什么呢?
我试过在网上搜索,但找不到任何关于该做什么的好答案。我也试图自己找出一些解决方案,但我的大多数想法似乎在某种程度上存在问题。新的套路,无论多么严格,都可以规避。定期克隆生产服务器以创建测试服务器是一个乏味且通常非常缓慢的过程。自动复制并不总是可靠的,甚至是不可能的。那么我们究竟应该如何解决这个问题呢?我们如何保证测试时的体验与上线时的体验相匹配?
我想其他人也有这个问题。还是他们?也许只是我的特定公司不称职?你们有没有遇到过这个问题?如果是这样,你做了什么?
真挚地,
Linus,瑞典系统开发人员