Visão geral do Cloud Functions

O que é o Google Cloud Functions?

O Google Cloud Functions é um ambiente de execução sem servidor para criar e conectar serviços em nuvem. Com o Cloud Functions, você escreve funções simples e com uma única finalidade anexadas a eventos emitidos pela infraestrutura em nuvem e pelos serviços. A função é acionada quando um evento em análise é disparado. O código é executado em um ambiente totalmente gerenciado. Não é necessário provisionar uma infraestrutura nem se preocupar com o gerenciamento dos servidores.

É possível programar o Cloud Functions 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.

O Cloud Functions oferece duas versões do produto: o Cloud Functions (1a geração), a versão original e o Cloud Functions (2a geração), uma nova versão criada no Cloud Run e Eventarc para fornecer um conjunto de recursos aprimorados. Consulte Comparação de versões do Cloud Functions para mais informações.

Conecte e amplie os serviços em nuvem

O Cloud Functions fornece uma camada conectiva de lógica que permite gravar código para conectar e estender serviços em 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. O Cloud Functions aumenta os serviços em nuvem atuais e permite atender a um número cada vez maior de casos de uso com lógica de programação arbitrária. As funções do Cloud têm acesso à credencial 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, o Cloud Functions é compatível com várias bibliotecas de cliente do Google 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 gatilho permite capturar e tomar uma decisão em relação aos eventos. Para mais informações sobre como criar acionadores e associá-los a funções, consulte Acionadores do Cloud Functions.

Sem servidor

O Cloud Functions remove o trabalho de gerenciar servidores, configurar software, atualizar bibliotecas e corrigir sistemas operacionais. O software e a infraestrutura são totalmente gerenciados pelo Google. 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.

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.

Os detalhes e a rapidez do Cloud Functions o tornam o serviço ideal para APIs e webhooks leves. 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 com outros casos de uso comuns do Cloud 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, faça a transcodificação de vídeos, valide e transforme dados e invoque qualquer serviço na Internet usando o Cloud Functions.
Webhooks Com um gatilho HTTP simples, responda 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 Firebase do Google para desenvolvedores de apps e crie o back-end para dispositivos móveis no Cloud Functions. Detecte e responda a eventos do Firebase Analytics, do Realtime Database, do Authentication e do Storage.
IoT Imagine dezenas ou centenas de dispositivos que transmitem dados para o Pub/Sub e, assim, iniciam o Cloud Functions para processar, transformar e armazenar dados. Com o Cloud Functions, você faz isso sem nenhum servidor.

A seguir