Execução de código no Cloud Run

Uma das principais vantagens de usar o Cloud Run para alojar agentes de IA é que isola o código através do respetivo ambiente de execução seguro. Ao criar uma ferramenta de sandbox de código no Cloud Run e executá-la no seu contentor, pode executar código de aplicação usando qualquer linguagem de programação que escolher.

Isolamento de processos de duas camadas seguro

O Cloud Run isola todas as instâncias através de uma sandbox de duas camadas que consiste numa camada suportada por hardware equivalente a VMs individuais (virtualização x86) e numa camada de kernel de software. Para mais informações, consulte a Vista geral do design de segurança.

Quando implementa o seu código, o Cloud Run restringe o código ao ambiente de sandbox. Este isolamento permite-lhe executar código não fidedigno, como código gerado por um modelo de linguagem (conteúdo extenso) (MDL/CE), com maior segurança. Quando executar código não fidedigno, restrinja as autorizações da IAM no seu serviço do Cloud Run e use regras de firewall da VPC para impedir que o seu código faça chamadas para a Internet.

Modos de execução de código

O Cloud Run oferece os seguintes modos para a execução de código:

  • Execução assíncrona: para evitar a interrupção do fluxo principal da aplicação, execute tarefas de forma assíncrona usando uma tarefa do Cloud Run para tarefas de execução mais longa ou em segundo plano. Por exemplo, execute uma tarefa do Cloud Run que carregue código para o Cloud Storage, instale as dependências necessárias e, em seguida, processe e armazene os resultados novamente no Cloud Storage.

  • Execução síncrona: para processos que requerem uma resposta imediata, use um serviço do Cloud Run. Um serviço do Cloud Run tem um limite de tempo máximo de uma hora, o que oferece um período significativo para a execução do seu código. Para limitar as instâncias a processar um pedido de cada vez, defina o valor de simultaneidade como 1. Também pode obter o código para executar como parte do corpo do pedido, devolver o resultado na resposta e, em seguida, terminar a instância do contentor.

    A imagem seguinte mostra os dois modos de execução de código:

    Para a execução assíncrona, o código é carregado para o Cloud Storage, que é executado como uma tarefa do Cloud Run. A tarefa envia os resultados da execução para o Cloud Storage para serem armazenados. Para a execução síncrona, o agente envia um pedido ao serviço do Cloud Run com código no corpo do pedido. O serviço tem um limite de tempo de uma hora e uma concorrência de "1". O serviço do Cloud Run processa o código e envia-o para a instância do serviço, que devolve uma resposta ao agente.
    Figura 1. Modos de execução de código no Cloud Run

O que se segue?