What is DevOps? (O que é o DevOps?)

Concluído

DevOps é a união de pessoas, processos e produtos para permitir a entrega contínua de valor aos nossos clientes. No entanto, o que isso significa exatamente? Vamos juntar-nos à equipa enquanto a Teresa explica o que é o DevOps, o que não é e o que torna as equipas com melhor desempenho bem-sucedidas.

A Teresa convocou uma breve reunião com os seus colegas de equipa. Todo mundo apareceu, mas ninguém quer estar lá. Colocou uma caixa de donuts na mesa.

Mara: Olá, obrigada por ter vindo. Queria falar um pouco mais sobre o mapa de fluxo de valores e como podemos tornar os nossos processos mais eficientes.

O mapa do fluxo de valor de Mara ainda está no quadro branco de sua reunião anterior:

Screenshot of a whiteboard showing the value stream map.

Mara: Nosso mapa de fluxo de valor mostra onde perdemos eficiência na entrega de valor aos nossos usuários finais. Assim como todos os outros, podemos melhorar. E podemos decidir quais as áreas a abordar primeiro.

Andy: Isso nos mostra onde temos problemas, mas não o que fazer com eles.

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

Tim: Eu conheço alguém que acabou de conseguir um emprego como engenheiro de DevOps. Penso que é mais direcionado para programadores. Parece indicado para ti, Guilherme.

Mara: DevOps não é um cargo.

Amita: Existe algum programa de software que possamos obter que nos ajude, ou um modelo? Talvez haja uma folha de cálculo do DevOps.

Mara: O DevOps não é um software.

Andy: É mais como uma metodologia.

Mara: Na verdade, não.

Andy, Amita, Tim: Então o que é?!

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

O DevOps é a união das pessoas, do processo e dos produtos que nos permite proporcionar valor aos nossos utilizadores finais.

Na verdade, Abel Wang, um Cloud Advocate da Microsoft, tem um grande conjunto de vídeos com respostas rápidas para algumas das nossas grandes perguntas. Vamos ver como Abel define DevOps:

Pergunte ao Abel

O nosso objetivo é dar aos nossos clientes os jogos que adoram. Fazemos isso ao trabalhar com um conjunto partilhado de práticas e ferramentas.

Amita: O que isso significa? Que práticas partilhadas? Que ferramentas partilhadas?

Mara: Aqui está o que eu quero dizer com práticas:

  • Planejamento ágil: Juntos, criaremos um backlog de trabalho que todos na equipe e na gestão podem ver. Vamos atribuir prioridades aos itens para sabermos o que temos de fazer em primeiro lugar. O registo de tarefas pendentes pode incluir histórias de utilizadores, erros e todas as informações que nos forem úteis.
  • Integração contínua (CI): automatizaremos a forma como construímos e testamos o nosso código. Vamos executar essa ferramenta sempre que um membro da equipa consolidar alterações no controlo de versões.
  • Entrega contínua (CD): CD é como testamos, configuramos e implantamos de uma compilação para um ambiente de controle de qualidade ou produção.
  • Monitoramento: usaremos a telemetria para obter informações sobre o desempenho e os padrões de uso de um aplicativo. Podemos utilizar essas informações para melhorar à medida que iteramos.

Amita: Eu não sei sobre testes automatizados. Meus testes são manuais e eu os faço depois que Andy me entrega o código. Não tenho tempo para alterar a forma como faço tudo.

Tim: Não há como eu deixar qualquer um de vocês implantar na produção.

Andy: Isso vai assustar a gestão. Eles nunca pensam mais do que o próximo lançamento e eles sempre querem isso ontem.

Mara: Eu sei o que você quer dizer sobre gestão. Elaborei este folheto sobre o que é preciso para ter uma equipa com melhor desempenho.

O que é preciso para ter uma equipa com melhor desempenho?

Eis o folheto que a Teresa preparou. Estas informações baseiam-se em inquéritos e relatórios de investigação do DevOps realizados por profissionais técnicos em todo o mundo.

O DevOps ajuda as empresas a experimentar maneiras de aumentar a adoção e a satisfação do cliente. Pode levar a um melhor desempenho organizacional e, muitas vezes, a uma maior rentabilidade e quota de mercado.

Ele usa métricas para criar quatro categorias para comparar artistas de elite com desempenhos baixos.

Artistas de elite:

  • Implementam com mais frequência

    Na verdade, algumas equipas implementam até dezenas de vezes por dia.

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

  • Reduzem o prazo de entrega, desde a consolidação à implementação

    O prazo de entrega é o tempo que uma funcionalidade demora a ficar disponível para o cliente. Ao trabalhar em lotes mais pequenos, automatizar processos manuais e implementar com mais frequência, as equipas com melhor desempenho podem alcançar em horas ou dias o que anteriormente demorava semanas ou até meses.

  • Reduzem a taxa de alterações/falhas

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

  • Recuperam de incidentes mais rapidamente

    Quando ocorrem incidentes, as equipas com melhor desempenho conseguem recuperar mais rapidamente. Atuar com base em métricas ajuda os artistas de elite a se recuperarem mais rapidamente e, ao mesmo tempo, implantarem com mais frequência.

A forma como implementa a infraestrutura de cloud também faz a diferença. A nuvem melhora o desempenho de entrega de software, e as equipes que adotam características essenciais de nuvem têm maior probabilidade de se tornarem executantes de elite.

A terceirização pode economizar dinheiro e fornecer uma força de trabalho flexível, mas deve ser usada nas áreas corretas. Equipes de baixo desempenho são mais propensas a terceirizar funções inteiras (como testes e operações) do que suas contrapartes de alto desempenho.

Ponto-chave

O DevOps é uma das principais razões pelas quais muitos artistas de elite são capazes de entregar valor aos clientes na forma de novos recursos e melhorias, mais rapidamente do que seus concorrentes. Neste pequeno vídeo, Abel explica por que você deve aprender mais sobre DevOps:

Pergunte ao Abel

O que o DevOps não é

Ao considerar o que é DevOps, também é importante garantir que aprendemos o que nã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 na indústria).