将Azure网站迁移到Azure云服务

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

这个决定是因为我读到,Azure网站更加简单快捷,几乎没有Azure特定的configuration或代码。 所以快速简单的开始是项目的一个很好的起点。

但是,这是你的一个很好的起点吗? 将Azure网站迁移到Azure云服务是否与将正常的ASP.NET网站迁移到Azure云服务相同? 您是否会从一开始就从Azure云服务开始? 如果是,为什么?

谢谢你的时间。

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

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

Windows Azure网站

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

优点

  • 10 预览期间的免费网站[ 免费12个月 ]
  • 轻松部署(使用Git, TFS ,Web部署或FTP)
  • 快速扩展性 (您可以移动到您自己的专用群集(又名保留标准))
  • 简单的开发(支持经典的ASP, ASP.NET , Node.js ,Python和PHP )
  • 持久的环境(大多数人习惯于这个)

缺点

  • 自定义域名上没有SSL支持
  • 在预览(目前没有SLA)

Windows Azure云服务

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

优点

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

缺点

  • 建筑应该仔细考虑
  • 部署时间较慢(缩短开发周期)

可移植性的考虑事项

上面的项目可能足以规划应用程序的前景,很可能您将来可能会考虑使用云服务(从长远来看,它更适合大量的应用程序场景)。

以下是帮助网站与云服务之间的可移植性列表:

  1. 开始思考无状态

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

    尽管这是一个很好的功能,但如果您的最终目标是在云服务中,最好开始规划无状态应用程序。 以下是您可以开始思考无状态的一些事情:

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

    云服务的好处是它可以让您通过缩放需要缩放的东西来降低成本。 开始确定你的规模单位的过程,即你如何分割你的数据库或表在存储。

Azure是开发应用程序的好地方,但在开始迁移之前需要了解一些注意事项。

  • Azure网站和托管服务的部署非常简单。 使用Visual Studio,您可以生成包并简单地上传它。 然后你有一个开发环境来检查它。 如果可以的话,交换ips。 如果不适合你,请再次升级。

  • 你的实例有一些可能令人讨厌的属性。 例如,你不能确定你的IP。 然后,如果您的应用程序与某些使用IP限制的提供商合作,则需要了解如何继续。

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

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

如果你打算从零开始发展,我建议你从一开始就开始蔚蓝色。 原因很简单:开始真的很便宜,在应用程序有很多访问之前,您不会付出沉重的代价。 设置SQLAzure和存储帐户也很便宜。 一个你所有的地方,很容易添加更多的实例或扩大规模。

例:

想象一下,你有一个想法,你想显示给一些可能的投资者。

你开始建立一个小的SQLAzure数据库(1GB),每月$ 9,99。

然后你建立一个网站,你把2个额外的小实例,每月$ 18,72。

假设您需要100 GB的空间(映像,备份等),每月$ 12,50。

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

如果您的站点已经退出并且访问开始到来,您可以更改小型实例的实例(生产环境具有额外的小型实例是非常危险的,因为没有cpu预留)。 然后,您将额外的小额费用($ 18,71)更改为$ 57,60。 也许你需要更多的空间,该SQL Azure? 等等…

价格从这里计算: http : //www.windowsazure.com/en-us/pricing/calculator/?scenario=web 。

那些提示很少,还有很多。 我的建议是开始一个试用帐户,并与之一起玩。

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

希望能帮助到你!

我阅读所有帖子,所有这些都非常有帮助。 除了所有文章外,我还发现了有关msdn的信息: Windows Azure网站,云服务和虚拟机:何时使用?

使用Windows Azure网站,您可以:

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

通过云服务,您可以:

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

还有msdn上总结的选项:

总结有关网站,云服务和虚拟机的选项

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

比较网站和云服务的功能

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

Azure网站不能成为Azure虚拟网络的一部分。 要访问本地资源机制(如Azure服务总线中继),必须进行配置。

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

  1. 自定义域名没有SSL
  2. 自定义域只能用于保留的实例(没有共享的基础设施)
  3. SLA

所以我们搬到了托管服务。 我们面临的主要问题是缺乏简单部署的能力(需要构建包和上传整个网站的包),并发现解决方案是使用dropbox – 作为角色的启动任务,我们正在安装Dropbox服务机器,从保管箱中取出所有的网站,然后有SVN签出文件夹,所以网站更新变得非常容易。