O deploy é um dos termos mais populares entre os desenvolvedores. Ele se refere à prática de implantar e disponibilizar algo para uso. Ou seja, quando um site é colocado no ar, ele passou pelo processo de deploy.
Existem três formas de realizar esse tipo de ação. Saiba quais são elas e conheça algumas estratégias que podem ajudar!
Como é possível fazer deploy?
A forma de fazer deploy evoluiu bastante ao longo dos anos. No começo, só era possível implantar um sistema de forma manual. Porém, como muitas coisas, esta também pode ser feita de forma automatizada atualmente.
Entenda melhor!
Manualmente
De forma manual, é necessário que o desenvolvedor realize os comandos. Sabe quando é preciso fazer um pequeno ajuste e um upload para a produção? Nesse caso, pode ocorrer um deploy sem a interferência de alguma ferramenta.
Outro exemplo de deploy manual é o processo FTP (Protocolo de Transferência de Arquivos). Nessa situação, uma pessoa precisa realizar algumas ações para que haja uma conexão entre dois computadores com acesso à internet.
Parcialmente automatizado
Como o próprio nome sugere, o deploy parcialmente automatizado é o em que uma parte do processo não precisa ser realizada pelo desenvolvedor. Um exemplo desse tipo de implantação é quando se faz o push do branch master no Git.
Nesse caso, é rodado um pequeno hook e em seguida atualizado o servidor da hospedagem. Para isso, só é necessário realizar alguns comandos.
Totalmente automatizado
O deploy automatizado é a evolução dos que vieram antes. Além de copiar as atualizações para o servidor, ele permite trabalhar com alterações, ou seja, integrações. Isso vale também para as alterações que foram feitas por outros programadores, por esse motivo, é algo tão vantajoso.
As ferramentas de deploy, como o Jenkins, realizam os testes — o que evita que haja erros na hora de juntar todas as ações. Dessa forma, elas permitem atualizar bibliotecas, simular visitas e testar conectividade. Caso algo dê errado, o deploy é revertido.
Existem estratégias para fazer deploy?
Sim, há alguns truques que podem ajudar na hora de fazer o deploy. Veja a seguir quais são elas:
Rolling
Nesse método, a versão antiga só é totalmente substituída quando a nova estiver pronta para ser rodada. Ou seja, o deploy ocorre aos poucos. Então, enquanto a versão mais recente não estiver pronto, essa e a mais antiga coexistem na produção.
Blue-Green
Essa estratégia é diferente e consiste em manter dois ambientes iguais, conhecidos como mirror (espelho, em inglês). Na frente deles, há um load balancer que faz o direcionamento do tráfego para o sistema desejado.
Dessa forma, o desenvolvedor pode subir uma nova versão apenas no sistema atual (blue). Quando todos os testes forem feitos e estiver tudo certo na nova versão (green), então, será possível apontar as novas requisições para ela. A vantagem da técnica é que ela pode ser testada durante a produção, sem que os usuários tenham acesso ao sistema.
Canary
Ao contrário da estratégia Blue-Green, na Canary, a nova versão é colocada em produção para uma parte dos usuários. Por exemplo: o sistema pode ser liberado para um público restrito.
A vantagem do método é testar na prática se a implantação deu certo. Porém, é importante tomar cuidado redobrado, já que o público será envolvido nos testes.
Quais são as etapas de um deploy?
O deploy envolve quatro etapas básicas. Veja só quais são:
Hospedagem
A hospedagem é onde os usuários irão ter acesso à sua aplicação. Como não é possível garantir a disponibilidade de uma única máquina, é necessário contratar um servidor — por exemplo, o da GoDaddy.
Na hora de escolher o serviço de hospedagem, vale prestar atenção nas linguagens que ele suporta. Há sistemas que não aceitam Ruby, por exemplo.
Domínio
O domínio é o nome do sistema e como ele será encontrado. É o famoso “site.com.br”. Na hora de escolher um domínio, é importante considerar termos simples e que sejam fáceis de serem reconhecidos pelos usuários.
Depois de comprar isso, é necessário fazer uma configuração DNS (Domain Name System).
Ambiente
Nessa etapa, é necessário instalar e configurar o servidor web. Afinal, ele irá receber os acessos e direcionar a criação, configuração e banco de dados.
O processo pode não ser tão simples para quem é iniciante. Porém, conforme a pessoa desenvolvedora for adquirindo experiência, ela verá que o procedimento se repete.
Otimização
Depois que o sistema estiver no ar, será necessário melhorá-lo. Isso exige bastante pesquisa e estudo, já que o trabalho precisa valer a pena.
Em geral, a otimização pode acontecer meses ou anos depois que o serviço estiver no ar. Mas não há uma regra. O importante é que haja um motivo e soluções que realmente tragam benefícios.
Quer saber mais sobre como programar da melhor forma? Continue acompanhando o blog da GoDaddy!