Deploy (implantação de software)

Levar código novo do ambiente de desenvolvimento pro ar, pras pessoas que usam, sem quebrar o serviço.

Hard

O que é

Deploy é o processo de mover código do ambiente de desenvolvimento pro de produção, ou seja, pro ar, onde quem usa de verdade vai encontrar aquilo. Não é só apertar um botão no fim do trabalho, porque envolve teste, coordenação e um plano pra quando algo der errado.

Pra quem trabalha com produto, vale entender que um deploy mal feito vira instabilidade, fila de bug e correção às pressas. É por isso que times mais maduros usam técnicas pra reduzir o risco: subir pra uma fatia pequena de gente primeiro (canary), manter duas versões prontas pra trocar na hora (blue-green) e separar a entrega do código do momento de ligar a função (feature flag).

Você não precisa saber fazer deploy pra trabalhar bem com engenharia. Mas precisa saber que existe rollback, que dá pra liberar uma função aos poucos, e que tudo isso muda a forma como você planeja um lançamento.

Em uma frase

Vamos fazer o deploy pra 5% primeiro e, se nada quebrar, liberar pra todo mundo.

A pergunta que ele responde

O que preciso entender de deploy pra planejar um lançamento sem susto?

Quando usar

Faz sentido na hora de planejar um lançamento junto da engenharia, pra alinhar risco, faseamento e plano de voltar atrás.

Como não usar

O cuidado é tratar deploy como um detalhe técnico que não te diz respeito e marcar lançamento ignorando rollback e liberação gradual.

Na prática

Pense num lançamento cuidadoso. O time sobe a função nova pra 5% dos usuários, mede se nada quebrou e só então libera pro resto, com o rollback pronto caso apareça erro.

Não confunda com

Vale separar deploy de release. O deploy põe o código no ambiente, e o release é o momento em que a função fica disponível pra quem usa. Com feature flag, um pode acontecer sem o outro, já que o código pode estar no ar muito antes de ser ligado pra alguém.

Em inglês

Software Deployments

Pronúncia

diplói

Também chamado de

deploy, deployment, subir pra produção, release

Origem

n/a

Fonte

Saiba mais

Martin Fowler, artigo sobre BlueGreenDeployment