Menu
Blog Infra como Código

Como escolher ferramentas para projetos de DevOps?

Entenda as categorias de ferramentas disponíveis e quais as melhores práticas para apresentá-las à sua equipe.

Ao contrário do que algumas pessoas pensam, não há nenhuma ferramenta de DevOps única, que consiga suprir a todas as necessidades criadas pela metodologia. Em vez disso, os resultados mais eficazes vêm da padronização de uma cadeia de ferramentas que mapeia diretamente as melhores práticas, como controle de versão, revisão por pares e entrega contínua — tudo estruturado em uma base de gerenciamento de infraestrutura como código.

As ferramentas certas também são essenciais para estabelecer os primeiros bons resultados, que convencerão as pessoas a abraçar uma mudança, ao invés de temê-la. Desta forma, as ferramentas adequadas se tornam as catalisadoras da transformação — que deve ser apoiada pela liderança do time — que vemos por trás de muitas histórias de sucesso da implantação de DevOps.

 

Categorias de ferramentas para melhores práticas de DevOps:

  • Controle de versão (Git/Gitlab, Mercurial, Perforce, Subversion, Team Foundation Server)
  • Gerenciamento de configuração (Puppet e outros)
  • Integração contínua (GitLab CI, Atlassian Bamboo, Go, Jenkins, TeamCity, Travis CI)
  • Deploy (Capistrano, Fabric, MCollective – parte do Puppet Enterprise)
  • Monitoramento (New Relic, Nagios, Splunk, AppDynamics, Loggly, Elastic)
  • Controle de logs (ELK, Flume, Fluentd)

Certifique-se de que você adotará e padronizará as ferramentas adequadas para sua organização em cada uma dessas categorias, e leve em consideração como cada ferramenta que você seleciona se encaixa com o resto da cadeia que já existe. É também importante certificar-se de que você ou alguém no seu time possui acesso completo para uso de cada ferramenta – e é autorizado para conduzir as decisões em torno dela.

 

Colaboração para a escolha das ferramentas

O sucesso do DevOps acontece devido à participação de todos na equipe, que trabalham com as mesmas ferramentas e processos. Mas há uma tendência ao dogmatismo sobre as ferramentas utilizadas, então padronizá-las requer muito mais do que simplesmente declarar: “Aqui está uma nova ferramenta; Agora utilizaremos ela!.”

Os desenvolvedores devem ter um papel ativo na colaboração com seus colegas da equipe de operações de TI, sobre como usar as ferramentas de desenvolvimento de software. Você pode agendar um almoço ou uma reunião para incentivar o trabalho em equipe, e ajudar os administradores a entender como essas ferramentas podem beneficiar tanto o indivíduo quanto a organização como um todo.

Da mesma forma, o time de operações pode padronizar  as políticas críticas (base de configuração do SO, NTP, firewall) e fornecer opções de autoatendimento, ou um conjunto de recursos pré-configurados. Os arquitetos de qualidade e a equipe de testes também devem ser levados para as primeiras discussões sobre ferramentas, já que escrever e configurar testes de uma maneira padrão é importante para cada estágio do ciclo de desenvolvimento e lançamento do produto. Algumas resistências são normais, por isso, concentre-se em como cada ferramenta ajudará as pessoas a fazerem o seu trabalho melhor, ao mesmo tempo em que resolvem problemas que lhes afetam.

 

A experiência da Hiscox

Na Hiscox, empresa americana da área de seguros, essa resistência trouxe uma valiosa lição durante os estágios iniciais da implementação do DevOps: você não pode simplesmente dizer às pessoas qual é o problema e qual é a solução. Em vez disso, o líder de tecnologia e plataforma da Hiscox, Jonathan Fletcher, descobriu que a criação de empatia entre as equipes funcionais, reforçada pelas ferramentas e processos corretos, foi fundamental para o sucesso. Fletcher detalha um dos principais aprendizados de DevOps no Hiscox:

“Trabalhe com as pessoas, peça-lhes que ajudem a enxergar o problema e, em seguida, conduza o raciocínio para que cheguem a mesma conclusão. Isso ajuda a superar a resistência que as pessoas sentem e ajuda a acelerar a mudança. As pessoas sentem-se parte da mudança em vez de pensarem: ‘Eles só querem ficar me dizendo como fazer o meu trabalho?.’

Essas são algumas dicas para facilitar a implementação das práticas de DevOps na sua equipe de TI e escolher as melhores ferramentas disponíveis no mercado. Se você quiser saber mais sobre o assunto ou tiver alguma dúvida, entre em contato conosco pelo site ou pelas nossas redes sociais.