O que é DevOps?

Concluído

A contração "DevOps" refere-se à substituição de equipes de Desenvolvimento e Operações isoladas por uma abordagem integrada. A ideia é criar equipes multidisciplinares que trabalhem em conjunto com práticas compartilhadas, ferramentas e responsabilidade para resultados. As práticas de DevOps essenciais incluem planejamento ágil, integração contínua, entrega contínua e monitoramento abrangente de aplicativos. O DevOps é um percurso contínuo de melhoria, não um destino.

O valor comercial do DevOps

As organizações que implementam práticas de DevOps normalmente veem melhorias mensuráveis nas principais métricas operacionais:

  • Frequência de implantação: aumento de versões pouco frequentes para implantações regulares e previsíveis
  • Tempo de entrega: reduzido de ciclos de desenvolvimento estendidos para prazos de entrega mais curtos
  • MTTR (tempo médio de recuperação): resolução de incidentes e restauração do sistema mais rápida
  • Taxa de falha de mudança: menos problemas na produção devido a testes e automação aprimorados

Os benefícios esperados incluem:

  • Redução do tempo de lançamento de novos recursos no mercado
  • Redução de incidentes relacionados à implantação
  • Melhor produtividade e satisfação do desenvolvedor
  • Reduzir custos operacionais por meio da automação

Diagrama mostrando o ciclo de DevOps com as fases de planejamento, compilação, integração, implantação, operação e comentários em um loop contínuo.

Entender e calcular seu tempo de ciclo

Vamos começar com um conceito fundamental sobre o desenvolvimento de software usando o loop OODA (Observe, Orient, Decide, Act). Originalmente projetado para impedir que pilotos de caça sejam abatidos do céu, o loop OODA é uma excelente estrutura para se manter à frente dos concorrentes no meio empresarial.

Loop OODA na prática:

  • Observe: Monitorar métricas de negócios, tendências de mercado, comportamento do usuário e dados de telemetria
  • Orientação: analise opções para o que você pode entregar, possivelmente por meio de experimentos
  • Decidir: Determinar o que prosseguir com base em dados e prioridades de negócios
  • Ação: Entregar software funcional para usuários reais e coletar feedback

Exercício de cálculo de tempo de ciclo: Pense no processo de desenvolvimento atual. Quanto tempo leva para ir de:

  • Confirmação de código → Implantação de produção?
  • Solicitação de funcionalidade → feedback do cliente?
  • Relatório de falhas → Correção no ambiente de produção?

Exemplo: se levar 2 semanas para implantar uma alteração de configuração de uma linha, o tempo do ciclo será de 2 semanas. Isso se torna sua restrição de velocidade.

Diagrama mostrando o ciclo de loop OODA com as fases Observe, Orient, Decide e Act conectadas em um padrão circular, enfatizando a iteração contínua.

Tornar-se informado por dados, não controlado por dados

É recomendável usar dados para informar as decisões em seu próximo ciclo, mas evite ficar paralisado pela análise. A experiência de muitas organizações sugere que as implantações geralmente têm resultados variados:

  • Algumas implantações terão resultados de negócios negativos
  • Algumas implantações terão resultados positivos
  • Algumas implantações não farão diferença mensurável

O princípio: falhar rapidamente em iniciativas que não impulsionam o negócio e intensificar os esforços nas que suportam as metas de negócios. Essa abordagem é frequentemente chamada de "mudar de direção ou perseverar".

Aplicativo Prático:

  • Configurar testes A/B para novos recursos
  • Definir métricas de sucesso antes da implantação
  • Estabelecer procedimentos de reversão para experimentos com falha
  • Criar ciclos de feedback para medir o impacto rapidamente

Esforce-se por aprendizado validado

A rapidez com que você pode falhar rapidamente ou dobrar depende do seu tempo de ciclo – quanto tempo esse loop de comentários leva para ser concluído. Os comentários coletados com cada ciclo devem ser:

  • Factual: com base no comportamento real do usuário e nas métricas do sistema
  • Acionável: Levando a desmarcar as próximas etapas e decisões
  • Oportuno: disponível rapidamente o suficiente para influenciar a próxima iteração

Essa abordagem baseada em evidências é chamada de aprendizado validado - tomando decisões baseadas em evidências empíricas em vez de suposições ou opiniões.

Métricas de exemplo para aprendizado validado:

  • Taxas de engajamento do usuário e a adoção de recursos
  • Taxas de erro e desempenho do sistema
  • Pontuações de satisfação do cliente e chamados de suporte
  • KPIs de negócios (receita, taxas de conversão, retenção)

Diagrama ilustrando o ciclo de aprendizagem validada mostrando resultados bons, indiferentes e ruins com ciclos de feedback para melhoria contínua.

Reduzir o tempo do ciclo

Ao adotar práticas de DevOps:

  • Você reduz o tempo de ciclo trabalhando em lotes menores.
  • Usando mais automação.
  • Protegendo seu pipeline de lançamento.
  • Melhorando sua telemetria.
  • Implantação com mais frequência.

Diagrama de aprendizagem validada versus frequência de implantação. Bom, indiferente e ciclo ruim.

Otimizar o aprendizado validado

Quanto mais frequentemente você faz implantações, mais pode experimentar. Quanto mais oportunidade você para dinamizar ou perseverar, mais aprendizado validado você obterá em cada ciclo. Essa aceleração no aprendizado validado é o valor da melhoria. Pense nisso como a soma do progresso que você alcança e as falhas que você evita.

Diagrama de aprendizagem validada versus frequência de implantação. Bom, indiferente e ciclo ruim. Valor da métrica de melhoria.