有什么方法可以在云上部署 .NET Windows 应用程序?PaaS(平台即服务)呢?我对这一切云嗡嗡声很陌生。在这方面的任何帮助将不胜感激。
3 回答
您需要考虑两个主要的云基础架构系列:IAAS(基础架构即服务),您可以在其中有效地按小时租用虚拟机,或PAAS(平台即服务),您可以租用完整的部署基础架构。
Amazon EC2 是 IAAS 市场中最大和领先的参与者。您可以租用预安装和预配置了 Windows Server(和 SQL Server,如果您愿意)的 VM。您需要自己部署、配置和维护您的应用程序;配置好实例后,Visual Studio 工具就可以很好地解决这个问题。
您还需要在 VM 上维护 Windows - 这包括 Windows 更新。
Azure 是适用于 Windows 的领先 PAAS 平台。将应用程序部署到 Azure 非常简单,因为 Microsoft 有一些与 Visual Studio 集成的优秀工具,可以尽可能轻松地完成此操作。微软将负责操作系统和底层管道的维护,这可能是中大型应用程序的重要配置。
正如其他人所提到的,一些供应商融合了这两种方法:AppHarbor具有 IAAS 和 PAAS 的各个方面。
为了充分利用这两种平台,值得使用专业的存储技术。两者都有一个简单的键/值对存储系统,它比 SQL 数据库快得多,但也有一些权衡,例如不支持事务。但是,根据您的应用程序及其大小,这可以大大加快速度。
云基础设施的最大好处是您不再需要关心诸如
- 托管本地服务器网络,具有冗余
- 高速双向网络连接
- 灾难恢复和备份
- 国际网络延迟
- 横向扩展:通常,您只需购买另一个实例来处理额外负载
如果您已经拥有一支由数据中心专家组成的精锐团队,并且拥有超快的网络,那么这可能并不合适。
我建议你评估
- 应用程序的使用:是否轻用?内部还是外部?
正常运行时间要求:如果网站出现故障,您将损失多少钱?- 您可用的 IT 资源量:云基础架构“对开发人员友好”,可以减少对运营人员的需求
- 您的预算:使用本地系统实际上可能更具成本效益
祝你好运!
如果您想要简单的云托管,您可以在Azure或AppHarbor之间进行选择。
我没有亲自使用过 AppHarbor,它看起来很有前途。主要思想是,您将常规 webapp 推送到 git 存储库(Mercurial、svn 和 TFS 也支持使用与 3rd 方源代码托管程序的集成),AppHarbor 将构建它、运行测试和部署应用程序。这使得部署非常简单。AppHarbor 也是一个不错的附加组件选择,包括 SQL Server、MongoDB 等。
Azure 是一个成熟的云托管,具有各种组件,如表存储、blob 存储和类似组件。似乎真正可扩展的解决方案需要这种存储引擎,但对于大多数由 SQL 服务器支持的应用程序,我认为 AppHarbor 是最简单的选择。(如果需要,您仍然可以使用 Azure 和 S3 中的 blob 和表。
通过终端服务/远程桌面/Citrix,您可以在服务器上托管您的 Windows 窗体应用程序,并让客户使用它们,就好像它们是本地安装的一样。有些事情(如本地文件访问)的工作方式有点不同,但这是可能的。
客户端需要安装软件才能访问服务。大多数 Windows PC 上已经安装了远程桌面等软件。
托管 Web 服务的成本(许可和资源)有所不同。一般来说,您不能像 Web 应用程序那样处理尽可能多的客户端/服务器,但是托管 Windows 应用程序通常是为有限数量的客户端完成的,所以这应该不是问题。