代码之家  ›  专栏  ›  技术社区  ›  casademora

开发web应用程序时,临时环境的定义是什么?

  •  17
  • casademora  · 技术社区  · 17 年前

    目前,我喜欢保持简单,有一个开发环境(我的本地机器),一个暂存环境(在我将应用程序部署到世界之前有人),然后再部署到生产环境。尽管在更多的环境中可能有价值,但我现在将坚持这三个。

    我的主要问题是:

    哪些房产是合适的 在定义暂存环境时?

    然而,这里有一些相关的问题:

    • web服务器必须位于与数据库不同的物理机器上吗?
    • 临时环境可以停机进行维护吗?
    • 测试环境能否用于测试新功能(即beta环境)?
    3 回复  |  直到 7 年前
        1
  •  11
  •   pgb    17 年前

    如果您为DB和Web服务器使用单独的服务器,请尝试在登台时也保持这一点,如果您使用负载均衡器,请尝试将其配置为登台,等等。

    然而,根据我的经验,情况并非如此,我们的暂存环境在硬件方面总是不如生产环境强大。这样做的问题是,你无法测试每个功能,并确保生产过程也能正常工作。

    • 在需要时,暂存通常会停止,您可以有一个更灵活的时间表来安装新版本。
    • 我们曾在登台时安装过多个应用程序实例。一个类似于生产中的版本,另一个具有新功能供客户测试。
        2
  •  10
  •   dbb    17 年前

    对我来说,“登台”的含义是,你即将部署到生产环境,所以你需要一个尽可能接近生产环境的环境,以尽量减少因不同环境直接导致的任何问题。例如,开发和测试环境可能具有生产环境没有的某些实用程序,或者生产环境可能具有更严格的权限和身份验证,这可能会导致您的应用程序出现问题。

    因此,理想的暂存环境是生产环境的精确克隆(尽管没有公共访问)。如果你使用的是虚拟化服务器,这应该是微不足道的。如果没有,那么环境应该尽可能地模仿生产环境(应用程序应该部署到相同的路径,权限应该相同,配置文件应该是生产环境的副本,等等)。回答您的问题:

    • web服务器必须位于与数据库不同的物理机器上吗? 如果这就是生产中的情况。
    • 结构精确,可以填充虚拟值。
    • 临时环境可以停机进行维护吗? 对。
    • 测试环境能否用于测试新功能(即beta环境)? 不,这就是我使用开发或测试环境的目的。阶段应该用于将立即投入生产的功能(即“候选发布”环境)。
        3
  •  2
  •   S.Lott    17 年前

    技术堆栈必须相同。事实上,您应该能够简单地克隆登台以重建生产。

    “web服务器必须位于与数据库不同的物理机器上吗?”

    为了舞台?不一定。如果您的配置管理坚如磐石,那么您将拥有所有必要的配置。在转移到生产环境时,正确地修复这些参数。

    “数据库必须与生产数据库完全相同吗?”

    这取决于用例。如果你正在升级数据库,那么它们就不能完全相同。

    “临时环境可以停机进行维护吗?”

    “临时环境可用于测试新功能(即beta环境)吗?”

    它必须用于此。您还可以如何进行升级?

        4
  •  0
  •   Hiper Text    9 年前
    推荐文章