Alura > Cursos de DevOps > Cursos de Google Cloud Platform > Conteúdos de Google Cloud Platform > Primeiras aulas do curso Google Cloud: implemente funções serverless no Cloud Run

Google Cloud: implemente funções serverless no Cloud Run

Criando função no Cloud Run - Apresentação

Olá, meu nome é Leonardo Sartorello, e dou as boas-vindas a mais um curso da Alura.

Audiodescrição: Leonardo se identifica como um homem branco. Possui barba e cabelos castanhos e olhos azuis. Ao fundo, há uma parede com dois quadros pendurados, iluminada em tons de vermelho e azul.

Para quem é o curso?

Este curso é ideal para quem está começando no Google Cloud Platform e deseja compreender o funcionamento do Cloud Run, um dos principais serviços serverless da Google.

O que aprendemos?

Utilizaremos exemplos práticos para contextualizar os gatilhos e a integração com diversos serviços.

Recursos disponíveis

Aproveite ao máximo os recursos da plataforma, incluindo:

Se prepare para começar essa jornada conosco!

Criando função no Cloud Run - Criando a primeira função

Vamos imaginar que estamos trabalhando em uma empresa e recebemos a tarefa de subir uma nova aplicação na cloud (nuvem). Utilizaremos o Google Cloud e aprenderemos a otimizar esse processo com o Cloud Run, uma solução serverless.

Entendendo o Cloud Run

O Cloud Run é uma ferramenta que permite executar funções ou pequenos trechos de código automaticamente, sem a necessidade de gerenciar máquinas virtuais, realizar auto-scaling ou implementar balanceadores de carga. Ele reduz a complexidade operacional, permitindo que o foco esteja no desenvolvimento de soluções.

Configurando um serviço no Cloud Run

Acessaremos o Cloud Run pelo site do Google Cloud. Após realizar o login, devemos ter um projeto criado.

Caso você não tenha criado um projeto, deve criá-lo. Para isso, acesse a página "Gerenciar Recursos" e clique em "CRIAR PROJETO". Na janela "Novo projeto" que vai ser exibida, insira o nome do projeto e clique em "CRIAR".

Com o projeto criado, basta acessar a barra de pesquisa na parte superior da tela de boas-vindas para buscar por "Cloud Run":

Cloud Run

Na lista de resultados, clicaremos na opção "Cloud Run".

Haverá o direcionamento para a tela do Cloud Run. Abaixo da barra de pesquisa, a interface inicial exibe uma barra horizontal de menus e botões, e logo abaixo, duas guias: "SERVIÇOS" e "JOBS".

Na barra de menus, clicaremos na opção "Escrever uma função", representada por um ícone de reticências envoltas em parênteses ((…)). Na tela exibida, devemos acessar o campo "Nome" e nomear o serviço como "primeira função", sem acentos e trocando o espaço por um hífen:

primeira-funcao

Abaixo desse campo, haverá um aviso para ativar a API do Cloud Run, caso ainda não esteja habilitada. Para isso, basta clicar em "ATIVAR", à direita dessa mensagem.

Acessando o campo "Região", escolheremos a região padrão, US Central 1 (Iowa), pois é uma opção acessível e eficiente para testes. Entretanto, em ambientes reais, é mais adequado selecionar uma região próxima às pessoas usuárias.

No próximo campo, "URL do endpoint", será exibido o endereço para acesso à função, possibilitando sua cópia.

No campo "Tempo de execução", definiremos a linguagem da função. A definição dessa linguagem é crucial. O Cloud Run oferece suporte a várias linguagens, como Python, Node, Java e Ruby. Para este teste, utilizamos Python 3.12.

Recomendamos evitar linguagens marcadas com um triângulo amarelo, que indicam descontinuação.

No campo "Autenticação", marcaremos a opção "Requer autenticação", para torná-la privada enquanto a construímos. Posteriormente, aprenderemos a torná-la pública.

