La mayoría de las funciones que prestan los servicios agrupados en paquetes heredados ahora las proporcionan las bibliotecas cliente de Cloud. Para obtener más información, consulta las alternativas recomendadas que se mencionan a continuación.
Si migrar a una solución sin agrupar no es una opción para tu proyecto, entonces quizás puedas continuar usando servicios agrupados en paquetes heredados en tus apps de Java 11/17 como resguardo. Este enfoque te brinda la flexibilidad para pasar a los servicios sin agrupar más adelante en el ciclo de migración.
Después de migrar de los servicios agrupados en paquetes heredados, puedes seguir usando App Engine o migrar a Cloud Run. Cloud Run está diseñado para mejorar la experiencia de App Engine, ya que incorpora muchas de las mejores funciones del entorno estándar y del entorno flexible. Para comparar funciones y comprender cómo migrar, consulta la guía de comparación de App Engine y Cloud Run.
Rutas de migración para los servicios en paquetes de App Engine
Blobstore
Para almacenar y recuperar datos, usa Cloud Storage a través de las bibliotecas cliente de Cloud. Para comenzar, consulta Usa Cloud Storage.
Datastore
Puedes usar Firestore en modo Datastore como alternativa a la API de Datastore. Firestore es la versión más reciente de Datastore y recomendamos usar las bibliotecas cliente de Cloud para Datastore.
Imágenes
Para migrar el servicio de imágenes de App Engine, implementa un servicio de transformación de imágenes en contenedores en Cloud Run y enruta a él las llamadas al servicio de imágenes de App Engine. Para alojar y entregar imágenes, almacénalas en un bucket de Cloud Storage o distribúyelas con Cloud CDN. Para obtener más información, consulta Migra el servicio de imágenes.Logging
Recomendamos que actualices tu app para usar Cloud Logging, que admite funciones como ver registros en el explorador de registros, descargar registros, filtrar mensajes por gravedad y correlacionar los mensajes de apps con solicitudes específicas. Como alternativa, si prefieres la simplicidad en lugar de la exactitud de los datos, puedes escribir registros estructurados en stdout o stderr.
Para obtener más información, consulta
Escribe y visualiza registros.
Correo electrónico
Para mejorar la seguridad del correo electrónico y garantizar la entrega confiable de correos electrónicos de gran volumen, te recomendamos que migres del servicio de correo electrónico heredado a un servicio de correo electrónico basado en SMTP como SendGrid, Mailgun o Mailjet.Memcache
A fin de almacenar en caché los datos de la aplicación, usa Memorystore para Redis.
Módulos
Para obtener información y modificar los servicios en ejecución de tu aplicación, usa la API de App Engine Admin junto con una combinación de variables de entorno:
| Información del servicio | Cómo acceder |
|---|---|
| ID de aplicación actual | Con la variable de entorno GAE_APPLICATION. |
| ID del proyecto actual | Con la variable de entorno GOOGLE_CLOUD_PROJECT. |
| Nombre del servicio actual | Con la variable de entorno GAE_SERVICE. |
| Versión del servicio actual | Con la variable de entorno GAE_VERSION. |
| ID de instancia actual | Con la variable de entorno GAE_INSTANCE. |
| Nombre de host predeterminado | Método apps.get de la API de Administrador |
| Lista de servicios | Método apps.services.list de la API de Administrador |
| Lista de versiones para un servicio | Método apps.services.versions.list de la API de Administrador |
| Versión predeterminada para un servicio, incluidas las divisiones del tráfico | Método apps.services.get de la API de Administrador |
| Lista de instancias en ejecución para una versión | Método apps.services.versions.instances.list de la API de Admin |
Espacios de nombres
La API de espacios de nombres habilitó a las apps multiusuario a dividir los datos entre los usuarios con solo especificar una string de espacio de nombres única para cada usuario.
Si bien Datastore admite multiusuario directamente, otros Google Cloud servicios no lo hacen. Si tu app multiusuario usa otros Google Cloud servicios, deberás administrar la función multiusuario de forma manual. Para tener instancias de servicios aisladas por completo, puedes crear proyectos nuevos de manera programática mediante la API de Cloud Resource Manager y acceder a los recursos de todos los proyectos.
OAuth
En lugar de usar el servicio de OAuth de App Engine para verificar los tokens de OAuth 2.0, usa el método oauth2.tokeninfo de la API de OAuth 2.0.
Búsqueda
Aloja cualquier base de datos de búsqueda en el texto completo, como ElasticSearch, en Compute Engine y accede a ella desde tu servicio.
Lista de tareas en cola
Pon en cola tareas para la ejecución de código asíncrono con las bibliotecas cliente de Cloud, la API de RPC o la API de REST de Cloud Tasks, y usa un servicio estándar de App Engine de Java 11/17 como objetivo Push. Para obtener más información, consulta Migra de listas de tareas en cola a Cloud Tasks.
Para Java 11/17, consulta el siguiente programa de muestra que interactúa con la API de Cloud Tasks.En muchos casos en los que puedes usar listas de extracción, como poner en cola tareas o mensajes que se extraen y procesan con trabajadores separados, Pub/Sub puede ser una buena alternativa, ya que ofrece funcionalidades y garantías de entrega similares.
Autenticación de usuarios
Para una alternativa a la API de usuarios, usa cualquiera de los mecanismos de autenticación basados en HTTP descritos en la página Autenticación de usuarios.