Migrar de los servicios agrupados antiguos

La mayoría de las funciones que ofrecían los servicios agrupados antiguos ahora se proporcionan a través de las bibliotecas de cliente de Cloud. Para obtener más información, consulta las alternativas recomendadas que se indican a continuación.

Si no puedes migrar tu proyecto a una solución sin agrupar, puedes seguir usando los servicios antiguos agrupados en tus aplicaciones de Java 11/17 como alternativa. Este enfoque te ofrece flexibilidad para cambiar a servicios sin paquete más adelante en el ciclo de migración.

Una vez que hayas completado la migración de los servicios agrupados antiguos, podrás seguir usando App Engine o migrar a Cloud Run. Cloud Run está diseñado para mejorar la experiencia de App Engine e incorpora muchas de las mejores funciones del entorno estándar y del flexible. Para comparar las funciones y saber cómo migrar, consulta la guía de comparación de App Engine y Cloud Run.

Procesos de migración de servicios agrupados de App Engine

Almacén de blobs

Para almacenar y recuperar datos, usa Cloud Storage a través de las bibliotecas de cliente de Cloud. Para empezar, consulta el artículo Usar Cloud Storage.

Datastore

Puedes usar Firestore en el modo Datastore como alternativa a la API de Datastore. Firestore es la versión más reciente de Datastore y te recomendamos que uses las bibliotecas de cliente de Cloud para Datastore.

Imágenes

Puedes publicar imágenes desde Cloud Storage, publicarlas directamente o usar una red de distribución de contenido (CDN) de terceros.

Para cambiar el tamaño, convertir y manipular imágenes, usa una biblioteca de procesamiento de imágenes como ImageJ2, imgscalr o thumbnailator

Para usar una de estas bibliotecas de terceros, añade la biblioteca como dependencia y actualiza tu código para llamar a las APIs de la biblioteca.

El servicio Imágenes de App Engine también ofrecía funciones para evitar solicitudes dinámicas a tu aplicación gestionando el cambio de tamaño de las imágenes mediante una URL de servicio. Si quieres una función similar, puedes generar las imágenes redimensionadas con antelación y subirlas a Cloud Storage para publicarlas. También puedes usar un servicio de red de distribución de contenido (CDN) de terceros que ofrezca la función de cambiar el tamaño de las imágenes.

Almacenamiento de registros

Te recomendamos que actualices tu aplicación para usar Cloud Logging, que admite funciones como ver registros en el Explorador de registros, descargar registros, filtrar mensajes por gravedad y correlacionar mensajes de la aplicación con solicitudes específicas. Si prefieres la sencillez a la exactitud de los datos, puedes escribir registros estructurados en stdout o stderr. Para obtener más información, consulta los artículos sobre cómo escribir y ver registros.

Correo

Para mejorar la seguridad del correo y garantizar una entrega fiable de correos de gran volumen, te recomendamos que migres de la API Mail antigua a un servicio de correo basado en SMTP, como SendGrid, Mailgun o Mailjet.

Memcache

Para almacenar en caché datos de aplicaciones, usa Memorystore para Redis.

Módulos

Para obtener información y modificar los servicios en ejecución de tu aplicación, usa una combinación de variables de entorno y la API Admin de App Engine:

Información sobre el servicio Cómo acceder
ID de la aplicación actual Variable de entorno GAE_APPLICATION
ID del proyecto actual Variable de entorno GOOGLE_CLOUD_PROJECT
Nombre del servicio actual Variable de entorno GAE_SERVICE
Versión actual del servicio Variable de entorno GAE_VERSION
ID de instancia actual Variable de entorno GAE_INSTANCE
Nombre de host predeterminado Método apps.get de la API Admin
Lista de servicios Método apps.services.list de la API Admin
Lista de versiones de un servicio Método apps.services.versions.list de la API Admin
Versión predeterminada de un servicio, incluidas las divisiones de tráfico Método apps.services.get de la API Admin
Lista de instancias en ejecución de una versión Método apps.services.versions.instances.list de la API Admin

Para obtener más información sobre los datos disponibles sobre los servicios en ejecución de tu aplicación, consulta el artículo sobre el entorno de ejecución de Java 11/17 .

Espacios de nombres

La API Namespaces permite que las aplicaciones multicliente particionen los datos entre los clientes simplemente especificando una cadena de espacio de nombres única para cada cliente.

Aunque Datastore admite el multitenancy directamente, otros servicios Google Cloud no lo hacen. Si tu aplicación multitenant usa otros servicios de Google Cloud, tendrás que gestionar la multitenencia manualmente. Para tener instancias de servicios completamente aisladas, puedes crear proyectos nuevos de forma programática con la API Cloud Resource Manager y acceder a recursos de diferentes proyectos.

OAuth

En lugar de usar el servicio OAuth de App Engine para verificar los tokens de OAuth 2.0, utiliza el método oauth2.tokeninfo de la API OAuth 2.0.

Aloja cualquier base de datos de búsqueda de texto completo, como Elasticsearch, en Compute Engine y accede a ella desde tu servicio.

Cola de tareas

Poner tareas en cola para la ejecución de código asíncrono mediante la API REST, la API RPC o las bibliotecas de cliente de Cloud Tasks, y usar un servicio estándar de App Engine (Java 11/17, PHP 7/8, Go 1.12+ o Python 3) como destino de envío.Para obtener más información, consulta el artículo sobre cómo migrar de las colas de tareas a Cloud Tasks.

Para Java 11/17, consulta el siguiente programa de ejemplo que interactúa con la API Cloud Tasks.

En muchos casos en los que podrías usar colas para tareas extraídas, como poner en cola tareas o mensajes que extraerán y procesarán trabajadores independientes, Pub/Sub puede ser una buena alternativa, ya que ofrece funciones y garantías de entrega similares.

Autenticación de usuarios

Como alternativa a la API Users, puedes usar cualquiera de los mecanismos de autenticación basados en HTTP que se describen en la página Autenticación de usuarios.