O que é deploy? Tudo o que você precisa saber!

5 minutos para ler

Você iniciou na área de desenvolvimento de software ou não trabalha com TI e vive ouvindo colegas de trabalho falando sobre “deploy”?

Quer saber o que é deploy? Então, você chegou no lugar certo! Continue a leitura e saiba tudo sobre o assunto.

 

O que é deploy ou deployment?

Literalmente, significa implantação. Quando estamos falando em desenvolvimento de aplicações web a palavra ganha o sentido de enviar atualizações e/ou mudanças de um ambiente para outro.

Ele marca as etapas do processo de construção ou mudanças de um software, por exemplo.

O termo deploy poder ser definido como um processo de implementação do código (html, css, Javascript, etc) do controle de origem ou artefatos de origem para uma plataforma de hospedagem. Ele também pode ser manual, parcialmente ou totalmente automatizado.

Resumindo, pode ser usado para muitos casos, o que irá depender do ambiente e da tecnologia. Exemplo: é possível fazer o deploy do sistema no Tomcat localmente, ou em serviços como Microsoft Azure.

 

Ambientes

Normalmente, as empresas trabalham com três ambientes:

  1. Desenvolvimento (local)
  2. Homologação / testes (web)
  3. Produção (web)

As consultorias e times de TI trabalham em ambiente de desenvolvimento, que passam para testes quando finalizado em ambiente local.

Quando finalizado os testes locais, é realizado um deploy para o ambiente de testes.

Enquanto o desenvolvimento não ser homologado e “estressado” (testado várias vezes) em ambiente de homologação, ele não entra em ambiente de produção.

Ou seja, quando aprovada a homologação, é realizado um novo deploy para o ambiente de produção, onde o usuário final terá acesso ao que foi desenvolvido.

Isso é importante, pois antes de entrar em produção (colocar no ar) um sistema, site ou jogo a equipe técnica pode fazer a criação, programação e testes para minimizar erros e falhas percebidos também pelo usuário, o que gera suporte técnico para correção de falhas / bugs (problemas de qualidade).

O ideal é que sua equipe tenha um processo definido e claro para todos os integrantes seguirem. Esse processo deve ser documentado e incluir regras e cronogramas para o momento que a tecnologia sofre uma mudança ou entrar em “go-live”.

 

Processo 1: Desenvolvimento

É recomendado que a equipe de desenvolvedores trabalhe apenas em ambientes locais ou de desenvolvimento para garantir que vários desenvolvedores trabalhem simultaneamente e sem causar problemas.

Recomenda-se que seja realizado teste também neste ambiente, antes mesmo de colocar o novo desenvolvimento com uma equipe de testes.

Somente após o desenvolvimento finalizado, que passa para os testes e implanta as customizações por meio da configuração do ambiente.

 

Processo 2: Testes

Em ambiente de testes, a equipe de qualidade (QA) irá testar as alterações para garantir que nenhum bug entre em ambiente de produção.

Esse processo não deve ser concluído sem implantar as mudanças em novos ambientes.

Muitas vezes é necessário automatizar com robôs alguns testes básicos para que uma alteração não impacte outras funcionalidades da ferramenta.

 

Processo 3: Produção

Depois da homologação, quando todos os testes e ajustes de bug foram corrigidos nos ambientes anteriores, são implementadas as alterações no ambiente de produção.

 

Processo 4: Suporte e Manutenção

Quando tudo estiver no ar e os usuários utilizando a aplicação nova, é importante monitorar se tudo está funcionando como planejado.

Não importa o escopo do projeto apresentado pelo idealizador, há uma chance de que os usuários encontrem problemas ou executem ações que não foram previstas durante todo o processo de planejamento e desenvolvimento/testes.

No caso de incidentes ou ocorrências não previstas, é importante manter a calma e ter um processo de suporte e manutenção para cuidar e tratar desses casos.

Como automatizar um deploy?

A automação pode ser a ação de fazer um commit do código em um repositório, que irá disparar automaticamente o processo de construção (build) do executável da aplicação e a sua disponibilização no servidor, por exemplo.

Ou seja, um processo de deploy automatizado precisa englobar os passos mais trabalhosos, não necessariamente fazer um commit entrar em produção.

Existem alguns serviços que ajudam na automação de deploy, como o Microsoft Azure. Esses serviços permitem que desenvolvedores façam o deploy de forma mais rápida e produtiva.

 

Dica final sobre deploy: Cultura DevOps

Conheça e explore uma cultura de DevOps que traz um conjunto de processos, práticas e ferramentas como o Azure DevOps para dar mais escala, segurança e agilidade aos seus desenvolvimentos e novas implementações.

Saiba mais sobre no post DevOps: o que é, como implementar, benefícios e mais.

Share and Enjoy !
Posts relacionados

Deixe um comentário