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.
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.
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.
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:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.