Rob*_*nik 6 asp.net-mvc transition cloud-hosting
我即将开始开发一个具有非常不确定的负载/流量细节的项目.当它被释放时,肯定会有非常低的负载,可以通过单个桌面四代码机轻松处理.
问题是(在一些邀请期限之后)会对产品进行强有力的宣传,因此我预计会出现相当大的流量/负载峰值.
我还没有充分了解云提供商,而且我主要倾向于亚马逊或Azure以获得这两家公司的信誉,而不是像其他人那样检查它们(即Rackspace,我认为它也是云服务提供商).
我想创建一个普通的Asp.net MVC Web应用程序,可以在内部单机低成本服务器上运行.它将运行Web服务器以及数据库(关系,也可能是文档)和全文搜索(不是SQL FTS,而是像Lucene或Sphinx这样的高速分离产品).但在最初的邀请期后,我想将此应用程序移至云端,以使其更加流量/负载需求友好.
据我所知,亚马逊提供了一种虚拟机托管服务,据我所知,您将其设置为普通服务器,但在负载功率方面可能具有灵活的资源.我不确定是否可以在Azure上完成.
“云”是一个非常模糊的术语。不过,我认为这是一个非常好的问题。
基本上,IaaS 云托管不会神奇地使您的应用程序扩展。它实际上是一个虚拟专用服务器,合同/取消期限非常短。
对于可扩展性来说,神奇之处不在于托管,而在于应用程序代码本身的水平可扩展性。这与所有分布式计算挑战有关。例如,添加更多应用程序服务器并不总是那么容易:您必须确保不在服务器应用程序中保留任何用户状态(而是在数据库中,这static可能是邪恶的),缓存可能会出现问题,因为本地缓存可能会使如果您使用循环策略等,情况会更糟。
- 您在将应用程序迁移到云方面有什么经验?您选择了哪一种?为什么?
- 您建议我在设计/开发解决方案时应该考虑什么,以使过渡尽可能轻松。
基本上,您实际上不需要做任何不同的事情来托管在 EC2 或 Azure 上。但当然,当事情发展时,事情就不那么容易了。
例如,EC2 实例存储相当有限。然而,EBS 上的附加存储无法提供可比较的性能特征,并且可能比磁盘更滞后。这里的要点是,EBS确实具有神奇的可扩展性,而且它可能更像是 PaaS,而不是 IaaS;但它不是一个简单的硬盘,因此它的行为也不像硬盘。我不知道Azure块存储。一般来说,无论额外的抽象层做什么,都会带来它们自己的问题。
- 根据您的经验,迁移到云(财务方面)更好,还是自己购买自己的服务器和负载平衡应用程序更好,从长远来看也许可以省钱?
典型的云提供商比通常的“全方位 VPS 提供商”更昂贵,但根据我的经验,它们也更加可靠和专业。EC2 有免费套餐(但很小),Azure 为您免费提供 3 个月的小型实例。
正确地进行计算是相当棘手的;例如,如果您出于某种原因必须关闭服务,最好现在就取消,而不是再支付一年的费用 - 您可能希望将此风险纳入您的计算中。另一方面,如果您注册 6 或 12 个月,而不是按小时付费,那么 EC2 和 Azure 都会便宜得多。
您可能想查看免费的 Azure 计划,因为无需任何费用就可以开始摆弄,这真是太好了。云提供商的一大优势是您可以非常轻松地垂直扩展:购买16 核、64GB RAM 服务器机器确实很昂贵,但如果您的网站流量很大,升级您的计划不会是一个大问题。
| 归档时间: |
|
| 查看次数: |
2850 次 |
| 最近记录: |