注意:在未来的几个月内,我们将会重新整理 App Engine 文档网站,使得查找内容更轻松,并更好地与其他 Google Cloud 产品保持一致。将会提供相同的内容,但导航现在将与其余的 Cloud 产品相一致。 如果您在浏览网站时有疑问或者希望提交反馈,请点击“发送反馈”。

选择 App Engine 环境

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

您可以使用 App Engine 柔性环境App Engine 标准环境在 App Engine 中运行应用。此外,您还可以同时用这两种环境运行您的应用,让您的服务同时利用这两种环境各自的优势。

App Engine 环境

App Engine 非常适合利用微服务架构设计的应用,您决定使用这两种环境时尤其如此。阅读以下部分,学习并了解哪种环境最符合您的应用需求。

何时选择标准环境

应用实例利用下列支持语言的运行时环境,在沙盒中运行。

需要处理快速扩缩的应用。

标准环境适合具有以下特征的应用:

  • 源代码用支持的编程语言的特定版本编写
    • Python 2.7、Python 3.7、Python 3.8、Python 3.9 和 Python 3.10
    • Java 8、Java 11 和 Java 17
    • Node.js 10、Node.js 12、Node.js 14、Node.js 16
    • PHP 5.5、PHP 7.2、PHP 7.3、PHP 7.4 和 PHP 8.1
    • Ruby 2.5、Ruby 2.6、Ruby 2.7 和 Ruby 3.0
    • Go 1.11、Go 1.12、Go 1.13、Go 1.14、Go 1.15 和 Go 1.16
  • 运行成本为零或非常低,您只需在需要时为实际所需付费。例如,当没有流量时,应用的实例可以缩减为 0。
  • 突遇流量高峰,需要立即调节。

何时选择柔性环境

应用实例在 Compute Engine 虚拟机上的 Docker 容器中运行。

接收的流量一致但流量会定期波动的应用,或者能满足参数逐渐扩充和缩减的应用。

柔性环境适合具有以下特征的应用:

  • 源代码用以下任一支持的编程语言版本编写:
    PythonJavaNode.jsGoRubyPHP.NET
  • 在 Docker 容器中运行,其中 Docker 容器包含用其他编程语言编写的自定义运行时或源代码。
  • 使用或依赖包含原生代码的框架。
  • 访问位于 Compute Engine 网络的 Google Cloud 项目的资源或服务。

比较高级功能

下表总结了两种环境之间的差异:

功能 标准环境 柔性环境
实例启动时间 数秒 数分钟
请求超时上限 取决于运行时环境和扩缩类型 60 分钟
后台线程 是,但有限制
后台处理
SSH 调试
扩缩 手动、基本、自动 手动、自动
缩减至零 否,最少 1 个实例
写入本地磁盘
  • Java 8、Java 11、Java 17、Node.js、Python 3、PHP 7.X、PHP 8.1、Ruby、Go 1.11 和 Go 1.12+ 具有 /tmp 目录的读写权限。
  • Python 2.7 和 PHP 5.5 没有磁盘的写入权限。
是,临时写入(每个虚拟机启动时的初始化磁盘)
修改运行时 是(通过 Dockerfile)
部署时间 数秒 数分钟
自动就地安装安全补丁 是(不包括容器映像运行时)
访问 Google Cloud API 和服务,如 Cloud StorageCloud SQLMemorystoreTasks 等。
WebSocket 没有
Java 8、Python 2 和 PHP 5 提供专有 Sockets API(测试版),但该 API 在较新的标准运行时环境中不可用。
支持安装第三方二进制文件
  • 对于 Java 8、Java 11、Java 17、Node.js、Python 3、PHP 7.X、PHP 8.1、Ruby、Go 1.11 和 Go 1.12+ 为“是”。
  • 对于 Python 2.7 和 PHP 5.5 为“否”。
位置 北美洲、亚太地区或欧洲 北美洲、亚太地区或欧洲
价格 基于实例小时数计费 基于 vCPU、内存和永久性磁盘的使用情况计费

另请参阅深入的环境比较

比较柔性环境与 Compute Engine

App Engine 柔性环境与 Compute Engine 的不同之处如下:

  • 柔性环境虚拟机实例每周重启一次。在重启期间,Google 的管理服务应用任何必要的操作系统和安全更新。

  • 您始终可以访问 Compute Engine 虚拟机实例的根目录。默认情况下,SSH 对柔性环境中虚拟机实例的访问将停用。您可以视情况启用对应用虚拟机实例的根目录访问权限。

  • 代码部署所需时间可能更长,因为容器映像通过使用 Cloud Build 服务构建。

  • 柔性环境虚拟机实例的地理区域由您为 Cloud 项目的 App Engine 应用指定的位置确定。Google 的管理服务确保所有虚拟机实例位于同一位置,以实现最佳性能。

从标准环境迁移到柔性环境

如果您有在标准环境中运行的应用,您可能想将部分服务迁移至柔性环境。如需获取指导,请参阅环境比较中的建议。

如需迁移 Python、Java、Go 和 PHP 的特定服务,请参阅将服务从标准环境迁移至柔性环境

自行试用

如果您是 Google Cloud 新手,请创建一个帐号来评估 App Engine 在实际场景中的表现。新客户还可获享 $300 赠金,用于运行、测试和部署工作负载。

免费试用 App Engine