DEV Community

Cover image for Introdução ao Deploy
Yuri Peixinho
Yuri Peixinho

Posted on

Introdução ao Deploy

Introdução

Quando estamos desenvolvendo uma aplicação escrevemos o código em nosso computador. Esse código depois de escrito só consegue ser rodado em ambiente local e a aplicaçõo só pode ser acessada pelo seu próprio dispositivo.

Mas como faz pra esse código rodar 24h por dia e acessível para outras pessoas? O deploy é a resposta. É o processo de “pegar” um software e colocá-lo em um ambiente que execute ele continuamente de forma estável, segura e acessível.

O que precisa pra rodar o software?

Todo sistema em produção precisa de 4 coisas básicas.

  1. Código (sua aplicação)
  2. Máquina pra executar o código
  3. Dados (banco de dados, arquivos)
  4. Rede (internet)

Mais afinal, onde onde o deploy acontece?

O Deploy acontece no servidor. O servidor é um computador ligado 24h, com CPU, memória, disco, sistema operacional, internet, etc. Uma observação importante é que você pode usar seu computador como um servidor (mas não é recomendado)

Tipos de servidores (do mais simples ao moderno)

Servidor Físico

É uma máquina real em um datacenter, você cuida de tudo. Geralmente é caro e complexo

Máquina Virtual (VM)

Um servidor virtual dentro de outro servidor, você controla o SO (Sistema Operacional).

  • Azure VM
  • EC2 (AWS)

Plataforma Gerenciada (PaaS)

Você só cuida do código e a nuvem cuida do servidor

  • Azure App Service

Containers (Docker)

Seu aplicativo é empacotado com tudo que precisa e roda igual em qualquer lugar

Orquestração (Kubernates)

Gerencia vários containers, alta escala e complexidade

O que acontece durante um deploy?

Agora que sabemos o que é o deploy e quais são os tipos de servidores, vamos imaginar um deploy manual?

  1. Desenvolvedor escreve o código
  2. Compila o código (build)
  3. Copia os arquivos para o servidor
  4. Configura variáveis de ambiente (ex: string de conexão, senhas de integrações, etc.).
  5. Inicia a aplicação
  6. Abre porta de rede
  7. Aponta um domínio
  8. Monitora erros

Top comments (0)