Em casa de ferreiro, espeto é de ferro

Em casa de ferreiro, espeto é de ferro

Integração e entrega contínuas: um caso de estudo

Tanto a integração contínua quanto a entrega contínua são duas das práticas DevOps mais famosas e divulgadas. Muitas vezes, elas se confundem com a própria definição de DevOps. De fato, times de desenvolvimento que as realizam possuem maturidade e uma capacidade de entrega diferenciadas. O OneForce Bluemix Labs é uma iniciativa da OneForce na qual buscamos trabalhar sempre com ferramentas e processos de mercado que representem o estado da arte. Dessa forma, podemos entender e propor soluções de ponta para nossos clientes.

Em um dos últimos programas de desenvolvimento do nosso time do Labs, que durou cerca de 4 sprints (sendo uma sprint com intervalo de duas semanas), desenvolvemos uma aplicação Web capaz de avaliar a maturidade DevOps de uma empresa. Fizemos uso do IBM Bluemix, como plataforma de desenvolvimento e utilizamos a solução IBM Collaborative Lifecycle Management para planejamento e execução dos projetos. Com o uso dessas ferramentas, conseguimos atingir níveis de transparência, colaboração e qualidade em nossos processos de desenvolvimento que criaram um ambiente propício para a implantação das práticas de integração e entrega contínuas.

O início da implantação

Antes de iniciarmos a conversa sobre como implantamos as práticas de integração contínua e entrega contínua no nosso time, carinhosamente apelidado de Cell Team, é importante destacar que essa não é uma “receita de bolo” e que também adotamos diversas outras práticas DevOps internamente. Então, antes de replicar na sua organização, reflita se não existem passos anteriores a serem tomados.

Nosso trabalho começou com a configuração do Jazz SCM, controle de versão nativo da ferramenta IBM Rational Team Concert, para que tivéssemos diferentes espaços de trabalho para cada etapa do desenvolvimento do produto. A figura abaixo ilustra o processo de gestão de configuração e build do nosso projeto.

Todo esse processo é executado em minutos. Todos os builds estão associados à execução de testes automatizados e os resultados dos testes e builds são acompanhados em tempo real por dashboards (painéis) da própria ferramenta.

Como pode ser visto na imagem, até a etapa do build executado em nosso servidor utilizamos a infraestrutura da própria OneForce e apenas os binários das aplicações são enviados para o IBM Bluemix. Daí para frente, a própria plataforma executa as transições dos ambientes de QA e PRD, garantindo sempre a equivalência entre eles.

Resultados da solução

Com esse pipeline relativamente simples do nosso aplicativo, conseguimos implantar processos de build e deploy totalmente automatizados e que podem ser executados de maneira rápida e com baixos custos. A utilização do IBM Bluemix como plataforma também garante a segurança quanto à gestão dos ambientes e que nenhuma alteração na configuração do ambiente de teste deixe de ser aplicada no ambiente de produção. Todas essas práticas e ferramentas atuando de maneira conjunta resultaram em poucos defeitos registrados e um baixo índice de retrabalho de nosso Cell Team, além, é claro, de terem favorecido entregas constantes em curtos períodos de tempo.

Gostou do artigo, tem alguma dúvida? Deixe seu comentário!

Se ficou curioso para saber mais sobre como nossa iniciativa OneForce Bluemix Labs e como as práticas DevOps podem contribuir para a melhoria dos processos de sua equipe de desenvolvimento, entre em contato com nosso time!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *