Arquitetura de Automação

Chapter 0, Lesson 3

Montar uma plataforma de automação de rede eficiente exige um plano bem estruturado, e um entendimento claro dos componentes que integram essa nova solução. Esta aula explora uma das arquiteturas possíveis e simplificadas em "high level" para mapeamento e separação de funções

Componentes

Uma arquitetura de automação de rede é formada por blocos interconectados. Vamos aos detalhes

arquitetura

Sistema de Interação com o Usuário

snow

  • O que é: Ponto de entrada para os usuários iniciarem tarefas, monitorarem progresso e visualizarem relatórios.

  • Exemplos:

    • ITSM/Ticketing: Integração com ServiceNow para disparar automações via tickets.

    • ChatOps: Uso de Slack ou Teams para executar comandos por bots.

    • Portais Web: Dashboards com Flask ou Django para interação.

Infraestrutura de Rede e Armazenamento

  • O que é: Hardware e software que sustentam a automação e os dispositivos gerenciados.

  • Exemplos:

    • Servidores Linux: Rodam ferramentas como Ansible ou Python.

    • Armazenamento: Bancos como InfluxDB para configs e telemetria.

  • Integração com Redes Existentes:

    • Legadas: Usam SSH ou SNMP.

    • SDN: Integram via APIs como NETCONF ou RESTCONF.

  • Dica: Escolha dispositivos com suporte a APIs modernas para automação eficiente.

Sistemas de Comunicação de Dados e Segurança

  • O que é: Protocolos e medidas para conectar componentes com segurança.

  • Exemplos:

    • Protocolos: NETCONF, RESTCONF, gRPC.

    • Segurança: Criptografia, firewalls, RBAC.

  • Exemplo Prático: HTTPS para proteger chamadas de API.

Fonte da Verdade e Inventário

sot

Esses sistemas são fundamentais pra criar automação em loop fechado, onde dados entram e saem da infraestrutura de rede o tempo todo pra tomar decisões e ações inteligentes.

A automação gira em torno de dados, e identificar Fontes de Verdade confiáveis é um grande desafio. Uma SoT é um sistema ou repositório com dados definitivos, precisos e acessíveis por programação pra um domínio específico. Exemplos são NetBox pra inventário de dispositivos, IPAM pra endereços IP, DCIM pra infraestrutura física e ferramentas ITSM/CRM pra detalhes de tenants.

  • Camada de Agregação: Como muitas SoTs podem existir, uma camada de agregação pode unificá-las, oferecendo uma única API pras ferramentas de automação. Essa camada também traduz dados de várias fontes num modelo abstrato e independente de fornecedor, facilitando a integração e troca de SoTs.

  • Governança de Dados: As SoTs precisam ser bem gerenciadas, com controles de mudança pra evitar alterações não autorizadas e garantir sua autoridade.

  • O que é: Coletam dados para automação inteligente.

  • Componentes:

    • Fontes de Verdade (SoT): NetBox para inventário.
  • Exemplo: NetBox fornece dados para o Ansible configurar VLANs.

  • Formatos e Modelos de Dados: Escolher o formato de dados (tipo JSON, YAML, XML) e modelos de dados (como YANG pra NETCONF/RESTCONF) é crucial pra garantir consistência, interoperabilidade e uma representação estruturada dos dados da rede.

Motor de Automação

O Motor de Automação é o coração da plataforma, responsável por fazer as tarefas de automação acontecerem. Ele interpreta scripts, conversa com dispositivos de rede e organiza fluxos de trabalho. É onde a mágica da automação rola.

  • Execução de Scripts: O motor roda scripts em linguagens como Python (usando bibliotecas tipo Netmiko, NAPALM ou Nornir) ou ferramentas como Ansible ou Yamaha pra executar tarefas nos dispositivos.

  • Interação com Dispositivos: Ele gerencia a comunicação com os dispositivos, enviando comandos e recebendo respostas.

  • Execução de Fluxos de Trabalho: Pra automações mais complexas, o motor coordena várias tarefas, garantindo que elas aconteçam na ordem certa e lidando com dependências.

  • O que é: Executa scripts e gerencia dispositivos.

  • Ferramentas:

    • Ansible: Playbooks YAML sem agente.

    • Python + Netmiko: Scripts imperativos.

Sistema de Telemetria e Monitoramento

