Promoção de Ambientes Manualmente? Nunca Mais, utilize o Release Management

Tempo de leitura: menos de 1 minuto

E ai Pessoal, Beleza?

Vim aqui hoje, falar de um assunto bem interessante, Disponibilização de versões e promoção de ambientes.

Tenho visto, por varios lugares que passei, e também, com varias pessoas(desenvolvedores, testers, etc) que conversei,  que o processo de liberação de versão e promoção de ambientes, não é algo muito bem definido, é tudo muito manual, oque causa insegurança, que te gera desconfiança,e aumenta a probabilidade de erros na execução do processo.

Muitas das empresas, disponibilizam as suas versões, utilizando apenas o Build do Visual Studio, isso mesmo, apenas o conteudo da pasta bin, quando o desenvolvedor pressiona F5, e digo mais, pegam o conteudo da pasta DEBUG, poderiam ao menos, executar o publisher do Visual Studio, seria algo um pouquinho melhor, mas ainda sim, esse não é o mundo ideal, oque seria o mais ideal, seria executar as builds do TFS.

Alem de, o desenvolvedor gerar essa “publicação”, ainda temos muitas vezes, a necessidade de atualizar o banco de dados(tabelas, proc’s, etc), e como isso é feito? É disponibilizado uma sequencia de scripts que devem ser executados manualmente, para que a aplicação funcione corretamente. Mas, e se o usuário que executa as implantações, esquecer de um desses Scripts quando for implantar em Produção? Exato, seu sistema não irá funcionar corretamente, e sua empresa deixará de ganhar enquanto o sistema estiver fora, ou melhor, começará a perder dinheiro, pois alem de deixar de ganhar, estará gerando um gasto de pessoal, tentando identificar o porque de o sistema não estar rodando.

Um outro problema que podemos encontrar em um processo manual, é o de por exemplo, quando temos alguma variavel de ambiente especifica para cada ambiente, como por exemplo, no Web.Config, temos a nossa connection string, geralmente o servidor de banco, é diferente em cada ambiente, as vezes algum diretório para a execução de algum processo. Bom, nesse caso, seria o mesmo do banco, se o implantador esquecer de algo, o sistema não funciona e a sua empresa estará perdendo dinheiro.

Bom, agora você já deve estar se perguntando:

duvida[1]

 

Julio, você está falando que todo esse processo, que atualmente executo em minha empresa não é nem um pouco seguro, e nem confiável, então, qual a solução para o meu problema? Como posso deixar meu processo seguro e Confiavel?

 

creative_solutions[1]

A solução para o seu problema meu amigo, é o Release Management !!!

Mas oque é o Release Management?

Bom, o Release Management, é basicamente, um gerenciador de liberação de versão.

Lembra de todo aquele processo ineficiente e inseguro, que falamos um pouco mais acima? Então, o Release Management, veio para trazer a segurança, confiança e eficiencia para executar sua liberação de versão e promoção de ambientes.

Com o RM (Release Management), você pode configurar os servidores onde serão executadas implantações do seu sistema, pode configurar Workflows de implantação.

Lembra de como faziamos a liberação manual com a build do Visual Studio? Aqui, fariamos com uma build do TFS, que automaticamente iniciaria o processo de implantação no ambiente que você configurou.

Lembra do problema com banco de dados, poderiamos solucioná-lo com a utilização de um projeto de banco de dados para desenvolver seu banco, e  com esse projeto, realizar a implantação automatica utilizando o RM.

Lembra do problema de variaveis do Web.Config? Então, o RM também resolve isso para você, pois você pode configurar variaveis para que ele possa alterar durante o processo de implantação, e o melhor, isso é para cada ambiente.

Apenas isso já deixa seu processo mais seguro e confiável, certo? E se eu te disser que você pode solicitar uma aprovação para realizar a promoção entre um ambiente e outro? E que nesse caso, é necessário o usuário que estiver validando a aplicação, incluir uma mensagem sobre o motivo pelo qual ela está aprovando ou reprovando aquela versão(sim, se o usuário reprovar a versão, ela não é promovida para o ambiente seguinte) ? Show, não?

Ah, e quer saber de mais uma coisa? No fluxo, quando configura os passos de implantação, pode configurar um processo de RollBack, que caso o RM encontre algum erro durante a instalação da nova aplicação, ele mesmo desfaz as alterações, deixando tudo como estava antes.

Isso tudo, deixa seu processo muito mais seguro, confiavel, e rentavel, já que você não necessita mais de uma pessoa especificamente ali, para executar implantações, alteração de variaveis, atualização de banco, etc., com tudo isso automatizado, você pode delegar outras tarefas as pessoas que antes ficavam focadas por horas em um processo de implantação.

 

Se você quer um processo seguro e confiavel, utilize o Release Management.