何时应该使用以下内容:Amazon EC2、Google App Engine、Microsoft Azure 和 Salesforce.com?
-
19-09-2019 - |
题
我是在非常普遍的意义上问这个问题。无论是从云提供商还是云消费者的角度来看。此外,问题不针对任何特定类型的应用程序(实际上,目的是了解哪种类型的应用程序/域可以适合哪种云板 -SaaS PaaS IaaS)。
到目前为止我的理解是:
基础设施即服务:原始硬件(处理器、网络、存储)。
平台即服务:操作系统、系统软件、开发框架、虚拟机。
软件即服务:软件应用程序。
如果 Stackoverflower 能够分享他们对云计算概念的理解和经验,那就太好了。
编辑:好吧,我会用更具体的方式来表达——
亚马逊EC2:您无法控制硬件层。但您可以选择操作系统映像、开发框架(.NET、J2EE、LAMP)和应用程序并将其放置在 EC2 硬件上。您可以在 EC2 上部署使用 Google App Engine 或 Azure 构建的应用程序吗?
谷歌应用引擎:您无法控制硬件和操作系统,并且您可以使用特定的开发框架来构建应用程序。您可以将任何现有的 Java 或 Python 应用程序移植到 GAE 吗?反之亦然,基于 GAE 构建的应用程序是否可以从 GAE 中取出并移植到任何应用程序服务器(如 Websphere 或 Weblogic)?
天蓝色:您无法控制硬件和操作系统,并且您可以使用特定的开发框架来构建应用程序。您可以将任何现有的 .NET 应用程序移植到 Azure 吗?反之亦然,在 Azure 上构建的应用程序是否可以从 Azure 中取出并移植到任何应用程序服务器(例如 Biztalk)?
解决方案
好问题!如你所指出的,不同的产品装配到不同的类别:
EC2是基础设施即服务;你虚拟机实例,并根据需要将与他们无关。 Rackspace的云服务器都或多或少是相同的。
天青,应用程序引擎,和Salesforce都是平台即服务;他们提供不同的集成度,但:天青几乎可以让你运行任意后台服务,而App Engine是面向各地短命请求处理任务(虽然它也支持任务队列和调度任务)。我并不十分熟悉Salesforce的产品,但我的理解是,它在某些方面类似于App Engine的,但更专业化其特定的利基。
这是在软件跌服务从基础件如Amazon的Simple Storage Service和SimpleDB的一切通过完成像雾溪的托管FogBugz的应用程序,当然云产品,StackExchange。
有一个很好的一般规则是上级的产品,你就必须做的工作少,但更具体的是。如果你想有一个bug跟踪系统,利用FogBugz的显然将是最少的工作;在App Engine或天青之上构建一个是更多的工作,但提供了更多的功能,而像EC2原始虚拟机上构建一个甚至更多的工作(相当多了很多,其实),但提供了更多的灵活性。我一般建议是挑选仍满足您的要求的最高水平的平台,并建立从那里。
其他提示
这是一个很好的问题。完全公开,因为我偏爱 Azure,但有其他方面的经验。
我认为 Azure 与其他产品相比的突出之处在于从本地到云的快速过渡。例如 -
- SQL Azure - 更改连接字符串,上传数据库,开始吧!
- 队列的工作方式很像 MSMQ。
- 无论你如何摇晃,斑点都几乎是斑点,但它们会疯狂地缩放。
- 表存储组件很好,因为它为名称/值对提供了令人难以置信的可扩展性 - 但需要一些时间来适应。
- 服务总线是我最喜欢的服务,因为它允许多种通信范例。两个 SB 端点首先尝试相互连接,如果无法连接,则它们通过云进行路由 - 当防火墙往往会妨碍时,可以实现非常安全和可扩展的处理。
- 访问控制列表 - 通常与服务总线配对,以确保正确的人员访问正确的内容 - 想想云中的 SAML。
我希望这有帮助!
我的云体验目前仅限于 Salesforce.com
对于标准业务运营和自动化,它提供了大量功能,使我们能够快速启动和运行应用程序。我们特别受益于以下方面:
- 安全性(管理员可以控制对对象和字段的访问)
- 工作流程和批准
- 自动生成用户界面
- 内置报告和仪表板
- 整个系统(包括我们的自定义更改)可通过网络服务访问
- 能够通过公共站点(例如,电子商务)
- 用于解决标准问题的大型第三方应用程序库
该平台并不能解决所有问题。
我不会使用该平台来模拟核电站或构建下一个推特。
云计算的要点是通过使用支付成本上的节省,使计算资源的立即部署。
在成本不是纯粹每小时每实例美分的x量。成本包括维护,开发,管理等云计算的巨大优势,在我心目中是由具有管理任何解放的客户是不是他们的核心业务竞争力的领域内。如果我是一个保险业,我想我的开发人员专注于我的保险问题,帮助解决我的要求,利率等要求,我宁愿避免处理电子邮件服务器,文件服务器,文档库的问题,与管理操作系统补丁,服务包,等等。
因此,在我看来,最大的好处是从SaaS和PaaS的云产品的。每个人都应该去的IaaS,只有当的PaaS或SaaS的有严重的限制特定需求(即我需要安装一组专用的COM组件和Azure不支持它们)。
SaaS是好商品类型不属于企业的客户端芯线,但更实用的应用程序。这些都是典型的消息系统,门户网站,文档库,电子邮件系统,标准物质,ERP的,会计,等等,等等等等。为什么写你自己的时候,你可以自定义一个很好的支持第三方产品推倒重来。
PaaS的是伟大的,它支持公司的主营业务产品业务软件的核心线。从不必处理操作系统管理文摘客户,让客户专注于业务系统的开发 - 这是没有人还能为客户做
。你也可以利用PaaS的好处(比方说,谷歌应用程序引擎),并扩展它,有时并在必要时由IaaS提供商(如亚马逊)拉出一些虚拟机做了一些号码,然后捣弄只是将结果发送回谷歌应用程序引擎。
这样,你得到两全其美 - 您可以快速开发GAE可扩展的应用程序,那么你可以随时通过运行你从亚马逊虚拟机所需的任何程序增加它
。这个不断变化,现在的Windows Azure还支持VM,所以现在也是IaaS的提供商。
现在怎么样免费Amazon EC2的一年做一个更好的比较。检查了这一点。