2

我正在研究将带有 sql server 后端的现有 asp.net 网站移动到 Azure VM。由于现有站点的性质,我们仅限于 VM,因此纯天蓝色是不可能的。我目前的想法是循环负载平衡配置中的一系列克隆网站虚拟机,每个虚拟机都指向一个 sql server 虚拟机。sql server vm 将作为容错配置的一部分进行克隆,并且两者将与 SQL Sync 保持同步。

我们还需要使网站 vms 和 sql server vms 与操作系统和软件补丁保持同步的能力,因此每个都将在它自己的更新和故障域中。

谁能确认这一切都是可行的,或者可能提出替代方法?

主要担忧是:

  • sql server 的单个实例必须可用于网站的每个实例。
  • sql server 将包含财务数据,因此必须既安全又尽可能经常备份。
  • 我们希望选择最终扩展 sql 服务器的负载能力,可能通过服务器场
  • 该网站需要考虑到未来几个月/几年内用户数量的预期快速增长
  • 网站虚拟机需要允许以新闻文章、常见问题解答更改等形式进行每周更新,因此这些更改必须能够在所有虚拟机之间同步
4

1 回答 1

1

一般来说,这看起来会起作用。这里有一些想法:

  1. 两个带有 SQL 服务的 VM 可以通过 SQL Sync 同步到 SQL Azure,但我认为您可以拥有的最短同步周期是 5 分钟。确保您的 SLA 可以接受。
  2. 查看 Azure 信任中心,回答有关安全和财务数据的问题。通常,您自己的公司必须自己做出决定。 http://www.windowsazure.com/en-us/support/trust-center/
  3. 您可以通过向 VM 池中添加更多 SQL Server 或使运行 SQL VM 的服务器更大(最大为超大)来扩展 SQL 占用空间。SQL 通常更喜欢更少和更大的服务器,而不是许多更小的服务器。
  4. 请记住,解决方案的不同部分可以使用 Azure 的不同部分。在这种情况下,您使用的是用于 SQL 的 VM(因为您的需求超出了我认为的 SQL Azure 所能提供的范围)。您说您的应用程序需要自定义虚拟机,因为它的架构。那也行。上传 Web 服务器模板,然后从中生成您的虚拟机。当您想扩大规模时,只需从该模板中生成一个新模板。
  5. 走 IaaS/VM 路线将消除 Azure/云可以为您带来的许多好处,因此我会尽快开始重构该应用程序的各个部分,以便迁移到云服务甚至网站。
  6. 要在 Web 服务器虚拟机之间同步每周的内容更改,我会这样做,但你今天正在这样做。有些人使用 robocopy 来做到这一点(或等效的)。您可以将该内容移动到每个服务器指向的共享 blob 容器或共享数据库。您在 Web 服务器上的实际内容越少,通常越好。我的意思是将静态资源移动到 blob 容器(用于共享、冗余和最终的 CDN 性能提升),并将动态数据移动到表/队列/数据库。

如果您想进行更深入的对话,请与我联系。布赖恩

于 2012-09-13T20:05:22.120 回答