我有一个项目,并计划启动作为Azure网站的Web应用程序,然后将其迁移到Azure云服务(也称为托pipe服务)(如果需要作为扩展策略)。
这个决定是因为我读到,Azure网站更加简单快捷,几乎没有Azure特定的configuration或代码。 所以快速简单的开始是项目的一个很好的起点。
但是,这是你的一个很好的起点吗? 将Azure网站迁移到Azure云服务是否与将正常的ASP.NET网站迁移到Azure云服务相同? 您是否会从一开始就从Azure云服务开始? 如果是,为什么?
谢谢你的时间。
这对于两种部署模式都有好处,它最终会归结为您正在努力实现的目标,并最终取决于您的应用程序的成功。
下面我已经概述了每个模型的优点和缺点,以确保您为您的应用程序目标做出正确的选择。
您已经正确地确定了Windows Azure网站是应用程序的一个很好的起点,但是您也可以考虑Web站点确实为许多解决方案提供了足够的可伸缩性。
云服务(以前称为托管服务)绝对是Web应用程序未来的愿景。 它建立在弹性的基础上,通过扩展以满足需求来保持应用程序的成本,并在流量减慢时恢复容量。
上面的项目可能足以规划应用程序的前景,很可能您将来可能会考虑使用云服务(从长远来看,它更适合大量的应用程序场景)。
以下是帮助网站与云服务之间的可移植性列表:
开始思考无状态
Windows Azure网站很好,因为它是一个持久的环境,这意味着您可以将会话状态和资产等内容存储到磁盘。
尽管这是一个很好的功能,但如果您的最终目标是在云服务中,最好开始规划无状态应用程序。 以下是您可以开始思考无状态的一些事情:
让您轻松发现数据中的模式
云服务的好处是它可以让您通过缩放需要缩放的东西来降低成本。 开始确定你的规模单位的过程,即你如何分割你的数据库或表在存储。
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网站,您可以:
通过云服务,您可以:
还有msdn上总结的选项:
并比较一些功能网站和云服务上msdn:
Windows Azure云服务通过网站的另一个优点是可以将云服务添加到Azure虚拟网络。 这可以让它访问像数据库这样的本地资源。 因此,如果您的需求使您需要Azure提供的可扩展性,但由于安全限制需要将数据保留在本地,则云服务是更好的选择。
Azure网站不能成为Azure虚拟网络的一部分。 要访问本地资源机制(如Azure服务总线中继),必须进行配置。
我们的网站上运行PHP的一些托管,并在某个时候决定将其移动到Azure(这是我们的服务的主要部分)。 我们从Azure Web站点开始,从开发的角度来看(主要是与git集成)。 但经过大约一周的测试(当我们决定实际移动生产网站时),我们目前已经发现
所以我们搬到了托管服务。 我们面临的主要问题是缺乏简单部署的能力(需要构建包和上传整个网站的包),并发现解决方案是使用dropbox – 作为角色的启动任务,我们正在安装Dropbox服务机器,从保管箱中取出所有的网站,然后有SVN签出文件夹,所以网站更新变得非常容易。