在后端和前端技术方面,GAE 能做什么而 Web Hosting 不能?

In terms of back-end and front-end technology, what can GAE do that Web Hosting can't?

我模糊地理解 Google App Engine 和传统虚拟主机服务之间的区别。

我明白 GoogleApp Engine 可以扩展到更广泛的受众,这要归功于不必维护您自己的硬件、处理负载平衡、将数据分散到多个位置等。

但是就使用 Python 或 GAE 上任何其他受支持的语言可以 完成 而言,虚拟主机服务不能配备LAMP 堆栈(或类似的)创建动态内容、存储数据和向浏览器呈现页面一样吗?开发者是否可以通过 GAE 提供其他内容/服务?

例子会很有帮助。

在我看来 - 我能想象的是它们都提供 HTML 页面、CSS 和 JS 文件、图像、视频、音乐,可能从关系数据库中提取数据,允许用户上传文件分享等

这都是关于两个关键问题:可扩展性和维护。

当您最大化您的 Web 服务器,然后最大化您的数据库服务器,然后最大化数据库服务器集群时,可扩展性就会发挥作用。有了 App Engine,您就不必再考虑了。对于任何其他解决方案,您都必须非常出色并投入大量时间才能达到下一个级别。

例如,实现允许任意数量的前端实例在涉及来自任意数量的数据库服务器的数据的任意数量的后端实例上安排任务的任务队列并不容易。在 App Engine 上,只需几行代码。

在维护方面,App Engine 消除了令人头疼的硬件 failure/repair、hardware/network 监控、OS/web server/database/etc。软件更新和补丁、数据复制 - 我只提到关键领域。

根据项目的规模,节省的费用可能非常可观。

添加到@Andrei 的回答中,App Engine 是关于平台即服务 (PAAS) 的。例如,您写道:

In my mind - all I can picture is that they both serve HTML pages, CSS & JS files, images, videos, music, maybe pull data from a relational database, allow users to upload files to share, etc.

这就是您应该考虑的全部内容。使用 App Engine,您不必考虑它是哪个版本的操作系统 运行,它当前具有哪个数据库版本,哪个 Web 服务器、文件服务器、日志服务器、内存缓存和任务队列服务器是 运行,等等。

Google 的工程师让您的服务器保持正常运行,并 运行 每项服务的最新版本,您无需执行任何升级或扩展操作。所有数据都自动备份到三个位置,并像 Google 保护自己的数据一样得到彻底保护。如果黑客想要闯入,他们必须先突破 Google 的防御。

所以你只需要考虑你的代码和数据,其他的交给Google。与您必须自己维护所有内容的标准虚拟主机相比,从所有这些额外工作中解脱出来是一种解脱。我知道,我自己都做过。