1

我隐约了解Google App Engine和传统的 Web Hosting 服务之间的区别。

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

但就在 GAE 上使用 Python 或任何其他支持的语言时可以完成的事情而言,配备 LAMP 堆栈(或类似物)的 Web 托管服务不能创建动态内容、存储数据并将页面呈现给浏览器一样吗?开发者是否可以通过 GAE 提供其他一些内容/服务?

示例将非常有帮助。

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

4

2 回答 2

1

这一切都与两个关键问题有关:可扩展性和维护。

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

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

在维护方面,App Engine 消除了硬件故障/维修、硬件/网络监控、OS/Web 服务器/数据库/等的头痛。软件更新和补丁、数据复制——我只提到关键领域。

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

于 2015-06-10T01:36:15.123 回答
1

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

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

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

Google 的工程师可以让您的服务器使用最新版本的每项服务保持正常运行,您无需进行任何操作即可升级或扩大规模。所有数据都会自动备份到三个位置,并像 Google 保护自己的数据一样得到彻底的保护。如果黑客想要尝试闯入,他们必须先通过谷歌的防御。

因此,您只需考虑您的代码和数据,其他一切都交给 Google。与您必须自己维护一切的标准虚拟主机相比,免于所有额外工作是一种解脱。我知道,我已经在自己之前完成了这一切。

于 2015-06-10T03:09:59.010 回答