Deploy: o que é e como fazer?

programador em frente ao notebook aprendendo o que é deploy e como fazer

 

Quando você trabalha em um projeto de desenvolvimento, um dos passos mais importantes é a sua disponibilização, seja em um ambiente de testes ou final. Essa prática é conhecida como deploy, que, em inglês significa 'implantar'.

Ou seja, o deploy, basicamente, é a implantação do site, software ou qualquer outro projeto que estivesse em fase de desenvolvimento. 

Por mais que pareça um conceito simples, o deploy é cheio de fases e particularidades, que podem mudar a depender do projeto e de onde ele será implantado. 

Como fazer um deploy? Qual a melhor estratégia? Continue lendo para descobrir. 

Destinos possíveis de um deploy

A primeira e mais comum questão sobre deploy é: onde ele é feito?

Existem alguns destinos comuns para ele, pelos quais praticamente todo projeto passa antes de chegar ao usuário final. 

Cada uma dessas áreas permite uma análise do software, para que ele chegue ao ponto final, quando é colocado no ar, sem bugs ou problemas de usabilidade.

Saiba quais são os 3 principais destinos para um deploy.

Desenvolvimento

Sim, o deploy se trata da implantação, e não do desenvolvimento.

Porém, nessa primeira fase, um profissional realiza uma espécie de deploy a cada vez que testa o funcionamento do software. 

Por isso, o desenvolvimento pode ser considerado deploy, mesmo que permita uma liberdade maior em mudanças e correções. 

Staging/Teste

A fase de testes, também chamada homologação, é como um meio termo entre o desenvolvedor e o público final.

Normalmente é disponibilizada em ambiente interno, mas nem por isso deixa de ser um deploy.

É nesse momento que começam os testes de outras pessoas envolvidas, mas ainda sem os usuários finais.

Produção

A produção é a terceira, mas não a última fase. Nela, o deploy acontece já no ambiente oficial, onde ficará disponível para os usuários acessarem.

Nesse momento, é esperado que o software esteja livre dos maiores bugs e erros, mas ajustes pontuais ainda são feitos, por isso não é considerado o último deploy.

 

Como fazer deploy em 4 etapas

Se você já está inserido no mercado de trabalho, provavelmente está bem familiarizado com os processos de deploy e como ele é feito. 

Se é iniciante, ou apenas não teve contato com a tarefa, veja quais são as etapas de um deploy.:

1. Infraestrutura

A primeira etapa define em qual ambiente o projeto será desenvolvido/hospedado.

É essencial escolher um local adequado e que suporte as linguagens que planeja utilizar ao desenvolver o projeto. 

2. Domínio

Esse passo diz respeito ao desenvolvimento de websites.

O domínio é o endereço do site. Escolha uma hospedagem de confiança e, de preferência, com servidor dedicado, por ser mais seguro. 

3. Ambiente

Na terceira etapa você irá implantar o projeto no ambiente correto, seja ele para o usuário ou testes internos.

É um momento que envolve muitos detalhes, portanto requer atenção total. 

4. Otimização

Depois do deploy, é bem possível que você precise realizar atividades de manutenção e otimização para que a usabilidade do software seja satisfatória. Essas avaliações devem ser periódicas.

 

E quais as formas de fazer deploy?

Com o avanço da tecnologia, a forma de realizar um deploy pode mudar e se aprimorar com facilidade.

Por isso, hoje existem 3 maneiras principais de fazer esse processo. 

A escolha de qual será usada vai depender do profissional e suas afinidades com cada processo.

Veja quais são as 3 formas de deploy.

Manual

Por mais que seja trabalhoso, o deploy manual é tradicional e, por isso, ainda é muito utilizado.

Nele, pode ser realizado um Protocolo de Transferência de Arquivo (FTP), e assim o software é disponibilizado.

Podem acontecer erros, então o deploy automatizado é uma opção melhor. 

Parcialmente automatizado

Acontece quando uma parte do processo é manual e outra é automática.

Por exemplo, quando para o deploy é necessário que alguns controles sejam realizados pelo profissional, mas a parte de push e atualização é automática.

Completamente automatizado

Nesse processo, tudo é automático, ou seja, cada mudança, atualização ou melhoria é transmitida automaticamente para o software.

Isso é feito por meio de ferramentas como Jenkins, GitLab, entre outras disponíveis. Elas permitem também a CI, ou Continuous Integration. 

Integração contínua (CI — Continuous Integration)

Realizada nos deploys automáticos, a integração contínua (CI) permite que várias pessoas trabalhem no projeto simultaneamente, garantindo a extinção de bugs e as adições de melhorias sem que o trabalho de um interfira no do outro. 

 

Qual a melhor estratégia para o deploy?

A maneira de fazer deploy diz sobre quem fará a implantação. Já a estratégia diz sobre como esse deploy será realmente feito.

Existem 3 estratégias mais utilizadas atualmente. Entenda como funciona cada uma delas e defina a ideal para seu projeto. 

Rolling Deployment

No rolling, o deploy é feito de forma gradual. A nova versão vai sendo implantada, mas a antiga só é substituída totalmente quando a nova está totalmente pronta para ser acessada. 

Blue-Green Deployment

Nessa estratégia existem dois ambientes de produção: o blue para a versão antiga e o green para a versão nova.

Eles funcionam como espelhos e possuem em sua frente um load balancer, que direciona o tráfego para o ambiente correto.

Canary Deployment

A estratégia Canary é considerada a mais complexa.

Nela, existem 2 versões do software, mas a nova só pode ser acessada por um grupo de usuários segmentados por idade, gênero ou profissão, como, por exemplo, mulheres de 30 anos.

A estratégia permite um teste de erros mais direto, e os dois ambientes coexistem até que o recente seja liberado para todas as pessoas.

Aprofunde seus conhecimentos em programação

Gostou de entender mais sobre o deploy?

Então, que tal aprofundar seus conhecimentos em programação? Confira nosso artigo e descubra como criar uma API com strapi