我想要一个沙盒测试环境,它*始终*是 Production 的精确副本
I want a sandboxed test environment that is *always* an exact copy of Production
我负责维护的 Web 应用程序出现问题。
系统经常出现错误,我们的支持供应商总是问我们是否可以 "replicate the error in UAT"。这显然是一个合理的要求。很多时候,由于各种原因(有些很清楚,有些不清楚),这些错误 而不是 出现在 UAT 中。测试环境中错误重现性的缺乏给错误解决过程增加了巨大的摩擦。
我们的系统架构有 3 个关键部分(CMS、API 层和数据库)会出现这些错误。我建议我们设置一个系统作业,永久将系统的这 3 个部分克隆 到沙盒测试环境中。这种克隆会定期(例如,每 24 小时一次)自动进行。
这种环境有专门的术语吗?这是帮助诊断系统问题的既定方法吗?有没有什么地方可以让我了解行业最佳实践来建立这样的东西?谢谢。
这种过程的技术术语是replication它通常用于某些系统,如数据库,但通常不是为了测试目的,而是为了增加可用性,所以复制用作故障转移备用。
生产系统的精确副本,由于对资源的高需求,您不会经常找到包含所有数据的副本。在某些时候,两个系统也必须有所不同。大多数系统(我知道的)都有大量的接口,你无法复制一个完整的系统。
另外:当你实际调试一个问题时,你只需要生产系统的副本。如果您正处于其中,您可能不希望所有内容都消失并被新副本取代。
因此,我建议设置允许按需获取相关部分副本的脚本。
您可能还想考虑如何修改您的系统,以便更轻松地设置副本。
例如,当您将所有设置自动化(使用 chef/docker 或类似设置)时,您应该能够在任何您想要的地方再次设置相同的系统,所以您现在只需要获取生产数据结束了
这是一个有趣的观点。生产数据通常包含秘密信息(因为它对业务至关重要,或者因为它是个人数据)。您不希望这种东西在每个人都可以访问的测试系统中徘徊。
我负责维护的 Web 应用程序出现问题。
系统经常出现错误,我们的支持供应商总是问我们是否可以 "replicate the error in UAT"。这显然是一个合理的要求。很多时候,由于各种原因(有些很清楚,有些不清楚),这些错误 而不是 出现在 UAT 中。测试环境中错误重现性的缺乏给错误解决过程增加了巨大的摩擦。
我们的系统架构有 3 个关键部分(CMS、API 层和数据库)会出现这些错误。我建议我们设置一个系统作业,永久将系统的这 3 个部分克隆 到沙盒测试环境中。这种克隆会定期(例如,每 24 小时一次)自动进行。
这种环境有专门的术语吗?这是帮助诊断系统问题的既定方法吗?有没有什么地方可以让我了解行业最佳实践来建立这样的东西?谢谢。
这种过程的技术术语是replication它通常用于某些系统,如数据库,但通常不是为了测试目的,而是为了增加可用性,所以复制用作故障转移备用。
生产系统的精确副本,由于对资源的高需求,您不会经常找到包含所有数据的副本。在某些时候,两个系统也必须有所不同。大多数系统(我知道的)都有大量的接口,你无法复制一个完整的系统。
另外:当你实际调试一个问题时,你只需要生产系统的副本。如果您正处于其中,您可能不希望所有内容都消失并被新副本取代。
因此,我建议设置允许按需获取相关部分副本的脚本。
您可能还想考虑如何修改您的系统,以便更轻松地设置副本。
例如,当您将所有设置自动化(使用 chef/docker 或类似设置)时,您应该能够在任何您想要的地方再次设置相同的系统,所以您现在只需要获取生产数据结束了
这是一个有趣的观点。生产数据通常包含秘密信息(因为它对业务至关重要,或者因为它是个人数据)。您不希望这种东西在每个人都可以访问的测试系统中徘徊。