O que é o DevNetOps?

O que é o DevNetOps?

DevNetOps é a aplicação de filosofias, princípios e comportamentos de DevOps para operações de rede (NetOps). As filosofias DevOps se originaram com a cultura de engenharia de software e a revolução da manufatura enxuta (lean) que ocorreu durante as décadas de 1980-2000. Estes princípios são conhecidos como CALMS: cultura, automação, enxuta, medição e compartilhamento (culture, automation, lean, measurement, and sharing, em inglês)

Um dos princípios DevOps mais mencionados contesta o modelo em cascata, onde o planejamento prolongado, construção e ciclos de testes ocorrem em longas fases sequenciais. Conforme documentado no The DevOps Handbook, a pesquisa DevOps mostrou que para indústrias de TI e manufatura, as implementações menores e mais frequentes resultam em uma maior velocidade operacional, agilidade e qualidade melhorada.

Para que as organizações atendam rapidamente a seus objetivos de negócios, a confiabilidade é um pré-requisito essencial! A velocidade sem sustentabilidade resulta em fracasso, e falhar rápido é benéfico para as organizações somente se elas puderem melhorar entre iterações. Com coincidência, uma implementação recente e popular do DevOps é o papel do engenheiro de confiabilidade do site (SRE). De maneira similar, o DevNetOps é implementado pelo engenheiro de confiabilidade de rede (NRE).

O que é um pipeline DevNetOps?

Pipeline DevNetOps

Pipeline DevNetOps

Para reduzir o tempo entre o desenvolvimento e a implementação, e trabalhar em ciclos mais curtos e mais rápidos com resultados de mudança de implementações menores, o pipeline DevNetOps automatiza o progresso entre mudanças de engenharia e implementações de produção.

O compromisso com um repositório de código com versão aciona um pipeline de integração contínua (CI, na sigla em inglês) de construção e teste progressivos. Por meio de uma série de avaliações automáticas e manuais, as cargas de entrega candidatas são testadas em ambientes virtuais, simulações e laboratórios em direção ao estado de uma entrega confiável e dedicada. O estado de entrega contínua (CD, na sigla em inglês) garante que a entrega dedicada esteja sempre em um estado que possa ser implementada. A implementação contínua é o impulso automático para a preparação e depois produção.

No entanto, antes de as mudanças serem enviadas para um ambiente runtime (como preparação e produção), é importante compreender as unidades de arquitetura de micro-dimensionamento de mudanças e infraestrutura imutável. As grandes mudanças monolíticas não são seguras e são mais lentas para formar e validar. Além disso, os problemas são mais difíceis de identificar quando comparados com pequenas mudanças.

A infraestrutura imutável é igualmente importante antes da implementação contínua. Não é eficiente nem útil implementar, e depois ter um engenheiro alterando o significado do que realmente foi implementado. Os runtimes de produção precisam ser reproduzíveis para testar mudanças com segurança e determinar como os problemas podem ser melhorados.

A monitoração, a medição e a resposta contínuas incluem a última parte do DevNetOps. O feedback em produção para indicadores de nível de serviço é usado para fazer ajustes reativos ou proativos ao estado de rede transitório. Além disso, as solicitações de telemetria, incidentes e alterações externas analisadas fornecem melhorias contínuas ao estado codificado dos sistemas de rede.

Resumo do pipeline DevNetOps automatizado

Ferramentas

Processo

Pessoas

Rede como código

Repositório de segredos de configuração, artefatos e gitOps

Ramificação, revisão, pareamento, Agile

Habilidades com código (não necessariamente programação)

Orquestração de pipeline

Ferramentas de pipeline CI/CD, estruturas de teste

TDD, avaliações de medição

Habilidades de construção e debug, profissionais de pipeline

Arquitetura micro e imutável

Entregas para provisionamento zero-touch (ZTP), refratários de fornecedores

Compromissos/implementação em pequenas etapas

CLI/TTY sem intervenção

Atualizações orquestradas

ZTD, virtualização, laboratórios, drenagem de tráfego

Análise canária de preparação e programação

Manutenção, roll back ou forward

Design de resiliência e testes

Geração de tráfego, DoS, Chaos Monkey

Janelas Chaos, limites de documento

Forçar falha para compreensão

Medição contínua

Big data analytics, ML, integração de ITops

Manuais de incidentes, planejamento de capacidade

Gerenciamento por estatísticas, métricas, eficiência

Resposta contínua

Auto remediação, FaaS (função como serviço), estatísticas preditivas

Supervisionar autoguiado

Projetar telemetria, indicadores, self-healing

Melhoria contínua

Atualizações, recursos, correções, mudanças

Registrar aprendizado local no conhecimento global

Análises post-mortems com mente aberta

Benefícios do DevNetOps

  • A cultura e os comportamentos de equipe consistentes com a engenharia de confiabilidade combinada com implementações menores e mais frequentes levam a equipes e empresas com desempenho superior1.
  • O DevNetOps permite uma integração mais rápida de sistemas de fornecedores, especialmente atualizações e patches de software. Ele convence os fornecedores a entregar cargas menores em uma cadência mais rápida, resolvendo o problema do longo tempo de espera para recursos e correções. Isso reduz drasticamente a lacuna entre o tempo de colocação no mercado do fornecedor e o tempo de implementação do operador.
  • Para engenheiros, o DevNetOps reduz o estresse (ansiedade de implementação) e aumenta a satisfação no trabalho.

Qual é a relação entre NRE, DevNetOps e DevOps?

DevOps e os engenheiros DevOps estão associados ao desenvolvimento e operações de aplicativos de negócios. Existe uma função para rede, especialmente para alguns tipos de rede definida por software (SDN, na sigla em inglês), na execução de clusters de aplicativos. No entanto, existem também redes dentro de empresas e provedores de serviços separadas do domínio de desenvolvimento e execução de aplicativos e plataformas de software2. Alguns exemplos de redes NetOps que se concentram em aplicativos empresariais são: redes de wide-area backbone, transporte, backhaul e data center underlay.

Para diferenciar DevOps e DevNetOps, a separação do networking de DevOps é entre fornecedor e cliente, ao invés de entre equipes da mesma empresa. Alguns objetivos do DevOps, como iteração rápida de recursos e experimentação de produtos, não são metas típicas para a infraestrutura de base de redes. No entanto, os princípios e benefícios do DevOps se aplicam igualmente à rede.

Embora o DevNetOps, como o DevOps, seja uma coleção de filosofias, princípios e boas práticas, a engenharia de confiabilidade de rede (NRE) as implementa. Os objetivos "Dev" e "Engenharia" são os mesmos. No entanto, embora os princípios do DevOps elevem a velocidade de iteração e evolução em direção ao aprendizado contínuo, o NRE se concentra na confiabilidade como seu objetivo principal. Estas são metas gêmeas complementares: um 'o quê' e um 'porquê'.