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.
- Código (sua aplicação)
- Máquina pra executar o código
- Dados (banco de dados, arquivos)
- 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?
- Desenvolvedor escreve o código
- Compila o código
(build) - Copia os arquivos para o servidor
- Configura variáveis de ambiente (ex: string de conexão, senhas de integrações, etc.).
- Inicia a aplicação
- Abre porta de rede
- Aponta um domínio
- Monitora erros
Top comments (0)