Já está utilizando os serviços do Google Cloud, e está querendo agora construir um ambiente para que a tua API e o teu Back End possam conversar aqui dentro da nuvem, essa é a ideia para esse curso.
A gente vai trabalhar com seriço Endpoints, que vai gerenciar a nossa API, e fazer com que o Endpoint converse com o Back End.
Esse Back End vai utilizar os serviços computacionais da nuvem, inclusive a gente vai fazer um exemplo aqui bem legal com o Kubernetes gerenciado pelo próprio Google Cloud.
Além disso, vamos fazer toda aquela parte de ajuste de DNS, geração de chave para nossa API, para a gente garantir o funcionamento dela, do início até o fim.
Eu sou Ricardo Merces, e quero te convidar para a gente trabalhar juntos nesse projeto. Vamos começar a nossa aula.
O arquivo endpoints.zip pode ser baixado aqui.
Então vamos dar início aqui ao nosso projeto. Eu queria recomendar para vocês o seguinte: como a gente vai tratar aqui de vários assuntos, é legal você estar bem alinhado com os seguintes termos, dentro da plataforma tem bastante material, tem cursos bem legais para você tirar dúvidas sobre os temas que eu vou te falar.
Quais são eles? Utilizar o swagger. Por que o swagger? Porque lá o pessoal construiu uma API, então tem toda essa interação para se entender bem essa estrutura.
O que mais? Utilizar o Google Cloud, os cursos iniciais, onde é criada uma aplicação, e ele usa algumas arquiteturas internas, não só também como criar conta e tudo mais, necessário para a gente começar.
E por fim, a recomendação e o uso do Kubernetes dentro do Google Cloud, que por acaso também fui eu que trabalhei nesse conteúdo.
Então alinha aí. Se tem alguma dúvida numa coisa ou outra, dá uma revisada para a gente começar.
Feito isso, o que você faz? Abre a tua console, você já tem a tua conta lá no Google Cloud, e vou clicar aqui na minha console.
Carregou aqui a console, não esquece sempre que tem a opção da contra gratuita, até para você estudar, aprender, é uma opção bem legal. Tudo o que a gente vai fazer gera custos dentro do Google Cloud, e é importante você saber disso para estar dimensionando esses recursos.
Bom, então chega de conversa e vamos lá. Estou aqui na minha console, o que eu vou fazer? Eu vou criar um novo projeto.
Então eu vejo aqui, novo projeto, e eu vou dar o nome dele aqui de rmerceslabsendpoints, assim eu crio um nome, fica fácil sem número, para a gente referenciar aqui na console. E aí você clica em criar.
Ele vai criar o projeto, e a gente vai precisar configurar o nosso SDK aqui no nosso terminal.
Então como é que a gente vai fazer isso? Criou o projeto aqui, só configurar ele, volta para cá, só para a telinha atualizar. Pronto, agora a gente está no lugar certo, e agora sim a gente vem aqui para console.
Então eu abri aqui o terminal. Então esse aqui é o meu diretório de trabalho, labs, eu vou criar o projeto aqui, mkdir endpoints. Pronto. Chamar um nome curtinho aqui para facilitar. Então está o projeto aqui.
O que a gente faz? A gente precisa configurar o Google SDK. Então você já está com isso instalado, vê lá aqueles cursos anteriores que eu já mencionei, e dá um GCloud init. O que ele faz? Ele vai configurar a tua conta e o projeto a ser utilizado.
Então eu vou colocar aqui, até para a gente fazer junto, eu estou usando um projeto anterior. Deu a opção lá: quer inicializar a configuração? Sim. Opção número um.
Ele vai fazer um scan, vai rodar um diagnóstico. Qual a conta que eu vou utilizar? Eu seleciono a minha conta, e na sequência, o nome do projeto, que a gente acabou de criar. Vai ser o projeto um, o labs endpoints. Então pronto.
Com isso, ele configura aqui o SDK, tudo o que a gente fizer já está contando para esse projeto.
Finalizado aqui, você vê até a recomendação. É sempre legal você rodar isso, para garantir que os componentes estejam atualizados.
Então a gente roda aqui os components update. Geralmente isso é rápido. Tem lá atualização para fazer. E ele vai fazer toda a atualização do SDK, lembrando que ele já foi configurado. Então deixa ele terminar isso aqui.
Terminou o update aqui dos meus componentes, eu vou dar uma limpada na tela, e o primeiro passo é a gente criar a nossa API.
Para facilitar, eu já deixei um zip, que você pode fazer download. Se quiser também, tem lá no meu GitHub, e, se precisar, algumas atualizações, eu sempre vou colocando lá. Mas a referência inicial é o zip aqui da plataforma.
Então o que a gente vai fazer? Deixa eu te mostrar aqui. Você faz o download do zip, esse endpoints.zip, que tem a nossa API. Então vou descompactar ele aqui, unzip, para a gente ter o mesmo cenário de partida.
Fiz o unzip, entrei lá no meu diretório de projeto, e os arquivinhos estão aqui.
Pega o editor da tua preferência, eu estou usando aqui o Sublime, e abre direto nesse diretório. Marquei aqui o projeto, pronto. Aí a gente fica com tudo listado aqui, fica fácil de trabalhar.
Então vamos lá, API. Onde é que está a nossa API? Tem esse arquivinho aqui, openapi.yaml.
Então o que a gente precisa definir aqui? Tem uma API padrão, você pode ver que não tem nada demais, e ela que a gente vai trabalhar.
Só para você já se situar, essa API eu peguei do exemplo do Google, e ele faz o seguinte: ele pega os códigos de aeroporto, ele tem uma tabelinha lá, e a gente consegue consultar. Por exemplo, quem é o Galeão? Quem é Congonhas? Você passa como parâmetro esse iataCode, e ele retorna para a gente o nome do aeroporto. E é em cima disso que a gente vai montar o nosso projeto.
Ricardo, já entendi, beleza. Eu quero colocar isso no ar. Então, dentro desse arquivo, você vai modificar com bastante atenção o host para o projeto que você criou lá no Google Cloud.
Então você tem que pegar aquele nome e trazer para cá. O nome no meu caso, o rmerceslabsendpoints. Então para não errar, eu sempre sugiro copiar, e você altera aqui. Pronto, só esse ajuste. Precisa modificar alguma coisa mais? Não, por enquanto não.
Vou salvar aqui o arquivo. Com o arquivo salvo, a gente abre aqui o terminal. Veja que eu estou no diretório onde a gente está trabalhando, e a gente vai fazer o deploy.
Então você digita lá: gcloud endpoints services deploy, e o nome da API. O nome da API está aqui, que a gente acabou de editar: openapi.
Então eu dei um enter. Isso aqui também não demora muito, vamos só ver a inicialização.
Eu deixei aqui rolar para te avisar o seguinte: vai dar alguns warnings aqui no meio, ok, você pode ignorar, não tem problema nenhum. Ele está questionando que a gente não está usando nenhuma key. Nesse primeiro momento, a gente não vai fazer, e depois a gente adiciona isso. O importante é ele fazer o deploy.
Terminou aqui, a gente na sequência vai lá no dashboard verificar esse upload que a gente fez.
Então, próximo vídeo, vamos continuar a trabalhar na nossa API.
Vídeo passado terminamos aqui o deploy da nossa API, ele gerou inclusive um link aqui no finalzinho.
O que a gente vai fazer? Vamos entender lá no dashboard do Google o que aconteceu.
Então vamos voltar aqui no browser, e você vem aqui no menu, e a gente vai no serviço de Endpoint. Dá uma rolada aqui na tela, para baixo. Cadê? Olha aqui, endpoints, é legal marcar o pinozinho que ele já aparece aqui em cima, chamou o serviço.
Então você pode observar aqui, deixa eu fechar esse painel, que aí fica com a tela melhor. Ele criou um serviço cujo nome é o endereço da API que daqui a pouco a gente vai apontar para ela. E tem toda essa parte aqui, esse dashboard, que daqui a pouco a gente visualiza isso melhor. Mas está aqui, tem a quantidade de chamadas e tudo mais para nossa API.
Então só uma pausa rápida para entender: a gente colocou a API. A API é o serviço a Endpoint. Mas você vai perguntar: "Ricardo, essa API está funcionando?" Não, porque eu não tenho nenhuma aplicação ainda ligada a ela.
Então nesse ponto, para a gente complementar o Endpoint, a gente vai fazer o upload da nossa app.
Como é que a gente faz isso? Para isso, vamos utilizar esse serviço aqui. Vem no menu, o App Engine.
Ele abre e não tem nenhuma aplicação criada.
Vamos voltar aqui para o nosso terminal, e criar por aqui. Deixa eu dar uma limpada.
Como é que a gente faz isso? Então vamos lá. A gente precisa saber qual é a região que a gente vai criar a app, então tem um comando lá, o GCloud app regions list.
Então o que ele mostrou aqui para a gente? Ele vai mostrar as regiões e qual serviço está disponível.
A gente vai usar esse serviço aqui, o flexível, que tem alguns recursos a mais, mais detalhes na documentação. Mas o que importa é fazer referência a esse camarada aqui por enquanto.
Região, aqui, vou usar a região default us-east1.
Então o que eu faço? GCloud app create, você coloca o projeto, igual ao id do teu projeto, o que mais? E seleciona aqui a região, us-east1.
Vamos ver se eu digitei tudo certo.
Criando aplicação para esse projeto aqui, isso aqui é irreversível. Ele está fazendo a criação.
Isso aqui às vezes demora um pouquinho, vamos aguardar.
Foi errado. Beleza. Ele está dizendo para mim: "Ricardo, faz um deploy na tua app que já está rodando".
Para que a gente faça um deploy na app, a gente tem que fazer alguns acertos de alguns ponteiros nela.
Vamos abrir a nossa app. Então está aqui o nosso diretório do projeto, a gente trabalhou com essa aqui, agora dentro do app, eu tenho app template, que eu já deixei para você copiar.
O que é o app template? Aqui tem um setup de como vai ficar configurada a app lá dentro da Google Cloud. Ele vai usar um runtime em python, vai usar um flash com esse recurso, a versão aqui do python, e o importante é a gente sempre, nome, fazer o apontamento.
Então nessa configuração, o que a gente vai colocar? Você pode pegar carona aqui. Já não tem o nome do host aqui? Que é o nome do endpoint. Você copia e traz para cá.
Estou usando o template, não estou usando esse por enquanto.
Então no arquivo template colei aqui.
Tudo certinho, vamos manter essa config aqui, python três, tudo ok, e vamos salvar esse arquivo com o seguinte nome, file save as, vou salvar ele com esse nome aqui, vou tirar o template do nome. Marquei. Salvar. Você vai entender já por quê.
Quer dar um replace? Sim.
Agora que a gente acabou de salvar, a gente vai fazer o deploy dessa config lá para o app.
Então vamos lá, volta para o terminal, LS. Ele está dentro de app, é importante entrar aqui no diretório certinho. App.yaml.
E aí, Ricardo? É fácil. Ele já tinha dado a dica anteriormente: gcloud app deploy.
Ricardo, não precisa colocar o nome? Não. Por quê? Porque o default já é ele buscar se tem algum arquivo com essa nomenclatura aqui.
Você pode escrever a tua aplicação de outra maneira, mas assim ele já pega o deafult, e esse aqui é o nome default. Ou então, especifica aqui na chamada do comando.
Agora sim, vamos dar o enter.
Esse processo em específico é que demora um pouco mais.
Referência está aqui, source, o target do projeto, a url do endpoint. Sim. Então vamos fazer o deploy.
Agora aqui vou esperar um pouquinho, e vou abreviar o vídeo. Assim que terminar, eu volto.
Terminou aqui. No meu caso demorou quatro minutinhos, eu acho que foi isso, e ele concluiu.
Se eu rolar a tela para cá, tem alguns detalhes interessantes.
Se você reparar, essa carinha aqui é o que? Ele está usando o docker para colocar a nossa aplicação. O serviço já usa o docker para isso, e você não teve que fazer nenhuma interação, ele já subiu normalmente lá, ele já criou todo o ambiente.
E agora a gente vai dar uma pausa aqui só para entender o seguinte: a gente gastou, com o primeiro vídeo, e com esse, não mais do que cinco, dez minutos de prática. Por quê? Uma vez que você tem a tua API pronta, você subiu a API, colocou lá no Endpoint, a aplicação está pronta, subiu aqui para o app ending, pronto. As duas já estão se falando, está tudo configurado certinho, isso daqui já está no ar.
Vamos ver se está funcionando? Vamos ver se falta alguma coisa? Próximo vídeo a gente faz o teste junto.
O curso Google Cloud Endpoints: integrando a API possui 91 minutos de vídeos, em um total de 44 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.