Guia Rápido: Como Fazer Deploy de uma API Python na Cloud Usando Containers
Está aprendendo a programar e gostaria e publicar sua primeira aplicação? Neste post faremos o deploy de uma API python em cloud de maneira simples e rápida utilizando containers!
Criar conta na cloud
O primeiro passo é criar uma conta em uma cloud, uma plataforma que oferece entre outros recursos a possibilidade de hospedarmos uma máquina virtual ou toda uma infraestrutura.
Neste post estaremos utilizando a cloud da google, Google Cloud Plataform (GCP).
Para acessar o console da GCP, basta seguir para: https://console.cloud.google.com/
Será necessário criar uma conta caso ainda não possua uma, informando seus dados para o cadastro. Após o cadastro e acesso à cloud, teremos esta página inicial:
Criar e Acessar VM na cloud
Em seguida precisaremos criar uma máquina virtual na cloud, começamos clicando em “Compute Engine” na página inicial.
Será necessário habilitar a opção de cobranças na conta em questão, clicando em “Enable”:
Lembre-se de desabilitar esta opção antes que seu periodo de testes acabe ou poderá receber cobranças indesejadas.
Em seguida, ao acessar o “Compute Engine” novamente teremos a seguinte tela contendo todas as máquinas virtuais que possuimos atualmente; Clicaremos na opção “Create Instance” no topo para criar nossa máquina:
Na página seguinte estaremos configurando nossa máquina virtual, segue nas imagens abaixo um exemplo de configuração para uma máquina simples que hospedará nossa aplicação:
Após configurar a máquina clique em “Create” para criá-la, e volte para a lista de máquinas em “Compute Engine”.
Note que há uma máquina na lista de instancias, a máquina que acabou de ser criada, selecione-a e clique em “SSH” para se conectar a ela em uma nova janela que se abrirá:
Instalar o Docker na VM
Uma vez dentro da máquina virtual, faremos a instalação do Docker, o que nos possibilitará o uso de containers nessa instancia, rodando os comandos:
– sudo -i
– curl -fsSL https://get.docker.com -o get-docker.sh
– sudo sh ./get-docker.sh
Criar app.py e Dockerfile
Após a instalação do Docker, criaremos nossa aplicação, neste post estaremos utilizando uma aplicação simples em Python, apenas para testar o funcionamento.
Crie um arquivo de texto com seu editor de texto de preferencia e escreva sua aplicação:
– vim app.py
Segue um exemplo de API em python usando Flask:
Além da aplicação, também precisaremos de um arquivo “Dockerfile” que será utilizado pelo Docker:
– vim Dockerfile
Segue também um exemplo de Dockerfile que criará uma imagem para nossa API:
Criar a imagem e rodar o container
Com ambos os arquivos prontos, podemos criar uma imagem de container usando o Docker e o Dockerfile que criamos, e criar um container usando tal imagem:
– docker build -t python-app .
– docker run -dit -p 5000:5000 python-app
Para checar se o container está em execução, podemos rodar o comando:
– docker container ls
Liberar a porta nos firewalls
Por ultimo, antes de testarmos a conexão a nossa aplicação, precisamos liberar o acesso a porta que nossa aplicação usa (5000) no firewall da GCP:
Primeiramente acessamos a página do “Compute Engine”, e clicamos no nome da nossa aplicação, no exemplo abaixo seria “python”:
Na página da instancia, clicaremos no nome da subnetwork usada pela instancia, no exemplo abaixo seria “default”:
Na página da subnet, clicaremos na aba “Firewall” no menu à esquerda:
E na aba do Firewall, clicaremos em “Create Firewall Rule” no topo da página, para criarmos uma nova regra no firewall que permite o acesso a nossa aplicação:
Iremos configurar a regra da seguinte maneira:
Com a configuração acima, estamos liberando o acesso à nossa máquina virtual de qualquer IP, através da porta tcp 5000.
E com isso finalizamos todos os passos necessários, temos agora uma aplicação rodando em um container em uma máquina virtual em cloud, que pode ser acessada de qualquer lugar! Para fazer este acesso, tudo o que precisamos saber é o IP da instancia e a porta da aplicação, sabemos que nossa aplicação usa a porta 5000, e podemos checar o IP da nossa máquina na página da instancia, sob “Network Interfaces” no campo “External IP address”:
Com ambas as informações em mãos, podemos abrir uma nova aba em qualquer navegador de qualquer disponsitivo e acessar nossa aplicação em cloud digitando o IP:porta, desta maneira:
E aí está, temos a resposta da nossa aplicação de teste!
Ficou interessado? Quer aprender mais? Dê uma olhada em nosso curso de Python para API e DevOps:
Líder em Treinamento e serviços de Consultoria, Suporte e Implantação para o mundo open source. Conheça nossas soluções:
About author
Você pode gostar também
Descubra o DevSecOps: Segurança e eficiência no desenvolvimento de software
Saudações pessoal! Hoje vamos explorar o fascinante mundo do “DevSecOps”. Talvez você já tenha ouvido falar desse termo, mas não tenha ideia do que ele realmente significa. Neste artigo, vamos
Guia completo: Aprenda a usar o Gitlab e suas funcionalidades DevOps
O que é o Gitlab? O Gitlab é uma ferramenta que agrega diversas funcionalidades, mas, primordialmente, é um gerenciador de repositório baseado em Git, assim como o Github. Hoje em
Lançamento de Curso de Automação DevOps na The Developer’s Conference
Lançamento acontecerá no evento The Developer’s Conference. Aproveitando a sua participação no evento The Developer’s Conference (TDC) com 2 palestras e apoio a 5 trilhas, a 4LInux estará lançando o curso “Ferramentas