O deploy é uma das principais etapas do desenvolvimento de sistemas, tanto que para facilitar e otimizar esse processo, existem hoje 3 formas de executá-lo. Continue nesse artigo para saber mais sobre cada uma delas!
3 formas de fazer deploy
O deploy tem sido cada vez mais otimizado graças aos recursos de automatização que têm sido criados e evoluídos para realizá-lo. Esses recursos permitem que o deploy seja rápido e ofereça o mínimo risco de erros, tornando o processo mais ágil e seguro.
Confira agora quais são as 3 formas de fazer deploy:
- Manual
O modo mais dificultoso de realizar um deploy é manualmente, embora esse seja o método “tradicional” e o utilizado por iniciantes em programação que precisam entender no detalhe, como o deploy funciona. Se não for por isso, não compensa executar o deploy manual, pois, é muito demorado e passível de erros.
Há casos também em que algo muito pontual e rápido tenha sido feito, como algum ajuste, e o programador precisa subir rapidamente para produção. Nesse caso normalmente é feito o deploymanual.
O FTP (Protocolo de Transferência de Arquivo) é o jeito mais comum de realizar esse processo, através da transferência manual de arquivos entre duas ou mais máquinas.
- Parcialmente automatizado
O método parcialmente automatizado mais comum de deploy é usando o GIT (não confunda com GITHub). GIT é um repositório de arquivos com controle de versões (facilita muito o versionamento de código fonte), que necessita de alguns comandos humanos para que seja executado. No entanto, o push do branch master, ocorre através de um hook que atualiza o servidor automaticamente.
- Completamente automatizado
O deploy totalmente automatizado é uma evolução importante do desenvolvimento de sistemas. Pois com essa automatização é possível garantir maior segurança, qualidade, integridade e, também, eficiência, ao subir sistemas para produção.
Além desses benefícios, o deploy automático oferece também a integração contínua, que se trata da união de diversas versões de um mesmo código-fonte em um repositório central, de modo automático; com a finalidade de realizar testes antes de subir o sistema para produção, de fato. Essa ação facilita e agiliza a descoberta e a correção de bugs.
Essa integração contínua (também conhecida como CI) é uma grande vantagem para sistemas nos quais há diversos programadores atuando, já que facilita a junção dos códigos para testes integrados.
Quanto às ferramentas existentes para realização de deploy automático, existem várias, como por exemplo: Circle CI, Jenkins, GitLab e Azure Pipelines.
Estratégias de execução do deploy
Além das 3 formas de fazer deploy que citamos aqui, há também 3 estratégias para executar esse processo. Confira quais são:
- Rolling: esta estratégia consiste na mescla de duas versões de código fonte, sendo uma versão antiga e uma nova que substituirá a antiga. No entanto, essa substituição ocorre de modo gradual, conforme a nova versão fica pronta, indisponibilizando a versão antiga somente quando a nova estiver totalmente preparada.
- Blue-Green: nesse caso, testes são feitos em um ambiente de testes no qual é espelhado o ambiente de produção, sendo o blue uma visão antiga do ambiente e o green a visão espelhada de produção. Essa estratégia é muito importante para sistemas críticos, que requerem testes no cenário “real”.
- Canary: já nessa estratégia, os próprios usuários do sistema executam os testes finais, sendo liberado para testes somente para uma parte dos usuários. Outra característica dessa estratégia é que nela a nova versão do sistema coexiste com a antiga, estando ambas disponíveis no ambiente de produção.
Comments
Comentários
Postar um comentário