Esses sistemas são essenciais pra entender em tempo real o desempenho, saúde e comportamento da rede. Eles coletam dados dos dispositivos e mostram de forma clara, ajudando na automação em loop fechado.

  • Coleta de Dados: Isso inclui pegar métricas, logs e eventos dos dispositivos usando protocolos como SNMP, NetFlow, sFlow ou telemetria de streaming.

  • Monitoramento e Visualização: Ferramentas como Prometheus pra coletar métricas, Grafana pra dashboards e visualização, e a pilha ELK (Elasticsearch, Logstash, Kibana) pra gerenciar logs são muito usadas. Elas ajudam a observar o estado da rede e identificar problemas.

  • Loop de Feedback: Os dados coletados podem voltar pro motor de automação, disparando ações automáticas ou correções com base em condições específicas (ex.: alto uso de CPU disparando uma mudança de config ou notificação).

  • O que é: Coleta métricas para monitoramento em tempo real.

  • Ferramentas:

    • Prometheus: Métricas.

    • Grafana: Visualização.

  • Loop Fechado: Ajusta configs com base em telemetria (ex.: alto uso de CPU).

Sistema de Orquestração

Enquanto o motor de automação faz tarefas individuais, o Sistema de Orquestração organiza fluxos de trabalho complexos, de ponta a ponta, envolvendo vários domínios, ferramentas e até motores de automação diferentes. Ele dá uma visão geral, permitindo definir serviços em vez de só configs de dispositivos.

  • Gerenciamento de Fluxos: Os sistemas de orquestração organizam fluxos multi-etapa, garantindo que as tarefas sejam feitas na ordem certa, com dependências respeitadas e erros bem tratados.

  • Integração: Eles conectam todos os componentes da arquitetura, como SoTs, motores de automação e sistemas de telemetria, pra alcançar um estado desejado da rede ou entregar um serviço específico.

Fluxo de Automação em Loop Fechado

A "malha fechada" se refere ao mecanismo de feedback contínuo, onde o sistema recebe dados, processa-os e ajusta suas ações continuamente. Isso assegura o funcionamento em diversas condições, sem necessidade de intervenção manual.

graph TD A[Execução] -->|Ajustar Configurações de Rede| B[Feedback] B -->|Feedback p/ Observações| C[Observar] C -->|Observar Carga de Rede| D[Decisão] D -->|Analisar Desempenho de Rede| A D -->|Verificar Estado Pretendido| D style A fill:#add8e6,stroke:#333,stroke-width:2px style B fill:#90ee90,stroke:#333,stroke-width:2px style C fill:#ffff00,stroke:#333,stroke-width:2px style D fill:#ff6347,stroke:#333,stroke-width:2px
  • Observar: O sistema coleta e analisa dados de observabilidade da rede continuamente, incluindo métricas como fluxo de tráfego, utilização de recursos e estatísticas de desempenho.

  • Lógica de decisão: Usando dados de referência (a intenção) e baseando-se em regras predefinidas ou inteligência artificial e aprendizado de máquina, o sistema avalia os dados observados para identificar anomalias, problemas potenciais ou oportunidades de otimização.

  • Execução: Ao detectar um problema ou melhoria, o sistema aplica mudanças automaticamente, como ajustar largura de banda, rerrotear tráfego ou aplicar patches de segurança.

  • Feedback: Após a ação, o sistema monitora os resultados para aprender com as decisões, refinando futuras ações e tornando a automação mais inteligente e eficiente ao longo do tempo.

Essa malha fechada torna o sistema autossuficiente, operando de forma contínua e autônoma, aprendendo a cada ciclo para aumentar sua eficácia. Note que isso não é tudo ou nada: é possível implementar uma malha fechada para um conjunto de casos de uso, deixando outros fora do processo automatizado.

Exemplo prático:

  1. Telemetria detecta alto uso de CPU.

  2. Motor de automação analisa e ajusta configs.

  3. Orquestração aplica mudanças.

  4. Monitoramento verifica o resultado.

  • Diagrama:

Entendendo esses blocos e como eles trabalham juntos, você podem navegar por soluções de automação completas e eficazes, prontas pra atender as demandas das redes modernas.

graph TD A[Evento de Rede: Alto Uso de CPU] --> B[Sistema de Telemetria: Detecta Métrica] B --> C[Coleta de Dados: Armazena no Prometheus] C --> D[Motor de Automação: Analisa Dados] D --> E{Condição Atendida?} E -->|Sim| F[Sistema de Orquestração: Dispara Fluxo] E -->|Não| G[Nenhuma Ação] F --> H[Motor de Automação: Ajusta Configuração] H --> I[Rede: Aplica Alteração] I --> J[Telemetria: Monitora Resultado] J --> B