如何处理 Azure Web 应用版本控制?

How to handle Azure web app versioning?

我准备开发一个新的网站(SaaS)项目,想使用Azure作为平台。我希望每个客户的数据都相互隔离,我选择使用弹性数据库引擎来实现这一点。

每个客户端都必须有一个特定的端点,例如 bla.siteName.com、bla2.siteName.com、bla3.siteName.com 这很容易通过子域和自定义域的使用来实现。

最后,网站本身应该托管在 azure web 应用程序上,但这是我碰壁的地方。

我希望能够一次将每个客户端移动到较新版本的 Web 应用程序。

因此,如果我的网络应用程序运行的是 1.0 版,并且我在 1.1 版中添加了一项新功能,我希望能够将客户端和客户端数据库移动到 1.1 版,而不会引起他们的注意。

到目前为止,我的想法是发布新的网络应用程序 1.1 版并将该特定客户端的子域名移动到 1.1 版网络应用程序。但这将导致停机,因为子域的切换需要时间。

我是不是遗漏了什么,或者我只是想过度设计一些非常简单的东西?

或者我应该只专注于单一网站服务所有方法,并立即升级所有客户端数据库?

您可能想试试 Azure Deployment Slots。它有很多用途,包括您描述的用途。您可以使用 Azure 流量路由将一部分用户路由到您的部署槽之一。