所以我正在考虑在 Azure 池中试一试
我们的 Web App Suite 很快就会成为纯 ASP.Net + SQL Server 的事情
由于各种原因,最初创建 SQL VM 并从那里运行所有内容会更简单。
会有多难...
- ...将 SQL 从 VM 迁移到“云服务”或“数据管理”?
- ...将 WebApps 套件从 VM 迁移到“网站”?
据我了解,在实现了此迁移后,操作系统级别的更新将不再是我关心的问题,因为它们将由服务处理。因此,在这一点上,我将能够扔掉原来的 VM :)
所以我正在考虑在 Azure 池中试一试
我们的 Web App Suite 很快就会成为纯 ASP.Net + SQL Server 的事情
由于各种原因,最初创建 SQL VM 并从那里运行所有内容会更简单。
会有多难...
据我了解,在实现了此迁移后,操作系统级别的更新将不再是我关心的问题,因为它们将由服务处理。因此,在这一点上,我将能够扔掉原来的 VM :)
这并不能完全回答您的问题,但它可能会帮助您了解更多要问的问题,并为您提供动力。这些都是我们将系统迁移到 Azure 之前、期间或之后的经验教训。现在我们已经到了那里,我们有一个约 50GB 的数据库,其中有约 6 个服务在约 30 个实例上运行。只要我们的数据库备份正常运行,升级所有这些的总工作量不到一个小时(如果我们没有很多保护措施来迫使我们了解迁移过程中发生的事情,那么可能会少得多过程——我们不希望它太容易部署,只是为了保护我们自己)。
准备将系统迁移到 Azure:
如果你计划使用 Azure,首先需要确保你的体系结构和技术是兼容的。这并不是说您必须编写所有特定于 Azure 的代码。这意味着以下一些事情:
将应用程序迁移到 Azure:
这最终在很大程度上取决于您的应用程序是什么或做什么,并且每个场景都有不同的步骤/问题/好处。除了说:“使用 Google,它是你的朋友!”之外,我不会深入讨论这个问题。除此之外,对我们而言,与我们的数据相比,将我们的应用程序放到 Azure 中是最大的回报。在托管成本、许可和管理工作之间,我们的应用迁移的投资回报率不到一个月。与其花几天时间来设置服务器,我现在可以花一天时间来设置我们所有 SaaS 应用程序/数据库/等的全新且重复的环境,并让它们在大约 25 个不同的云实例上运行!
与其试图告诉您如何迁移这些,不如让我提醒您几句警告,以便您早日知道:
将 SQL Server 数据库迁移到 Azure:
将数据库放入 Azure 是一个痛苦的过程。没有一种快速简便的方法可以将其安装到那里并使其工作。有些人必须做出一些重大改变,而另一些人只需要在这里和那里调整一些可忽略的事情。然而,无论你的数据库有多大或多小,你真的必须花很多时间来测试它。测试您的迁移过程。测试您的脚本以准备您的数据库。在云端测试数据库的性能和稳定性。测试您的备份程序。测试您的升级程序。测试您的备份恢复程序。测试所有这些,因为我向您保证,您会发现一些惊喜!
架构:
WITH NOCHECK
获得清晰的比较)。数据:
测试,测试,测试!!!
小心在 VM 上运行 SQL,它不是高可用性解决方案。Azure VM 很容易不时重新启动。除非您在可用性组中有多个运行 SQL Server 的 VM,或者您有某种镜像和负载平衡设置,否则您将没有高可用性解决方案。我最初也赞成从 IaaS 到 PaaS 的路线,最后它似乎是一种虚假的经济,因为将 IaaS 迁移到 PaaS 的工作量与将本地迁移到 PaaS 的工作量差不多。最后我决定花时间优化我的 PaaS 应用程序,即将持久存储移动到 blob,实现瞬态错误处理和重试逻辑等。
您提出的建议当然是可能的,但是使用多 VM 安排来提供高可用性 SQL 需要一些工作并且很昂贵!阅读以下指南,当我开始迁移过程时,它对我非常有帮助:
就在昨天,微软宣布了他们计划在其 Azure 平台上托管 Iaas 解决方案,而不仅仅是 Saas 解决方案。 http://weblogs.asp.net/scottgu/archive/2013/04/16/windows-azure-general-availability-of-infrastructure-as-a-service-iaas.aspx
关于迁移,这真的取决于。我们使用一种分发机制:TFS + Octopus,因此部署非常简单,它可以在 Iaas 或 SQL Azure 上运行,这并不重要。进入 Saas 时,还需要考虑其他事项。如果您的代码不是面向 Saas 的,或者您的应用程序可能在 Azure 上具有非常高的托管成本,则可能应该重构您的代码。