fbpx
Dicas

Tipos de deploy: saiba o que é e seus tipos

Os aprimoramentos nos serviços como tecnologia de CI/CD e microtecnologia aumentaram consideravelmente no ambiente do site. Por isso, conhecer os tipos de deploy é crucial, pois eles permitem alterações eficientes na forma que a aplicação será colocada para o usuário final.

Esse termo vem do inglês o qual significa “implantar” e entender sua funcionalidade é o segredo do sucesso na programação. Pensando nisso, preparamos este post para detalhar o que é deploy, os principais tipos e qual modelo utilizar em situações específicas. Vamos lá?

Afinal, o que é Deploy?

O termo deploy significa aplicação no ar e pode ser disponibilizado em um ambiente em desenvolvimento, teste e produção. Ele é crucial no planejamento do site, softwares e aplicativos no cPanel pois permite a sua total funcionalidade sem erros para os usuários finais, sendo uma tarefa bastante comum aos programadores, principalmente com os de estrutura (DevOps).

Portanto, quando um site passa pela fase de testes para ficar pronto para entrar no ar, ele passa por esse processo. Da mesma forma quando ele precisa atravessar por algum processo de melhoria e atualização com o código-fonte. Além disso, entender os principais destinos de um deploy ajuda para uma melhor aplicação e, de forma sucinta, eles compreendem em:

  • desenvolvimento: primeiro ecossistema de aplicação em que o deploy se estende. Dá ao programador total liberdade de criar e abranger as tentativas e erros;
  • staging/teste: área de testes para avaliar se o ambiente já pode ser disponibilizado pela equipe para aplicações mais avançadas. Também chamado de ambiente de homologação, pode estar disponível apenas na intranet da empresa;
  • produção: última etapa em que já foi feito todo o processo de testagem e falhas corrigidas. Essa fase refere-se a colocar a “mão na massa” para o site ficar no ar e pronto para o uso.

Em suma, além destes três pontos principais sobre o destino dos tipos de deploy, para a implementação, esse processo passa por quatro etapas: a infraestrutura, o domínio do site, o ambiente de hospedagem e otimização para que tudo saia como planejado.

Quais são os principais tipos de deploy?

O fato é que o número de estratégias para implementação é crescente e todo desenvolvedor que busca uma carreira de sucesso precisa conhecer os três principais tipos de deploy e como eles são aplicados. E serão sobre eles que falaremos agora.

Blue-Green

O deploy Blue-Green funciona com uma espécie de dois ambientes idênticos de infraestrutura, como uma espécie de espelho, sendo que há um load balancer o qual realiza o direcionador do tráfego para o ambiente desejado. Dessa forma, é possível testar o novo ambiente enquanto o antigo ainda está em funcionamento.

Assim, a mudança é mais prática, com downtime zero e melhor gerenciamento dos projetos. Uma das suas principais vantagens é a possibilidade de subir uma nova versão apenas quando o novo modelo estiver em perfeitas condições. A migração é realizada de maneira tranquila, já que é preparada de maneira cautelosa desde o início.

Contudo, a desvantagem está relacionada com os gastos — será preciso duas vezes mais investimentos e infraestrutura para esse deploy funcionar corretamente.

Canary

O Canary é um tipo de deploy que proporciona a versão nova em produção, porém, libera a nova versão apenas em pequenos grupos, ou seja, o acesso é liberado gradativamente. Assim, a versão antiga segue em funcionamento ao novo ambiente, liberando aos poucos o acesso dos novos usuários para avaliação do comportamento.

Com esse modelo é possível saber o momento certo de disponibilizar uma nova versão para todos e assim, ter melhor gerenciamento do projeto. Uma das principais vantagens é a possibilidade de realizar testes isolados e acompanhar de perto os efeitos da transição de acordo com a experiência do usuário, pois caso haja falhas, poderá realizar a correção rapidamente.

Entretanto, as desvantagens que podemos citar é que, como a liberação é realizada aos poucos, o tempo de finalização será bastante extenso. E, a depender do tamanho da infraestrutura, o custo pode ser ainda mais elevado.

Rolling

Esse tipo de deploy é um dos mais simples para desenvolver websites sendo considerado o modelo padrão e adequado para todos os tipos de orquestração. Esse modelo consiste em subir os novos serviços em uma nova versão, ou seja, substituir a versão antiga do serviço, sendo um processo que acontecerá aos poucos.

Portanto, a versão antiga será desativada quando o novo modelo é 100% funcional — o que os programadores chamam de virar a chave. As principais vantagens desse deploy é que a sua migração se torna menos perceptível e cautelosa acontecendo aos poucos. Contudo, a sua desvantagem é que precisa ter administração das duas versões simultaneamente, o qual aumenta o nível de complexidade.

Qual tipo de deploy utilizar para cada situação?

A escolha do tipo de deploy em uma empresa dependerá do tipo de criticidade de cada situação. Por exemplo, se a companhia é muito grande, com vários setores em plena atividade, torna- se perigoso realizar a mudança de uma vez. O Rolling, por exemplo, não seria a melhor indicação visto que não permite que seja avaliado o comportamento da aplicação com os usuários.

Portanto, em grandes ambientes, o recomendado é utilizar o Blue-Green, isso porque o fato dele proporcionar duas plataformas simultâneas permite um balanceamento ideal e a liberação só é feita quando se tem a certeza de que tudo está funcionando corretamente.

Em caso de ambientes menores e com menores criticidades, o Canary é melhor indicação por proporcionar menor probabilidade de ter falhas. Contudo, é um tipo de deploy que leva um pouco mais de tempo.

Como você pode perceber, entender os tipos de deploy é algo prático e simples, contudo, o desafio está em colocá-los na prática. Isso porque a escolha deverá estar atrelada com a sua estratégia, observação do ambiente de aplicação e, dessa forma, não há melhor modelo para a sua escolha e tudo deve ser milimetricamente planejado.

Agora que você sabe quais são os principais tipos de deploy, será mais fácil aplicá-los nas etapas de migração do seu site. Ah! Para ajudar os seus amigos para não se confundirem nesses modelos, também compartilhe nas redes sociais!