将Azure网站迁移到Azure云服务

时间:2012-07-27 04:33:31

标签: windows azure cloud cloud-hosting azure-web-sites

我有一个项目,我计划将该网络应用程序作为Azure网站启动,然后将其迁移到Azure云服务(也称为托管服务),如果需要将其作为扩展策略。

这个决定是因为我读到Azure网站开发更简单,更快速,几乎没有特定于Azure的配置或代码。因此,快速而简单的开始是该项目的良好起点。

但是,这对你来说是一个很好的起点吗? 是否将Azure网站迁移到Azure云服务,就像将普通ASP.NET网站迁移到Azure云服务一样? 您是否会从一开始就使用Azure Cloud Service?如果是,为什么?

感谢您的时间。

5 个答案:

答案 0 :(得分:33)

这两种部署模型都有好处,它最终会归结为您要实现的目标,并最终取决于您的应用程序的成功。

下面我概述了每个模型的优缺点,以确保您为应用程序目标做出正确的选择。

Windows Azure网站

您已正确识别Windows Azure网站是应用程序的一个很好的起点,但您也可以考虑网站确实为许多解决方案提供了足够的可扩展性。

赞成

  • 预览期间的10个免费网站 [Free for 12 months]
  • 轻松部署(使用Git,TFS,Web部署或FTP)
  • Quick Scalability(您可以移至您自己的专用群集[又名保留标准])
  • 简单开发(支持经典ASP,ASP.NETNode.js,Python& PHP
  • 持久的环境(大多数人都习惯了这个)

缺点

  • 自定义域上没有SSL支持
  • 预览中的
  • (当前没有SLA)

Windows Azure云服务

云服务(以前称为托管服务)绝对是Web应用程序未来的愿景。它的构建具有弹性,可以通过扩展以满足需求来保持应用程序的成本,并在流量减慢时回拨容量。

赞成

  • 增加对应用程序成本的控制(如果架构正确)
  • 灵活性(您可以完全控制环境)
    • SSL支持
    • 语言不可知论
    • Web服务器不可知(尽管IIS默认可用)
  • 自动管理服务器

缺点

  • 应仔细考虑架构
  • 部署时间较慢(开发周期较慢)

可移植性需要考虑的事项

上述项目可能足以为您规划应用程序的近期未来,您很可能希望将来考虑使用云服务(从长远来看,它更适合多种应用场景)。

以下列出了有助于网站与云服务之间移植的内容:

  1. 开始思考无状态

    Windows Azure网站很好,因为它是一个持久的环境,这意味着您可以将会话状态和资产等内容存储到磁盘。

    虽然这是一个很好的功能,但如果您的最终目标是云服务,最好开始规划无状态应用程序。您可以采取以下措施开始思考无国籍:

    • 不要依赖会话状态
      • 如果您需要它,请提出一个使其扩展的策略(缓存服务,SQL或存储)
    • 使用存储服务
      • 静态HTML,CSS,javascript和图片等资源最好放在存储中
        • 避免在您的网站上留出额外的带宽(可能会延长共享时间以降低成本)
        • 可以启用CDN,为国际市场提供更好的体验
        • 在将应用程序迁移到云服务时更轻松地更新Web资产
      • 存储用户内容
        • 如果您的应用程序已经存储到Storage Service,那么将来迁移到云服务时可以减少一个代码修改。
  2. 让您轻松发现数据中的模式

    云服务的好处是它可以通过仅扩展缩放的需求来降低成本。开始识别您的比例单位的过程,即如何对数据库或存储中的表进行分区。

答案 1 :(得分:2)

Azure是您购买应用的绝佳场所,但在开始迁移之前,您需要了解一些注意事项。

  • Azure网站和托管服务的部署非常简单。同 Visual Studio,您生成包,只需上传它。那么你 有一个开发环境来检查它。如果它对你没问题,请换掉 IPS。如果它不合适,请再次升级。

  • 您的实例有一些可能令人讨厌的属性。对于 例如,您无法确定您的IP。如果你的应用程序有效 对于某些使用IP限制的提供商,您需要弄清楚 如何进行。

  • 更多考虑因素。您的“服务器”可能随时被重新映像。 如果您在本地光盘上存储了某些内容,该文件可能随时消失。

  • 如果您至少有2个或更多实例,Azure的工作非常好 每个网站。也许你的应用程序没有为此做好准备。第一步 将是managing the sessions with the appFabri c。是真的 简单,只需更改您的网络配置。因为这个要小心 会话状态不像“旧的”那样完全正常。你不能存储 不可序列化的对象(应该很容易适应)或非常大的对象(超过8MB)。

如果你打算从零开发一些东西,我建议你从一开始就开始使用azure。原因很简单:它开始真的很便宜,在应用程序有很多访问之前你不会付出很多钱。设置SQLAzure和存储帐户也很便宜。一个就绪,可以轻松添加更多实例或扩展。

示例:

想象一下,你有一个想法,并希望向一些可能的投资者展示。

您开始设置一个小的SQLAzure数据库(1GB),每月9,99美元。

然后你建立了一个网站,你又增加了两个小实例,每月18,72美元。

假设您需要100 GB的空间(图像,备份......),每月12,50美元。

在他的时候,你已经准备好开始你的业务,每月支付不到50美元。

如果您的站点已退出且访问开始,则更改小实例的实例(使用具有额外小实例的生产环境非常危险,因为没有cpu预留)。然后你将额外的小额费用(18,71美元)改为57,60美元。也许你需要更多的SQL Azure空间?等...

根据此处计算的价格:http://www.windowsazure.com/en-us/pricing/calculator/?scenario=web

这些是很少的提示,还有很多。我的建议是开始试用帐户并玩它。

最后的建议:只需购买更多资源就可以轻松解决所有问题。有时您需要重构和优化代码。如果您每次遇到问题时只需添加更多资源,最终可能会收到巨额账单和非常混乱的代码。

希望它有所帮助!

答案 2 :(得分:2)

我阅读了所有帖子,所有帖子都非常有帮助。 除了所有帖子,我在msdn:Windows Azure Websites, Cloud Services, and VMs: When to use which?

上找到了一个信息

使用Windows Azure网站,您可以:

  • 在Windows Azure上构建高度可扩展的网站。
  • 快速轻松地将网站部署到高度可扩展的云环境中,使您可以根据需要从小规模开始扩展。
  • 使用您选择的语言和开源应用程序,然后使用FTP,Git或TFS进行部署,并轻松集成Windows Azure服务,如SQL数据库,缓存,CDN和存储。

使用云服务,您可以:

  • 在Windows Azure上构建或扩展您的企业应用程序。
  • 使用丰富的PaaS环境创建高度可用,可扩展的应用程序和服务。支持高级多层场景,自动部署和弹性扩展。为世界各地的客户提供卓越的SaaS解决方案。

并且总结了msdn上的选项:

 Summarizes the options about Web Sites,Cloud Services  and Virtual Machines

比较msdn上的一些功能网站和云服务:

Comparing features of Web Sites and Cloud Services

答案 3 :(得分:1)

Windows Azure云服务通过网站的另一个优势是可以将云服务添加到Azure虚拟网络。这可以使它访问像数据库这样的本地资源。因此,如果您的要求需要Azure提供的可扩展性,但由于安全限制需要将数据保留在本地,那么云服务是更好的选择。

Azure网站不能是Azure虚拟网络的一部分。要访问本地资源,必须配置Azure Service Bus Relay等机制。

答案 4 :(得分:0)

我们的网站在某些托管上使用PHP运行,并且在某些时候决定将其移至Azure(我们服务的主要部分)。我们从Azure Web站点开始,从开发的角度来看这很棒(主要是与git集成)。但经过大约一周的测试(当我们决定实际移动生产网站时),我们发现目前

  1. 自定义域无SSL
  2. 自定义域仅适用于预留实例(无共享基础架构)
  3. SLA
  4. 所以我们搬到了托管服务。我们面临的主要问题是缺乏简单部署的能力(需要构建软件包并上传网站的整个软件包),并且发现解决方案是使用dropbox - 作为角色的启动任务,我们正在安装Dropbox服务在机器上,它从dropbox获取所有网站,而dropbox又有SVN签出文件夹,因此网站更新变得非常容易。