Azure Web Sites - 多版本部署

3
我们有多个客户,并使用Azure网站托管我们的Web应用程序。当我们将一个客户升级到我们软件的新版本时,我们必须将所有客户升级到最新版本。
我们希望能够在发布新版本时升级一部分客户。这将使我们能够在将所有客户更新到新版本之前测试新解决方案是否正常工作。我们希望为选择的客户提供beta版本选项,以便他们可以访问我们软件的新功能,并知道他们正在使用的版本仍处于“beta”模式。
当我们部署新版本时,我们希望创建一个专门为此新版本而设计的网站,同时将其他客户留在更稳定的旧版本上。为此,我们考虑编写一个反向代理,根据客户端将流量引导到不同版本的网站。
我们能否使用同一Azure网站(IIS目录)托管Web站点的多个版本?我阅读的文档中未提及基于不同代码库构建多个版本的Web站点。
是否有一种方法可以设置构建,以便每个新版本都部署到Azure同一Web站点上的一个目录中,以便我们可以在同一Azure网站下有效地托管我们应用程序的多个版本?
我们可以为每个版本构建一个新的Azure网站,但随着我们运行两个实例以保持良好的SLA,这可能会变得非常昂贵。我们可能会同时拥有十个版本,运行20个Azure网站来支持这些版本可能会很昂贵。我们如何节省成本并为客户提供良好的体验?

嗨,你最后是怎么解决的?我有一个类似的问题,只不过不是关于 Azure 的。https://stackoverflow.com/questions/68268420/how-to-set-up-and-maintain-2-versions-of-my-multi-tenant-web-app - undefined
1
使用Azure FrontDoor,您可以为客户提供一个在性能较差的情况下运行良好的不同网站。要使其正常工作,您需要一个根据登录或标头来定向请求的代理服务器。在这种情况下,Azure Service Fabric可能会很适合。 - undefined
谢谢,我也在考虑添加一个代理,因为我的问题是客户可能这次想要最新版本,但下次可能想要稳定版本。 - undefined
2个回答

1
在Azure Web应用程序中,您最多可以拥有5个部署插槽,包括生产环境。每个插槽都可以使用源代码控制系统(如git或tfs)的不同分支。如果您使用其中任何一个,部署也是自动的(持续部署),并且您可以随时非常快速地交换插槽,几乎没有停机时间。每个插槽都有自己的URL以供外部访问。
为了节省成本,您可以在同一托管计划上运行多个Web应用程序。在同一托管计划上运行的Web应用程序数量没有限制。对于每个托管计划,可以有10个小型/中型/大型实例。
在Azure App Service中为Web应用程序设置分阶段环境。

https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/

Azure应用服务计划全面概述。

https://azure.microsoft.com/en-us/documentation/articles/azure-web-sites-web-hosting-plans-in-depth-overview/


我们目前使用多个部署槽位。在我理解中,部署槽位是用来部署构建的地方。当构建部署完成后,您可以将槽位交换为生产槽位。所以您的意思是我可以使用这5个槽位来拥有5个不同的网站? - undefined
从你提到的文章中,我注意到它有以下的限制:“非生产槽位不支持扩展”。这将使得这个解决方案对我们无效。我认为我需要将多个网站部署到IIS下的不同目录中,这样整个IIS就可以进行扩展了。 - undefined
我明白了。我知道你想要的可以通过云服务实现,但对于Web应用程序,我不确定。最终,所有东西都在IIS上运行,这可能是可行的。 - undefined

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接