Entornos de ejecución del entorno estándar de App Engine

El entorno estándar de App Engine tiene dos generaciones de entornos de ejecución. Los entornos de ejecución de segunda generación mejoran significativamente las capacidades de App Engine y quitan algunas de las limitaciones de los entornos de ejecución de la primera generación. En esta página, se describen las similitudes y diferencias entre los entornos de ejecución de primera y segunda generación.

Segunda generación Primera generación
Idiomas compatibles Python 3
Java 11+
Node.js
PHP 7/8
Ruby
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
Extensión del lenguaje y compatibilidad con la biblioteca del sistema Cualquier extensión o biblioteca Python 2.7, PHP 5.5: Extensiones y bibliotecas que usan la lista de anunciantes permitidos
Java 8, Go 1.11: Cualquier extensión o biblioteca
API admitidas

Para acceder a todos los servicios de Google Cloud, usa las bibliotecas cliente de Cloud de código abierto.

Cuando actualizas a los entornos de ejecución de Python 3, Java 11+ o Go 1.12+, puedes seguir usando muchos de los servicios agrupados de App Engine. Para obtener más información, consulta Python 3, Java 11+ y Go 1.12+ a fin de obtener más detalles.

Bibliotecas cliente de Cloud y servicios agrupados de App Engine
Para el almacenamiento de archivos BLOB grande, usa Cloud Storage o continúa usando el servicio en paquetes de la API de Blobstore de App Engine.
API de Blobstore de App Engine
Para la persistencia de datos, usa Firestore en modo Datastore y Cloud SQL para el almacenamiento relacional. De manera alternativa, puedes seguir usando el servicio en paquetes de la API de App Engine Datastore.
API de App Engine Datastore
Para la ejecución diferida de tareas, continúa usando la API diferida (Python), la API de DeferredTask (Java) y la API de Delay (Go). Los usuarios de PHP pueden seguir especificando la ejecución diferida a través del servicio en paquetes de la API de listas de tareas en cola. Como alternativa, puedes implementar la funcionalidad diferida mediante Cloud Tasks.
API Deferred de App Engine
Para el procesamiento de imágenes, puedes usar Cloud Storage a fin de entregar imágenes directamente, o una red de distribución de contenidos (CDN) de terceros o una biblioteca de procesamiento de imágenes.
De manera alternativa, puedes seguir usando el servicio en paquetes de la API de imágenes de App Engine.
API de Imágenes de App Engine
Para la mensajería entrante o saliente, continúa usando el servicio en paquetes de la API de correo electrónico de App Engine. Como alternativa, para la mensajería saliente, puedes usar un proveedor de correo electrónico de terceros, como SendGrid, Mailgun o Mailjet.
En este momento, no está disponible una alternativa de terceros recomendada para la mensajería entrante.
API de correo de App Engine
Para almacenar en caché datos de aplicaciones, crea una instancia de Memorystore y conéctala a tu aplicación mediante el Acceso VPC sin servidores. Como alternativa, puedes seguir usando el servicio en paquetes de la API de Memcache de App Engine. API de Memcache de App Engine
Para índices de documentos que se pueden buscar, aloja cualquier base de datos de búsqueda de texto completo, como ElasticSearch en Compute Engine, y accede a ella desde tu servicio. Google Cloud Marketplace también ofrece un servicio Elasticsearch basado en SaaS. De manera alternativa, puedes seguir usando el servicio en paquetes de la API de App Engine Search. API de App Engine Search
Para ejecutar tareas externas, permanece en el servicio empaquetado de la lista de tareas en cola de App Engine para las listas de aplicaciones en cola y de extracción, o migra las listas de aplicaciones en cola a Cloud Tasks.
En el caso de las listas de extracción a Pub/Sub.
API de lista de tareas en cola de App Engine
Para la autenticación del usuario, continúa usando el servicio empaquetado de la API de usuarios de App Engine o migra a cualquier servicio de autenticación que se describa en las Opciones de autenticación del usuario. API de usuarios de App Engine
Acceso a la red externa Acceso completo Python 2.7, PHP 5.5: Mediante la API de recuperación de URL
Java 8, Go 1.11: Acceso completo
Acceso al sistema de archivos Acceso de lectura/escritura a /tmp Python 2.7, PHP 5.5: Ninguno
Java 8, Go 1.11: Acceso de lectura/escritura a /tmp
Entorno de ejecución del lenguaje Entorno de ejecución de código abierto no modificado Modificado para App Engine
Mecanismo de aislamiento Zona de pruebas del contenedor basado en gVisor Zona de pruebas del contenedor basado en gVisor

Asistencia para el entorno de ejecución de primera generación de App Engine

Los entornos de ejecución de primera generación de App Engine alcanzaron el fin de la asistencia. Google ya no aplicará actualizaciones o parches de seguridad a los componentes del entorno de ejecución que hayan alcanzado el fin de la compatibilidad.

A fin de obtener más información sobre el plan de asistencia para los entornos de ejecución de primera generación, consulta Asistencia para entornos de ejecución heredados y Ciclo de vida del entorno de ejecución.

Similitudes entre entornos de ejecución de primera y segunda generación

  • Tiempo de ampliación casi instantáneo para responder a los aumentos repentinos de tráfico
  • Las aplicaciones se compilan mediante el mismo proceso de compilación
  • Mismo ANS para los servicios de DG
  • Misma asistencia para el comando de gcloud y misma interfaz de GCP Console
  • Nivel gratuito

Recursos de migración para entornos de ejecución de primera a segunda generación

Las guías de migración están disponibles para cada entorno de ejecución de lenguaje en la página de asistencia a largo plazo.