Desarrolla tu servicio

En esta página, se describen algunas consideraciones que debes tener en cuenta para comenzar a desarrollar un servicio de Cloud Run.

Requisitos de código

Debes cumplir con los siguientes requisitos cuando desarrolles un servicio:

  • El servicio debe detectar las solicitudes. Puedes configurar el puerto al que se envían las solicitudes. Dentro de las instancias de contenedor de Cloud Run, el valor de la variable de entorno PORT siempre refleja el puerto al que se envían las solicitudes. Tu código debe comprobar la existencia de esta variable de entorno PORT y, si está presente, escuchar en ella para maximizar la portabilidad.
  • Debe ser un servicio sin estado. No puede depender de un estado local persistente.
  • El servicio no debe realizar actividades en segundo plano fuera del alcance del control de solicitudes.

Puedes encontrar más información sobre estas restricciones en Contrato del entorno de ejecución de contenedores.

Compatibilidad con lenguajes de programación

Cloud Run te permite escribir código en el lenguaje de programación que elijas.

En la página Guía de inicio rápido sobre la compilación y la implementación, se proporcionan ejemplos en muchos lenguajes populares.

Usa un servidor web

Puedes usar un servidor web para escuchar en el puerto requerido, y procesar y enrutar las solicitudes entrantes. Por ejemplo, los desarrolladores de Node.js pueden usar Express.js, los de Python pueden usar Flask, los de Ruby pueden usar Sinatra, etcétera.

Crea contenedores en tu código

Para implementar en Cloud Run, debes proporcionar una imagen de contenedor. Una imagen de contenedor es un formato de empaquetado que incluye el código, sus paquetes, cualquier dependencia binaria necesaria, el sistema operativo que se usará y todo lo que se necesite para ejecutar el servicio.

Un archivo llamado Dockerfile se suele usar para declarar cómo compilar la imagen de contenedor. Puedes encontrar ejemplos de Dockerfiles para lenguajes populares en la guía de inicio rápido sobre la compilación y la implementación.

Los Dockerfiles suelen comenzar a partir de una imagen base (p. ej., FROM golang:1.11). Puedes encontrar imágenes base en Docker Hub, donde los creadores de SO y lenguajes se encargan de su mantenimiento. Cloud Build revisa si hay imágenes almacenadas en caché antes de extraer desde Docker Hub. Si usas una herramienta de compilación de terceros, puedes configurar tu daemon de Docker para verificar si hay imágenes en la misma caché. También puedes buscar imágenes base administradas por Google en Google Cloud Marketplace.

Si usas tus propios objetos binarios, asegúrate de que estén compilados para la ABI de Linux x86_64.

Estos recursos proporcionan más información sobre Dockerfiles:

¿Qué sigue?