Engenharia e a conquista do DevOps

A jornada de uma organização para incorporar o DevOps é muito parecida com a de um aprendiz de artes marciais: longa, desafiadora, muitas vezes frustrante, mas, no fim das contas, recompensadora.

O conhecimento teórico é crucial para orientar a prática correta e levar à transformação. No caso do DevOps, uma abordagem estruturada de engenharia pode ajudar a pavimentar o caminho e direcionar esforços de maneira eficiente.

Mapeando o DevOps

Em seu livro Engineering DevOps: From Chaos to Continuous Improvement … and Beyond (“Engenharia DevOps: Do Caos ao Aprimoramento Contínuo… e Além”, em tradução livre), Marc Hornbeek delineia 24 práticas necessárias para que uma organização consiga incorporar o DevOps de maneira eficiente e com alta performance.

Deste mapeamento, destacamos 8 categorias práticas que fazem parte da abordagem de “engenharia”.

Sistemas de Gerenciamento de Versões: É essencial manter um registro organizado de versões do código-fonte, dos dados de configuração e das imagens executáveis do software. Isso demanda sistemas de gerenciamento de código, repositórios de artefatos e sistemas de gerenciamento de configuração.

Infraestrutura “as-a-service”: Nuvem virtualizada e recursos dedicados devem ser colocados em servidor de modo efêmero para resolver demandas de carga de trabalho e armazenamento. Para isso, é preciso dominar a prática de orquestrar serviços dedicados, em nuvem, híbridos ou “multi nuvem”, e o deployment de aplicações para a infraestrutura.

Automação de lançamento de Aplicação: Direcionar e monitorar mudanças de software ao longo do pipeline de CI/CD demanda orquestragem de processo e data analysis um nível acima do próprio pipeline de CI/CD.

Gerenciamento de Fluxo de Valor (Value Stream Management – VSM): Um serviço aplicado, composto por múltiplos microsserviços de aplicação e serviços de dados exige que você saiba orquestrar e analisar um conjunto de serviços, de ponta a ponta, ao longo do fluxo de valor – do planejamento às operações.

Catálogo de Serviços: Coleções organizadas de stacks de software, de ferramentas e de pipelines pré-configurados, disponibilizados por meio de portais, viabilizam operações de DevOps-as-a-Service e simplificam o uso (acesso, configuração, controle e evolução) de recursos de DevOps por parte das equipes da organização.

Prevenção e recuperação de desastres: Por meio de um monitoramento proativo, acompanhado por configurações de alta-disponibilidade e práticas de mitigação de desastres, é possível minimizar as consequências e orquestrar uma restauração rápida de serviços de DevOps se necessário.

Engenharia de confiabilidade de site (Site Reliability Engineering – SRE): Esta combinação de práticas ajuda a realizar o “shift left” do conhecimento de produção das operações para o desenvolvimento. Inclui objetivos de nível de serviço (SLOs), budgets de erro, monitoramento, políticas de compartilhamento de tarefas, práticas proativas de anti-fragilidade e post-mortem sem “atribuição de culpa”.

Governança: A escala e o escopo das soluções de DevOps são controladas por meio de políticas de governança “em código”, implementadas por meio de catálogos de serviço, dashboards de gerenciamento e políticas de budget de erros.

Extra: Os 9 Pilares Iniciais do DevOps

De acordo com Hornbeek, há 9 pilares que pavimentam o início da jornada de implementação do DevOps. São temas a respeito dos quais falamos constantemente aqui na Prime Control, e sua importância é auto evidente:

  • Apoio da Liderança;
  • Cultura colaborativa;
  • Design alinhado ao DevOps;
  • Integração Contínua;
  • Testagem Contínua;
  • Infraestrutura flexível;
  • Monitoramento Contínuo;
  • DevSecOps (Segurança Contínua);
  • Entrega Contínua.

Uma abordagem estruturada, inspirada em princípios de engenharia, ajuda a organizar ideias e delinear planos de ação. Sem ordem, o DevOps acaba se tornando praticamente inatingível, e a organização deixa de colher os inúmeros frutos que vêm com sua implementação.

E-books e Relatórios

Conheça nossa base de ebooks, artigos, relatórios e cases. Aprenda sobre as boas práticas de testes, qualidade de software e muito mais.

Tudo disponível para download gratuitamente.