首页 文章

应该何时使用以下内容:Amazon EC2,Google App Engine,Microsoft Azure和Salesforce.com?

提问于
浏览
85

我在很一般意义上问这个问题 . 从 Cloud 提供商和 Cloud 消费者的角度来看都是如此 . 此外,问题不在于任何特定类型的应用程序(实际上,目的是了解哪种类型的应用程序/域可以适合哪些 Cloud 平板-SaaS PaaS IaaS) .

到目前为止我的理解是:

IaaS:原始硬件(处理器,网络,存储) .

PaaS:操作系统,系统软件,开发框架,虚拟机 .

SaaS:软件应用程序 .

如果Stackoverflower可以分享他们对 Cloud 计算概念的理解和体验,那将是很棒的 .

编辑:好的,我会以更具体的方式 -

Amazon EC2:您无法控制硬件层 . 但您可以选择OS映像,Dev Framework(.NET,J2EE,LAMP)和Application,并将其放在EC2硬件上 . 您可以在EC2上部署使用Google App Engine或Azure构建的应用程序吗?

Google App Engine:您无法控制硬件和操作系统,您可以使用特定的Dev Framework来构建应用程序 . 您可以使用任何现有的Java或Python应用程序并将其移植到GAE吗?反之亦然,构建在GAE上的应用程序是否可以从GAE中取出并移植到任何Application Server,如Websphere或Weblogic?

Azure:您无法控制硬件和操作系统,您可以使用特定的Dev Framework来构建应用程序 . 您可以使用任何现有的.NET应用程序并将其移植到Azure吗?反之亦然,Azure上构建的应用程序是否可以从Azure中取出并移植到Biztalk等任何应用程序服务器?

7 回答

  • 57

    好问题!正如您所指出的,不同的产品适合不同的类别:

    EC2是基础设施即服务;您可以获得VM实例,并根据需要使用它们 . Rackspace Cloud 服务器或多或少相同 .

    Azure,App Engine和Salesforce都是平台即服务;但是,它们提供了不同级别的集成:Azure几乎可以让您运行任意后台服务,而App Engine则面向短期请求处理程序任务(尽管它还支持任务队列和计划任务) . 我对Salesforce的产品并不十分熟悉,但我的理解是它在某些方面类似于App Engine,尽管它更专注于其特定的利基市场 .

    属于软件即服务的 Cloud 产品包括从亚马逊的简单存储服务和SimpleDB等基础设施到完整的应用程序,如Fog Creek托管的FogBugz,当然还有StackExchange .

    一个好的一般规则是,提供的级别越高,您需要做的工作就越少,但它就越具体 . 如果你想要一个bug追踪器,使用FogBugz显然是最不起作用的;在App Engine或Azure之上构建一个是更多的工作,但提供了更多的功能,而在EC2之类的原始虚拟机之上构建一个甚至更多的工作(实际上相当多),但提供了更多功能 . 我的一般建议是选择仍然符合您要求的最高级平台,并从那里构建 .

  • 2

    这是一个很好的问题 . 完全披露,因为我偏爱Azure,但有其他人的经验 .

    我认为Azure与其他产品脱颖而出的是从内部到 Cloud 端的快速过渡 . 例如 -

    • SQL Azure - 更改连接字符串,上传数据库,转!

    • 队列很像MSMQ .

    • Blob几乎都是blob,无论你怎么摇动它们,但它们都像疯了一样扩展 .

    • 表存储组件很好,因为它为名称/值对提供了令人难以置信的可伸缩性 - 但需要一些时间来习惯 .

    • Service Bus是我最喜欢的服务,因为它允许各种通信范例 . 两个SB endpoints 首先尝试相互连接,如果它们不能连接,那么它们将通过 Cloud 路由 - 当防火墙容易阻碍时,可以实现非常安全和可扩展的处理 .

    • 访问控制列表 - 通常与服务总线配对,以确保合适的人员访问正确的东西 - 在 Cloud 中思考SAML .

    我希望有所帮助!

  • 7

    我的 Cloud 体验目前仅限于Salesforce.com

    对于标准业务运营和自动化,它提供了大量功能,使我们能够非常快速地启动和运行应用程序 . 我们特别受益于以下方面:

    • 安全(管理员可以控制对象和字段的访问)

    • 工作流程和批准

    • 自动生成UI

    • 内置报告和仪表板

    • 整个系统(包括我们的自定义更改)可通过Web服务访问

    • 能够通过公共网站(例如电子商务)提供系统中的数据

    • 用于解决标准问题的大型第三方应用程序库

    该平台无法解决所有问题 .

    我不会使用该平台来建模核电站或 Build 下一个推特 .

  • 13

    Cloud 计算的主要目的是通过支付使用费并立即部署计算资源来节省成本 .

    成本不是每小时每小时的x美分 . 成本包括维护,开发,管理等 . 在我看来, Cloud 的巨大好处是解放客户不必管理任何事情 is not within the realm of their core business competency . 如果我是一家保险公司,我希望我的开发人员专注于我的保险问题,以帮助解决我的索赔,费率等需求 . 我宁愿避免处理电子邮件服务器,文件服务器,文档存储库和管理操作系统补丁的问题,服务包等

    因此,在我看来,最大的好处来自SaaS和PaaS Cloud 产品 . 只有当PaaS或SaaS严格限制特定需求时才应该去IaaS(即我需要安装一组专有的COM组件而Azure不支持它们) .

    SaaS适用于不是客户业务核心业务的商品类型的应用程序,但更多的是实用程序 . 这些是您典型的消息系统,门户网站,文档存储库,电子邮件系统,CRM,ERP,会计等等 . 当您可以自定义支持良好的第三方产品时,为什么要通过编写自己的方式重新发明轮子 .

    PaaS非常适合支持公司主要业务的核心业务软件 . 抽象客户不必处理操作系统管理,让客户专注于业务系统开发 - 这是客户无法做到的事情 .

  • 6

    人们还可以利用PaaS的优势(比方说,谷歌应用引擎)并有时扩展它,如果有必要,可以从IaaS提供商(例如亚马逊)中抽出一些虚拟机进行一些数字运算,然后再发回输出到Google App Engine .

    通过这种方式,您可以获得两全其美的优势 - 您可以在GAE中快速开发可扩展的应用程序,然后您可以通过从Amazon虚拟机运行任何您想要的程序来增强它 .

  • 0

    这种情况在不断变化,现在Windows Azure也支持VM,因此它现在也是一个IaaS提供商 .

  • 3

    现在,免费亚马逊EC2如何做一年更好的比较 . 看一下这个 .

    http://www.buzzingup.com/2010/10/amazon-announces-free-cloud-services-for-new-developers/

相关问题