3

我想要一个平台向我的一小部分网站用户推出 Beta 功能。我不确定这样做并寻找您的建议的最佳做法是什么。

选项 1:我考虑的第一个选项是创建一个非生产环境来反映实时应用程序。然后我可以为用户提供一个新的 beta DNS,他们可以在其中试用最新的功能。这种方法的缺点是可维护性和可靠性。来自生产环境的数据需要刷新到 Beta 数据库,以确保用户体验与生产一致。由于此 Beta 环境将位于非生产基础设施中,因此由于持续构建等而更容易出现中断。

选项 2:将额外的服务器部署到生产环境,使用 beta 子域将用户引导到站点。陈旧数据在这里没有问题,因为它可以指向与现有生产环境相同的来源。不利的一面是,为了保持应用程序的稳定性和可靠性,实时生产环境的发布频率会降低,并且它是生产支持团队需要维护的额外节点。

选项 3:将 Beta 功能部署为主代码分支的一部分,并在代码中包含逻辑以向某些用户显示 Beta 功能。这种方法需要在稳定的代码中实现 Beta 更改,发布频率较低,并且在不影响现有代码库稳定性的情况下可以测试的更改类型的灵活性较低。

过去的经验对我应该如何进行有任何建议吗?

谢谢

4

1 回答 1

1

使用选项 2)。您希望尽可能地将 beta 代码与生产代码隔离开来,这样,如果最坏的情况发生并且 beta 代码使服务器崩溃,那么 beta 用户将只能故障转移到生产服务器。

1)如果您的测试环境太不稳定,那么用户根本不会使用它。使用 3) 您冒着污染生产代码的风险。

我在这类事情上的大部分经验都来自于 Amazon AWS,在那里获得一个新的“服务器”就像获得一个新的 EC2 实例一样容易。我假设您设置新服务器的成本不会太高。

于 2013-04-15T16:49:22.713 回答