Visão geral das funções do Cloud Run
O que são Cloud Run functions?
Cloud Run functions é um ambiente de execução sem servidor para criar e conectar serviços em nuvem. Com ele, você pode escrever funções de finalidade única e que são vinculadas a eventos emitidos pela sua infraestrutura e pelos serviços em nuvem. A função é acionada quando um evento em análise é disparado. Seu código é executado em um ambiente totalmente gerenciado no Cloud Run. Não é necessário provisionar infraestruturas ou se preocupar com gerenciamento de servidores.
É possível programar o Cloud Run usando várias linguagens de programação compatíveis. Use uma das linguagens compatíveis com sua função e a execute em qualquer ambiente de execução padrão. Isso facilita a portabilidade e os testes locais.
Conecte e amplie os serviços em nuvem
Com a camada de conexão de lógica de funções do Cloud Run, é possível criar um código para conectar e ampliar os serviços na nuvem. Detecte e responda a uploads de arquivo do Cloud Storage, alterações de registro ou mensagens recebidas em um tópico do Pub/Sub. As funções do Cloud Run ampliam os serviços em nuvem atuais e permitem que você resolva um número crescente de casos de uso com lógica de programação arbitrária. O Cloud Run functions tem acesso às credenciais da conta de serviço do Google e são, assim, perfeitamente autenticadas na maioria dos serviços do Google Cloud, como o Cloud Vision, entre outros. Além disso, as funções do Cloud Run são compatíveis com várias Bibliotecas de cliente do Cloud, o que simplifica ainda mais essas integrações.
Eventos e gatilhos
Os eventos na nuvem são ocorrências do ambiente em nuvem. Esses eventos podem ser alterações feitas em dados em um banco de dados, arquivos adicionados a um sistema de armazenamento ou a criação de uma nova instância de máquina virtual.
Os eventos ocorrem independentemente de você ter optado por responder a eles. A resposta a um evento é criada com um gatilho. Ele é uma declaração de que você tem interesse em um determinado evento ou grupo de eventos. A vinculação de uma função a um acionador permite capturar e reagir a eventos. Para mais informações sobre como criar acionadores e associá-los a funções, consulte Acionadores do Cloud Run functions.
Sem servidor
Com o Cloud Run functions, você não precisa gerenciar servidores, configurar software, atualizar frameworks e fazer patch de sistemas operacionais. O software e a infraestrutura são totalmente gerenciados pelo Cloud Run. Dessa forma, basta adicionar código. Além disso, o provisionamento de recursos acontece automaticamente em resposta aos eventos. Isso significa que uma função pode ser dimensionada de poucas invocações por dia a muitos milhões de invocações sem que você faça nada.
Configurável
As funções são integradas a contêineres e implantadas como serviços no Cloud Run. Assim, você tem acesso e controle total sobre o comportamento da função. Consulte a documentação do Cloud Run para conferir as opções de configuração do serviço, como:
- Gerenciamento de gatilhos de vários eventos em funções
- Saída de VPC direta de alto desempenho
- Capacidade de montar volumes do Cloud Storage
- Ambientes de execução de linguagem gerenciados pelo Google, com atualizações de segurança automáticas nas imagens de base
- Divisão de tráfego e controle de revisão
- Suporte gerenciado do Prometheus e do Open Telemetry com contêineres secundários
Casos de uso
Cargas de trabalho assíncronas (como ETL leve) ou automações na nuvem (como acionamento de versões de aplicativos) não precisam mais do próprio servidor ou de um desenvolvedor para gerenciá-los manualmente. Basta implantar a função vinculada ao evento que você quer e pronto.
Devido à natureza detalhada e sob demanda do Cloud Run functions, ele também é a ferramenta ideal para APIs leves e webhooks. Além disso, o provisionamento automático dos endpoints HTTP na implantação de funções HTTP conta com uma configuração simples, diferente de outros serviços. Veja a tabela a seguir para conhecer outros casos de uso comuns do Cloud Run functions:
Caso de uso | Descrição |
---|---|
Processamento de dados/ETL | Detecte e responda a eventos do Cloud Storage, por exemplo, quando um arquivo é criado, modificado ou removido. Processe imagens, execute transcodificação de vídeos, valide e transforme dados e faça a invocação de qualquer serviço na Internet usando o Cloud Run functions. |
Webhooks | Usando um gatilho HTTP, responder a eventos oriundos de sistemas de terceiros, como GitHub, Slack, Stripe ou de qualquer lugar que possa enviar solicitações HTTP. |
APIs leves | Crie aplicativos com bits de lógica leves e de baixo acoplamento rápidos de serem criados e escalonados. As funções podem ser orientadas a eventos ou invocadas diretamente via HTTP/S. |
Back-end para dispositivos móveis | Use a plataforma móvel Firebase do Google para desenvolvedores de apps e crie o back-end para dispositivos móveis nas funções do Cloud Run. Detecte e responda a eventos do Firebase Analytics, do Realtime Database, do Authentication e do Storage. |
IoT | Imagine dezenas ou centenas de milhares de dispositivos fazendo streaming de dados no Cloud Pub/Sub e iniciando as funções do Cloud Run para processar, transformar e armazenar dados. O Cloud Run functions permite que você faça isso sem nenhum servidor. |
A seguir
- Saiba mais sobre o ambiente de execução do Cloud Run functions.
- Conheça as práticas recomendadas para projetar, implementar, testar e implantar o Cloud Run functions.