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 infraestrutura nem se preocupar com gerenciar servidores.

O Cloud Functions pode ser escrito usando os ambientes de execução JavaScript, Python 3, Go ou Java no Google Cloud Platform. É possível executar a função em qualquer Node.js padrão (Node.js 10 ou 12), Python 3 (Python 3.7 ou 3.8), Go (Go 1.11 ou 1.13) ou Java (Java 11), o que facilita a portabilidade e os testes locais.

Conecte e amplie os serviços em nuvem

O Cloud Functions fornece uma camada de conexão de lógica que permite escrever código para conectar e ampliar 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 de 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ê responder ou não 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 obter mais informações sobre como criar gatilhos e associá-los às funções, consulte Eventos e gatilhos.

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

Não é mais necessário ter servidor e desenvolvedor dedicados para lidar com cargas de trabalho assíncronas, como ETL leve, ou automatizações na nuvem, como gatilhos de versões de aplicativos. 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, como na criação, alteração ou remoção de arquivos. 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 para dispositivos móveis do Google para desenvolvedores de apps, o Firebase e escreva 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