O que é DevOps?

Concluído

DevOps é a união de pessoas, processos e produtos para habilitar a entrega contínua de valor para nossos clientes. No entanto, o que isso significa exatamente? Vamos nos unir à equipe conforme Clara explica o que é o DevOps, o que não é e o que torna as organizações com desempenho de elite bem-sucedidas.

Clara convocou uma breve reunião com seus colegas. Todos compareceram, mas ninguém quer estar ali. Ela colocou uma caixa de donuts na mesa.

Clara: Olá, obrigada por virem. Eu queria falar mais sobre nosso mapa de fluxo de valor e como podemos tornar nossos processos mais eficientes.

O mapa de fluxo de valor de Clara ainda está no quadro de comunicações da reunião anterior:

Screenshot of a whiteboard showing the value stream map.

Clara: Nosso mapa de fluxo de valor mostra os pontos em que perdemos eficiência ao proporcionar valor para nossos usuários finais. Assim como todo mundo, podemos melhorar. E podemos decidir quais áreas abordar primeiro.

Paulo: Isso nos mostra os pontos em que temos problemas, mas não o que fazer em relação a eles.

Clara: Certo, é um exercício que ajuda a nos colocar na direção certa. Quanto ao que fazer em relação aos nossos problemas, acho que o DevOps nos ajudará. Na minha última empresa, nossas taxas de implantação subiram, os prazos de entrega eram muito mais rápidos e as operações tinham muito menos incidentes. Demorou algum tempo para chegarmos lá, mas valeu a pena. O DevOps não é uma solução rápida.

Pedro: Conheço alguém que acabou de conseguir um emprego como engenheiro de DevOps. Eu acho que é mais para os desenvolvedores. Parece você, Paulo.

Clara: DevOps não é um cargo.

Marina: Há algum programa de software que podemos obter que nos ajudará ou um modelo? Talvez haja uma planilha do DevOps.

Clara: DevOps não é um software.

Paulo: É mais uma metodologia.

Clara: Não exatamente.

Paulo, Marina, Pedro: Então o que é?!

Clara: Aqui está a definição que gosto de usar:

O DevOps é a união de pessoas, processos e produtos para habilitar a entrega contínua de valor para nossos usuários finais.

Na verdade, Abel Wang, um defensor da nuvem da Microsoft, tem um ótimo conjunto de vídeos com respostas rápidas para algumas das nossas grandes perguntas. Vejamos como Abel define o DevOps:

Pergunte ao Abel

Nossa meta é fornecer aos nossos clientes jogos que eles adorarão. Fazemos isso trabalhando junto com um conjunto de práticas e ferramentas compartilhadas.

Marina: O que isso significa? Quais práticas compartilhadas? Quais ferramentas compartilhadas?

Clara: Aqui está o que quero dizer com práticas:

  • Planejamento ágil: juntos, criaremos uma lista de pendências de trabalho que todos na equipe e no gerenciamento possam ver. Vamos priorizar os itens para sabermos no que precisamos trabalhar primeiro. A lista de pendências pode incluir históricos, bugs e outras informações que nos ajudam.
  • Integração contínua (CI): automatizaremos a forma como construímos e testamos nosso código. Vamos executar isso sempre que um membro da equipe confirmar alterações no controle de versão.
  • Entrega contínua (CD): a CD é como testamos, configuramos e implantamos de uma construção para um ambiente de controle de qualidade ou produção.
  • Monitoramento: usaremos a telemetria para obter informações sobre padrões de uso e desempenho do aplicativo. Podemos usar essas informações para melhorar conforme fazemos a iteração.

Marina: Não sei sobre testes automatizados. Meus testes são manuais e os faço depois que o Paulo entrega o código para mim. Eu não tenho tempo para mudar como eu faço tudo.

Pedro: Não há a menor possibilidade de eu permitir que qualquer um de vocês faça a implantação na produção.

Paulo: Isso vai assustar o gerenciamento. Eles nunca pensam além do próximo lançamento e querem para ontem.

Clara: Eu sei o que você está dizendo sobre o gerenciamento. Eu reuni este material informativo sobre o que compõe uma equipe com desempenho de elite.

O que compõe uma equipe com desempenho de elite?

Este é o material informativo que Clara preparou. As informações são baseadas nos relatórios de pesquisa do DevOps e pesquisas realizadas com profissionais técnicos no mundo todo.

O DevOps ajuda as empresas a experimentar maneiras de aumentar a adoção e a satisfação do cliente. Isso pode levar a um melhor desempenho organizacional e muitas vezes à maior lucratividade e participação no mercado.

Ele usa métricas para criar quatro categorias pelas quais comparar as equipes com desempenho de elite com as com baixo desempenho.

Equipes com desempenho de elite:

  • Implantam com mais frequência

    Na verdade, algumas equipes implantam até dezenas de vezes por dia.

    Práticas como o monitoramento, o teste contínuo, o gerenciamento de alterações do banco de dados e a integração de segurança no início do processo de desenvolvimento de software ajudam as organizações com desempenho de elite a implantar com mais frequência e com maior previsibilidade e segurança.

  • Reduzem o prazo de entrega da confirmação ("commit") à implantação

    O prazo de entrega é o tempo necessário para um recurso chegar ao cliente. Ao trabalhar em lotes menores, automatizando processos manuais e implantando com mais frequência, as organizações com desempenho de elite podem realizar em horas ou dias o que antes levava semanas ou até mesmo meses.

  • Reduzem a taxa de falha de alteração

    Um novo recurso que falha na produção ou faz com que outros recursos sejam interrompidos pode criar uma oportunidade perdida entre você e seus usuários. Conforme as equipes com alto desempenho amadurecem, elas reduzem sua taxa de falha de alteração ao longo do tempo.

  • Recuperam-se de incidentes mais rapidamente

    Quando ocorrem incidentes, as organizações com desempenho de elite são capazes de se recupere mais rapidamente. Atuar nas métricas ajuda as equipes com desempenho de elite a se recuperar mais rápido enquanto também implantam com mais frequência.

Como você implementa a infraestrutura de nuvem também faz diferença. A nuvem aprimora o desempenho de entrega de software e as equipes que adotam as características de nuvem essenciais têm uma probabilidade maior de se tornarem equipes com desempenho de elite.

A terceirização pode economizar dinheiro e fornecer um banco de profissionais flexível, mas deve ser usado nas áreas corretas. Equipes de baixo desempenho têm uma probabilidade maior de terceirizar funções inteiras (como testes e operações) do que suas contrapartes de alto desempenho.

O resultado

O DevOps é um dos principais motivos pelos quais as equipes de desempenho de elite são capazes de agregar valor aos clientes na forma de novos recursos e aprimoramentos, mais rapidamente do que os concorrentes. Neste breve vídeo, Abel explica por que você deve saber mais sobre o DevOps:

Pergunte ao Abel

O que o DevOps não é

Ao considerar o que é DevOps, também é importante garantir que saibamos o que ele não é. O DevOps não é:

  • Uma metodologia.
  • Um software específico.
  • Uma solução rápida para os desafios de uma organização.
  • Apenas uma equipe ou um cargo (embora esses títulos sejam razoavelmente comuns no setor).