Alura > Cursos de DevOps > Cursos de Google Cloud Platform > Conteúdos de Google Cloud Platform > Primeiras aulas do curso Google Cloud Functions: código Serverless

Google Cloud Functions: código Serverless

Trabalhando sem servidor - Introdução

Seja bem-vindo ao curso de Cloud Functions, a plataforma de computação sem servidor do Google Cloud.

O que veremos neste curso? A partir das funções que estão rodando dentro da plataforma, onde não nos preocupamos em provisionar nenhuma infraestrutura para ela, vamos conseguir fazer, por exemplo, chamadas http para que ela seja executado, publicação em tópico para acionar nossa função, integrar nosso código com outros serviços já prontos dentro da nuvem, como por exemplo o storage do Google, serviços de reconhecimento de imagem e outros recursos adicionais.

A ideia é que aprendamos a trabalhar com a função, entender como são os triggers, eventos relacionados a ela para compormos o nosso ambiente, com a ideia de service. Assim, temos vários pedaços, cada um executando uma tarefa específica da nuvem do Google.

Eu sou o Ricardo Merces e vou te acompanhar durante as aulas.

Trabalhando sem servidor - Tradicional vs Serverless

Para começar nosso curso, vamos bater um papo rápido sobre o tema service. Antigamente, tínhamos uma aplicação monstro, aquele monólito que ficava dentro de um servidor, que você cuidava, com a preocupação de atualização do sistema operacional, a parte física, manutenção. Além de tudo, tinha a manutenção de código da aplicação. Era um blocão em cima de outro blocão, e esse segundo blocão era nossa infraestrutura.

Com o avanço das tecnologias, tanto na parte de desenvolvimento, nuvem, conseguimos quebrar esse bloco e fazer com que cada peça de lego dessa tenha uma função específica.

Então, a ideia do Cloud Functions não é que você pegue toda a sua aplicação e a transforme em uma única função. Nós vamos entender que essas funções vão rodar para conversar com outras que sejam funções ou, principalmente, outros serviços, para executar determinadas tarefas.

Um exemplo prático disso que vamos fazer daqui a pouco é: o código da nossa função conversa com um serviço, um storage, por exemplo. Nossa função conversa com uma API de reconhecimento de imagem, que é um serviço. A mágica aqui é costurar para que todos os componentes, no final das contas, façam o trabalho para qual foram propostos. Nós vamos ver um pedacinho disso, que é exatamente o Cloud Functions.

Terminando nosso papo, vamos dar uma olhada em uma figura simples, mas bem bacana para ajudar no nosso entendimento. Na infraestrutura tradicional, desenhada em forma de degraus, você precisa em momento da sua aplicação. Você começou e seu uso pediu uma infra, que equivale ao ponto onde a linha azul termina no gráfico. Aí você expandiu. À medida em que você está escalando, precisando de mais recursos computacionais, você precisa dessa daqui.

Veio a Black Friday, promoções. Chegamos no pico de utilização. O último ponto do gráfico é a infraestrutura necessária para você atender seu cliente em um momento extremo de pico sem que seu serviço saia do ar, a linha azul.

A linha vermelha representa o seu crescimento. À medida em que você precisa de mais recursos, você tem mais custos. E aí você já mata a charada. A linha vermelha é a tecnologia de service. É pagarmos pelo que estamos utilizando em dado momento, fazendo com que tenhamos não só economia, mas também um aproveitamento melhor do recurso. Se eu precisei de infraestrutura para rodar no ponto máximo do gráfico, ela está sendo fornecida para mim. Mas veio a sazonalidade, e eu caio para a parte de baixo. Não vou ter mais o custo fixo tradicional de manter minha infraestrutura. Na sazonalidade estou tendo o custo para manter a infraestrutura correspondente ao que estou rodando.

Vamos colocar tudo isso em prática. Abre seu browser com a conta logada no Google Cloud para darmos continuidade.

Trabalhando sem servidor - Configurando o Cloud SDK

Já estou logado na minha conta pronto para começarmos. Como temos feito em todos os cursos com relação a nuvem, o primeiro ponto é rapidamente você entender a precificação.

A precificação do serviço Google Cloud Functions é por chamada de função. Para não perdermos tempo, se você jogar no Google, ele vai te mostrar uma tabela, que eu aconselho que você dê uma olhada.

Mensalmente, as primeiras duas milhões de chamadas são gratuitas. Logicamente, essas chamadas dentro de uma característica de memória e tudo mais. Fazendo uma conta rápida, o que são dois milhões de chamada? Se temos uma função em que a cada segundo a executamos, a cada minuto rodei essa função 60 vezes. Por hora, 3.600 vezes. No dia, chamei a função 86.400 vezes. E por fim, no mês chamei a função 2.592.000 chamadas para a função. Essa é a conta de chamar a cada trinta dias a cada segundo sua função. Será que é essa sua demanda? Pode ser que sim, pode ser que não.

Dessa quantidade, as primeiras duas milhões seriam de graça. Leia para saber sobre a parte de preço direitinho e não ter nenhuma surpresa. O que posso te dizer é que vale muito mais a pena do que instanciar uma máquina e pagar o custo mensal.

Vamos trabalhar no que é importante. Estou logado na minha console. Para começarmos, vou precisar criar um projeto. Se você não tiver uma conta, dê uma olhada nos cursos de Google Cloud que no primeiro deles tem a parte de criação de conta e tudo mais.

Clicando na aba, ele vai abrir a lista de projetos. Você vai criar um novo. É só colocar o nome. Uma dica importante: quando você cria o projeto, ele gera um ID, que é, na verdade a referência que vamos utilizar. Para facilitar, minha dica é editar e colocar o nome que você quer. Assim, a referência lá na frente vai ficar mais fácil.

Com o projeto criado, para trabalharmos com Google Cloud e podemos explorar melhor os recursos, precisamos instalar o sdk do Google na nossa máquina local. No primeiro curso de Google Cloud tem a instalação. É muito simples, você vai fazer o download e executar para fazer a instalação.

O primeiro passo, e essa vai ser a referência de início, vai ser atualizar o sdk. Vou abrir meu terminal e digitar: gcloud components update. Ele começa a fazer a instalação. Geralmente esse processo não demora muito, independente da plataforma.

Atualização concluída. A parte mais importante para encerrarmos esse vídeo é linkar o nosso gcloud da console com o projeto em que estamos trabalhando. Depois do update, você escreve: gcloud init. Ele vai perguntar se você quer reinicializar a configuração ou criar uma nova. Vou usar a opção um. Ele vai ler os projetos que estão lá. Vai pedir a conta, você seleciona a sua. E aí aparece a lista dos projetos.

Como falei anteriormente, na criação dos projetos ele vai fazer a lista baseado nos ids. Se aparecer alguma surpresa que você não identifique, é fácil. É só ir nos projetos, escolher o id, e pronto.

Concluído isso, estamos prontos para criar nossa primeira função. Na sequência criamos uma função via chamada http.

Sobre o curso Google Cloud Functions: código Serverless

O curso Google Cloud Functions: código Serverless possui 125 minutos de vídeos, em um total de 42 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