asp.net - 我可以将我的 ASP.NET 应用程序迁移到云端吗?

标签 asp.net .net azure amazon-web-services cloud

我们公司正在考虑迁移到云端。我们是否仍然能够满足我们当前的所有要求(如下)。我们希望 future 能够轻松扩展,且成本不高。

  • 5 个正在运行的 ASP.net 4.0 网站(使用 SQL 数据库,见下文)
  • SQL Server 2008 Express(8 个数据库)
  • 2 个调度程序服务正在运行(通过电子邮件发送夜间报告,例如数据库中的新订单)
  • 服务器上也安装了 MongoDB 和 Memcached

出于安全原因,目前网站位于与数据库服务器不同的服务器上。

我们正在考虑Windows AzureAmazon Web Services (AWS)作为提供商,哪一个最适合我们的要求?

我们还需要考虑其他因素吗?

最佳答案

回复:SQL 数据库:在 Windows Azure 上,这将映射到 SQL Azure。最多 100 MB 的实例的费用为每月 5 美元 - 一直到 150 GB - 联合身份的费用甚至超出了这个范围。

回复:5 个正在运行的 ASP.net 4.0 网站:这些自然映射到 Windows Azure Web 角色。 “小型”实例的价格为 0.12 美元/小时/实例,您通常需要两个实例(以避免在某些情况下出现单点故障)。根据您的负载,您也许可以将所有 5 个站点放在同一个实例上。如果您的网站使用率非常低,请考虑使用 0.05 美元/小时/实例的“超小型”实例。

回复:出于安全原因,目前网站与数据库服务器位于单独的服务器上:当然这也是可行的。

回复:2个调度程序服务正在运行:运行Windows服务没有问题。

回复:通过电子邮件发送夜间报告,例如db 中的新订单: 没问题,虽然不是直接嵌入到 Windows Azure 中,但有很多简单的方法可以做到这一点(甚至是免费的,例如通过 SendGrid )。

回复:我们希望将来能够在不增加成本的情况下轻松扩展:您需要计算实际成本,但 Windows Azure 肯定可以扩展。

回复:MongoDB 和 Memcache 也安装在服务器上:它们都可以在 Azure 上运行。查看https://github.com/mongodb/mongo对于 MongoDB。此外,Azure 缓存服务也可用(为您管理)。

回复:我们考虑将 Azure 和 Amazon 作为最适合我们要求的提供商:它们在功能上非常相似(在能力和成本方面),但有一些值得注意的差异。

  1. Windows Azure 是平台即服务,这意味着您无需担心虚拟机,而是应用程序。换句话说,您将(基本上)压缩的应用程序包上传到云中以供执行。对于亚马逊,您将自己处理虚拟机。在 Azure 中,您可以获得一份为您管理的 Windows Server 2008 副本,但如果需要,您也可以对其执行管理操作。如果您的应用程序是一个旧的、困惑的安装,并不是真正干净(尽管无论如何可能不是一个好的高值(value)云候选者),那么这就不是一个优势。
  2. Windows Azure 有一个运行良好的模拟器 - Visual Studio 中的 F5,可以与存储系统和虚拟机以及更流行的功能配合使用。

回复:我们还需要考虑其他因素吗:是的。对于任何云应用程序,您都需要准备好处理横向扩展(而不是向上扩展)、处理瞬时重试(您可能需要重试对云服务的操作 - 任何云服务)。这样做的好处是更好(并且更具成本效益)的可扩展性和更高的可靠性(当您跨节点运行时,不会出现单点故障)。请务必了解虚拟机上的存储何时何地是持久存储还是临时存储。还有更多考虑因素,但这些是主要考虑因素。

您可能想查看Windows Azure Pricing calculator .

祝你好运!欢迎来到云。

关于asp.net - 我可以将我的 ASP.NET 应用程序迁移到云端吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9524106/

相关文章:

c# - 多对多关系插入

javascript - 无法摆脱对禁用按钮的悬停效果

c# - 如何防止用户登录多个设备以及如何从之前的设备结束 session ?

c# - 什么是好的唯一 PC 标识符?

azure - Azure Data Lake 是否支持文件版本控制?

适用于符合 RFC 5988 的 REST API 的 Azure 数据工厂分页 (Meraki)

asp.net - 访问发布到 ASP.Net 的内容安全策略违规报告

c# - IOException HResult 可能的值

.net - 在控制台应用程序中处理

azure - 是否绝对有必要加密连接字符串?