Ejecución de código en Cloud Run

Una de las principales ventajas de usar Cloud Run para alojar agentes de IA es que aísla el código mediante su entorno de ejecución seguro. Si creas una herramienta de sandbox de código en Cloud Run y la ejecutas en tu contenedor, puedes ejecutar código de aplicación con el lenguaje de programación que elijas.

Entorno aislado seguro de dos capas

Cloud Run aísla todas las instancias mediante un sandbox de dos capas que consta de una capa respaldada por hardware equivalente a máquinas virtuales individuales (virtualización x86) y una capa de kernel de software. Para obtener más información, consulta la descripción general del diseño de seguridad.

Cuando despliegas tu código, Cloud Run lo confina en el entorno de sandboxing. Este aislamiento te permite ejecutar código no fiable, como el código generado por un modelo de lenguaje extenso (LLM), con mayor seguridad. Cuando ejecutes código no fiable, restringe los permisos de gestión de identidades y accesos (IAM) en tu servicio de Cloud Run y usa reglas de cortafuegos de VPC para evitar que tu código haga llamadas a Internet.

Modos de ejecución de código

Cloud Run ofrece los siguientes modos de ejecución de código:

  • Ejecución asíncrona: para evitar interrumpir el flujo principal de la aplicación, ejecuta las tareas de forma asíncrona mediante un trabajo de Cloud Run para las tareas que se ejecutan durante más tiempo o en segundo plano. Por ejemplo, ejecuta un trabajo de Cloud Run que suba código a Cloud Storage, instale las dependencias necesarias y, a continuación, procese y almacene los resultados de nuevo en Cloud Storage.

  • Ejecución síncrona: para los procesos que requieren una respuesta inmediata, usa un servicio de Cloud Run. Un servicio de Cloud Run tiene un tiempo de espera máximo de una hora, lo que proporciona un tiempo considerable para que se ejecute el código. Para limitar las instancias a que procesen una solicitud a la vez, asigna el valor de simultaneidad a 1. También puedes recuperar el código que se va a ejecutar como parte del cuerpo de la solicitud, devolver el resultado en la respuesta y, a continuación, finalizar la instancia del contenedor.

    En la siguiente imagen se muestran los dos modos de ejecución de código:

    En el caso de la ejecución asíncrona, el código se sube a Cloud Storage, que se ejecuta como una tarea de Cloud Run. El trabajo envía los resultados de la ejecución a Cloud Storage para que se almacenen. Para la ejecución síncrona, el agente envía una solicitud al servicio Cloud Run con código en el cuerpo de la solicitud. El servicio tiene un tiempo de espera de una hora y una simultaneidad de `1`. El servicio de Cloud Run procesa el código y lo envía a la instancia de servicio, que devuelve una respuesta al agente.
    Imagen 1. Modos de ejecución de código en Cloud Run

Siguientes pasos