我即将开发一个新网站(SaaS)项目,并希望使用Azure作为平台。我希望每个客户端数据彼此隔离,我选择使用弹性数据库引擎实现。
每个客户端都必须有一个特定的端点,如bla.siteName.com,bla2.siteName.com,bla3.siteName.com,这可以通过子域和自定义域的使用轻松实现。
最后网站本身应该托管在天蓝色的网络应用程序上,但这里是我撞墙的地方。
我希望能够将每个客户端一次移动到较新版本的Web应用程序。
因此,如果我的Web应用程序运行的是1.0版本,并且我在1.1版本中添加了一项新功能,我希望能够将客户端和客户端数据库移至版本1.1,而无需他们注意到它。
到目前为止,我的想法是发布新的Web应用程序版本1.1并将该特定客户端的子域名移动到1.1版Web应用程序。但这最终会导致停机,因为子域的切换需要时间。
我是否遗漏了某些东西,或者我只是想要过度设计一些非常简单的东西?
或者我应该只专注于单一网站服务所有方法,只需一次升级所有客户数据库?