6

与 Google Application Engine 相比,您认为 Amazon Web Services S3 的优缺点是什么?在我问的时候,这两者的每 GB 成本大致相似。我没有看到任何关于服务质量的广泛投诉;所以我认为使用哪一个的决定可能取决于 API(所有事物)。

Google 的 API 将您的内容分解为他们所谓的静态内容,例如您的 CSS 文件、网站图标、图像等以及非静态动态生成的 HTTP 响应。对静态内容的请求将提供给任何请求它的人,直到达到您的带宽限制;在达到您的带宽或 CPU 限制之前,将满足非静态请求。对于您的非静态请求,您可以提供您能够用 Python 表达的任何逻辑,因此您可以选择为谁服务。

Amazon 的 API 将您的所有内容视为存储桶中的 blob,并提供一种访问协议,让您能够区分各种可满足的请求,范围从世界可读到仅供所有者使用。但是,如果您想要工具包中没有的东西,除了考虑分发 URI 之外,我不知道您会做什么。

你觉得两者有什么不同?还有其他你喜欢的云存储服务吗? Zetta今天发布了一份新闻稿,但他们正在寻找至少 10 TB 的 beta 应用程序,而我的客户都没有(目前);Joyent可能会在不久的将来做点什么。

4

2 回答 2

3

我认为 Google App Engine 基本上为您提供了一个沙箱来部署您的应用程序,只要它是按照他们的要求(Python 等)编写的。亚马逊为您提供了一个虚拟机,在可以做什么方面具有更大的灵活性,但您可能需要做更多的工作。MS new Azure 似乎正在走 GAE 路线,但用 .NET 替换 Python。

于 2009-04-06T22:54:58.983 回答
2

GAE 对通过 appcfg.py 上传的静态文件的每个限制为 10MB(请查看http://code.google.com/appengine/docs/python/tools/uploadinganapp.html的底部)。显然,您可以编写代码将大文件切成小块并在下载时重新组合,但它向我表明 Google 不希望 App Engine 仅用作简单的 CDN,如果您想将其用作一个'将不得不做一些工作。S3 开箱即用,您所要做的就是获取第三方界面应用程序。

如果你想在 S3 上做一些非标准的文件访问,那么亚马逊可能希望你在 EC2 上创建一个服务器实例。完成此操作后,您将拥有比 GAE 环境更大的灵活性,但您需要支付更多费用(现金和可能的维护费用)。

GAE 的优点是它对小型应用程序“便宜”(高达 1GB 存储、1GB 带宽和每天 130 万次点击是免费的:http ://code.google.com/appengine/docs/quotas .html)。根据您的使用情况,这可能很重要,或者与您的总带宽成本的规模无关。

巧合的是,我最近几天才第一次看 GAE。我把一个旧的 Perl CGI 脚本变成了一个 GAE 应用程序,它可以启动并运行。总共大约 10 个小时,包括阅读 GAE 介绍性文档和记住 Python 应该如何工作,足以编写几百行代码。我推测这比将一堆文件加载到 S3 上更费力,但比维护 EC2 服务器更省力。但是,我没有使用亚马逊。

[编辑补充:这听起来像亚马逊的优势都是出于商业目的。这很可能是真的,但是 GAE 还没有成熟,大概会很快从这里变得更好。他们只允许人们在 12 月左右开始付款,在此之前,除非与谷歌有特殊安排,否则它是免费配额的。虽然谷歌有时会因其“永久测试版”的说法而受到抨击,但我认为 GAE 确实仍在起步。如果您的应用非常适合 BigTable 数据范例,那么它在 GAE 上的扩展性可能比 EC2 更好。对于存储,我认为 S3 对于所有合理的目的已经足够好,而且当你所做的只是提供文件时,谷歌的聪明架构没有给 GAE 带来任何优势来弥补。]

* 除了 Google 刚刚向我提供了 GAE 对 Java 支持的预览。

** 刚刚注意到您可以设置 chron 作业,但它们受到与任何其他请求相同的规则的限制(30 秒运行时,无法修改文件等)。

于 2009-04-06T22:43:49.353 回答