No campo "Alocação de CPU e preços", manteremos a opção padrão: "A CPU é alocada somente durante o processamento da solicitação". Essa é uma prática recomendada para evitar custos contínuos.

Já na seção "Escalonamento de serviços", manteremos o valor zero no campo "Número mínimo de instâncias", mantendo a configuração de instâncias mínimas como zero. Isso também contribui para reduzir despesas, já que as funções serão ativadas somente quando houver requisições.

Na seção "Controle de entrada", manteremos a opção "Todos" selecionada para permitir acesso de qualquer parte da internet, desde que seja autenticado.

Após ajustar as configurações, criaremos o serviço clicando no botão "CRIAR", no canto inferior esquerdo. Se uma janela for exibida informando que algumas APIs ainda não estão ativas, basta clicar em "ATIVAR".

Haverá o direcionamento para a tela do dashboard, da primeira-funcao. A área de código, na parte inferior direita, exibirá a função de exemplo hello_http(), a qual podemos modificar à vontade.

Testando a função

A função padrão, helloHttp verifica se o JSON ou os argumentos da requisição incluem o campo name.

Para começar a testar a função, clicaremos no botão "SALVAR E REIMPLANTAR", acima da área de código. Com isso, a parte superior esquerda da tela exibirá a seção "Criando serviço", com o progresso da atualização. Em seu interior, temos os indicadores "Criando a origem", "Criando revisão" e "Roteando o tráfego". Quando um sinal de check verde surgir à direita das etapas, o serviço estará pronto para uso.

Próximos passos

Com a função criada e pronta, entenderemos quando utilizar funções do Cloud Run e quais os custos envolvidos.

Criando função no Cloud Run - Quando utilizar o Cloud Run

Anteriormente, subimos nossa primeira função utilizando o Cloud Run, aproveitando a simplicidade do conceito de serverless. Essa abordagem facilita a preparação do ambiente, eliminando a necessidade de configurar toda a infraestrutura manualmente.

Entendendo o conceito de serverless

Apesar do nome, a abordagem serverless não descarta a necessidade de servidores envolvidos. As funções ainda precisam de servidores ou máquinas para serem executadas. A diferença é que a responsabilidade pela infraestrutura é transferida para o provedor, no caso, o Google. Contudo, essa facilidade gera um custo.

Custos do Cloud Run

Acessando o site do Google, pesquisaremos por "gcp cloud run".

gcp cloud run

Entre os resultados, clicaremos no link "Preços" ou "Pricing". Essa tela explica que o Cloud Run funciona com um modelo de pagamento por uso, também conhecido como on-demand. Isso significa que pagamos apenas pelo tempo em que nossas funções estão ativas e pelas solicitações processadas. Além disso, a Google oferece um generoso limite gratuito.

Limites Gratuitos

Para serviços como o que escolhemos, com CPU alocada somente durante a solicitação, o Cloud Run oferece os seguintes serviços gratuitos:

Esses limites gratuitos permitem que muitas aplicações de pequeno e médio porte operem sem custos.

Entendendo os números

Com 2 milhões de solicitações gratuitas por mês, é possível processar:

Esse número é suficiente para a maioria das aplicações básicas ou em fase de testes.

Custos após o limite gratuito

Caso o volume de solicitações ultrapasse o limite gratuito, o custo adicional é de 40 centavos por milhão de requisições. Por exemplo:

Avaliando os custos

O Cloud Run é uma solução econômica para aplicações que não exigem um grande volume de solicitações. Os custos com CPU e memória podem ser otimizados, mas geralmente o número de solicitações será o principal fator determinante.

Próximos Passos

Compreendemos o funcionamento do serverless e os custos associados ao Cloud Run, incluindo o limite gratuito. A seguir, começaremos os testes práticos com a função que já subimos.

Sobre o curso Google Cloud: implemente funções serverless no Cloud Run

O curso Google Cloud: implemente funções serverless no Cloud Run possui 72 minutos de vídeos, em um total de 40 atividades. Gostou? Conheça nossos outros cursos de Google Cloud Platform em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Google Cloud Platform acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas