【问题标题】:Deploying .NET windows apps on cloud在云上部署 .NET Windows 应用程序
【发布时间】:2011-11-29 09:44:51
【问题描述】:

有什么方法可以在云上部署 .NET Windows 应用程序? PaaS(平台即服务)呢?我对这一切云嗡嗡声很陌生。在这方面的任何帮助将不胜感激。

【问题讨论】:

    标签: .net azure amazon-ec2 cloud appharbor


    【解决方案1】:

    您有两个主要的云基础架构系列需要考虑:IAAS(基础架构即服务),您可以在其中有效地按小时租用虚拟机,或 PAAS(平台即服务),您可以在其中租用完整的部署基础架构。

    Amazon EC2 是 IAAS 市场中最大和领先的参与者。您可以租用预安装和预配置了 Windows Server(和 SQL Server,如果您愿意)的 VM。您需要自己部署、配置和维护您的应用程序;配置好实例后,Visual Studio 工具就可以很好地解决这个问题。

    您还需要在 VM 上维护 Windows - 这包括 Windows 更新。

    Azure 是适用于 Windows 的领先 PAAS 平台。将应用程序部署到 Azure 相当简单,因为 Microsoft 有一些与 Visual Studio 集成的优秀工具,可以尽可能轻松地完成此操作。 Microsoft 将负责操作系统和底层管道的维护,这可能是大中型应用程序的重要配置。

    正如其他人所提到的,一些供应商融合了这两种方法:AppHarbor 具有 IAAS 和 PAAS 的各个方面。

    为了充分利用这两个平台,值得使用专业存储技术。两者都有一个简单的键/值对存储系统,它比 SQL 数据库快得多,但也有一些权衡,例如不支持事务。但是,根据您的应用程序及其大小,这可以大大加快速度。

    云基础架构的最大好处是您不再需要关心诸如

    • 托管具有冗余的本地服务器网络
    • 高速双向网络连接
    • 灾难恢复和备份
    • 国际网络延迟
    • 向外扩展:通常,您只需购买另一个实例来处理额外负载

    如果您已经拥有一支由数据中心专家组成的精锐团队,并且拥有超快的网络,那么这可能并不合适。

    我建议你评估一下

    • 应用程序的使用:是否轻用?内部还是外部?
    • 正常运行时间要求:如果网站出现故障,如果会损失多少钱?
    • 您可用的 IT 资源量:云基础架构“对开发人员友好”,可以减少对运营人员的需求
    • 您的预算:使用本地系统实际上可能更具成本效益

    祝你好运!

    【讨论】:

    • 注意,我在这里谈论的是 Web (ASP.NET) 应用程序,而不是 Windows 窗体或 WPF。请澄清您的问题 - 如果您的意思是 Windows 窗体,请忽略此问题。 (如果是这样的话,我个人认为云架构根本不合适。)
    • Windows Azure 是 PaaS,而不是 IaaS。
    • 我说的是 Windows Forms 应用程序,那么我怎样才能让我的客户可以从 Web 使用我的应用程序,而不是完全制作一个 Web 端口呢?
    • 它们是完全不同的技术。要使用基于云的解决方案,您确实需要考虑重新设计以使用 Web 技术。
    【解决方案2】:

    如果您想要简单的云托管,您可以在AzureAppHarbor 之间进行选择。

    我没有亲自使用过AppHarbor,看起来很有前途。主要思想是将常规 webapp 推送到 git 存储库(Mercurial、svn 和 TFS 也支持使用与 3rd 方源代码托管程序的集成),AppHarbor 将构建它、运行测试和部署应用程序。这使得部署非常简单。 AppHarbor 也是不错的附加组件选择,包括 SQL Server、MongoDB 等。

    Azure 是一个成熟的云托管,具有各种组件,例如表存储、blob 存储和类似组件。似乎真正可扩展的解决方案需要这种存储引擎,但对于大多数由 SQL 服务器支持的应用程序,我认为 AppHarbor 是最简单的选择。 (如果需要,您仍然可以使用 Azure 和 S3 中的 blob 和表。

    【讨论】:

      【解决方案3】:

      通过终端服务/远程桌面/Citrix,您可以在服务器上托管您的 Windows 窗体应用程序,并让客户使用它们,就好像它们是在本地安装一样。有些事情(比如本地文件访问)的工作方式有点不同,但这是可能的。

      客户端需要安装软件才能访问服务。大多数 Windows PC 上已经安装了远程桌面等软件。

      托管网络服务的成本(许可和资源)有所不同。一般来说,您不能像 Web 应用程序那样处理尽可能多的客户端/服务器,但托管 Windows 应用程序通常是为有限数量的客户端完成的,所以这应该不是问题。

      【讨论】:

        猜你喜欢
        • 2020-10-18
        • 2015-04-04
        • 1970-01-01
        • 2016-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-06
        • 1970-01-01
        相关资源
        最近更新 更多