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