Adeus, sala de guerra: bem-vindo, DevOps 2.0!

1
62

Diversas empresas como Facebook, Netflix e Amazon têm traçado um caminho sem paralelos quando o assunto é integração da cultura organizacional na execução das tarefas. É fundamental para a equipe inteira (desenvolvedores, testadores, operadores, executivos e outros) entregar sistemas mais rapidamente para o cliente final, sem comprometer sua qualidade.

Mas qual é o segredo da agilidade oferecida por essas companhias citadas acima? A resposta está na evolução da cultura corporativa DevOps, com ferramentas que tornam as empresas mais eficientes, automatizando tarefas ao longo do ciclo de vida da entrega.

O DevOps 1.0 foi uma ótima maneira de fazer as pessoas pensarem sobre a transformação necessária, vinda das linhas de manufatura enxutas (lean) dos anos 80. Agora é hora de evoluir para o DevOps 2.0, com todos os participantes envolvidos na engenharia do projeto – alinhando objetivos, nivelando competências e assumindo responsabilidades pelo produto final.

E um dos passos mais importantes para isso acontecer é a extinção da tão conhecida sala de guerra (War Room). Lembre-se: ela deve se tornar uma exceção, não mais a regra.

E por qual motivo?

Pense em uma típica sala de guerra. Muita gente importante e de alto custo sentada no mesmo local por horas ou dias, analisando arquivos de log e tentando encontrar um responsável pelo problema. Ao invés de trabalharem em novos recursos para o futuro, estão corrigindo problemas que já aconteceram ou questões técnicas que ficaram acumuladas. Baseado em nossa experiência, 80% dos obstáculos de produção são causadas por apenas 20% de problemas já recorrentes.

Ou seja, é possível reduzir drasticamente os cenários de uma sala de guerra apostando na prevenção e empregando os princípios do DevOps. Isso implica no monitoramento ativo de cada ambiente durante todo o ciclo de vida de entrega com as ferramentas certas para localizar os problemas detalhadamente.

Veja abaixo cinco práticas do DevOps 2.0 para aumentar a qualidade e velocidade da implantação de aplicações sem o uso contínuo das War Rooms:

1 – Faça as perguntas certas para agir com eficiência quando houver um problema. Exemplos: É um usuário individual reclamando ou são todos os usuários afetados? Uma operação crítica foi impactada? É um problema na aplicação? É um problema relacionado a codificação ruim? Com respostas para estas perguntas, você pode eliminar a sala de guerra e identificar a fonte dos problemas rapidamente, priorizá-los e encontrar uma solução. Então, ao invés de montar uma War Room com 20 pessoas, você teria apenas três – um desenvolvedor, uma pessoa responsável por teste e uma outra para operações, por exemplo.

2 – Nivele o desenvolvimento, os testes e as capacidades de operações para aumentar a qualidade desde o início. Enquanto suas práticas de DevOps não estiverem alinhadas, desenvolvedores, testadores e operadores naturalmente terão sua própria visão do ambiente. Os performances também serão medidos por métricas diferentes. Mas todos os lados precisam começar e entender os desafios do outro. O DevOps, em sua melhor forma, faz com que todos trabalhem juntos, concordem com o uso de ferramentas e métricas comuns e, então, projetam como elas serão aplicadas. Defina um conjunto de métricas baseadas em objetivos comuns para fazer o que as equipes ágeis fazem de melhor: colaborar.

3 – Identifique as prioridades para o seu negócio e dê às equipes o foco preciso daquilo que mais importa. Às vezes, tudo o que você vê é prioridade: existem 250 problemas, mas como descobrir qual é a mais importante? As ferramentas de monitoramento de performance de aplicações e a experiência do usuário podem ajudar ao agregar as grandes quantidades de dados de todos os seus usuários ao longo da cadeia de entrega da aplicação. Elas fornecem uma análise de impacto inteligente com a opção de ir no detalhe da causa técnica dos problemas. Elas também o previnem de ver tudo o que está em vermelho, como alerta de prioridade no ciclo de entrega. Por isso, são uma ótima solução.

4 – Otimize as estações de trabalho dos desenvolvedores. O custo das correções de bugs em produção pode ser até 150 vezes maior se ele não for encontrado cedo no ciclo de desenvolvimento. Para alcançar uma entrega contínua, é necessária a monitoração de performance para dar suporte à qualidade contínua por toda a vida da aplicação, começando antes mesmo de o código ser inserido nas estações de trabalho dos seus desenvolvedores. Como resultado, você reduzirá o trabalho não planejado e as pendências técnicas, resultando em mais tempo para os lançamentos de novos recursos.

5 – Automatize a análise de arquitetura, escalabilidade e performance ao invés de ficar preso com pilhas de arquivos de log para percorrer. A beleza da gestão de performance de aplicações é que você não precisa educar a todos. Uma vez que você trabalhou com as equipes de negócios para determinar prioridades, identificou suas principais métricas e definiu seus KPIs, é possível automatizar o monitoramento de performance. Com isso, a qualidade contínua do ciclo de entrega aumenta, principalmente configurando gateways de qualidade baseados em métricas de cada etapa desse ciclo. Esta abordagem reforça a rede de segurança ajudando sua equipe a lidar com a mudança de regras e capturando os erros mais cedo.

Rene Abdon Santos, diretor de serviços da Dynatrace.

Deixe seu comentário