Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Solução Integrada para Configuração de Ativos d...

Aecio Pires
February 26, 2021

Solução Integrada para Configuração de Ativos de Rede

Dissertação de Mestrado de Aécio Pires em 26 de Fevereiro de 2021

Orientador: Prof. Dr. Paulo Ditarso Maciel Junior
Coorientador: Prof. Dr. Diego Ernesto Rosa Pessoa

A pesquisa busca reduzir problemas, utilizando a abordagem Infrastructure as Code (IaC) para automatizar o processo de configuração de recursos como sistemas operacionais de servidores, serviços de rede, contêineres e aplicações. O objetivo do trabalho é propor uma solução integrada a partir de ferramentas de softwares diferentes e que utilizam a abordagem IaC, com o intuito de realizar a automação da configuração de ativos de rede.

Fonte: https://www.ifpb.edu.br/joaopessoa/noticias/2021/02/primeira-defesa-ppgti-acontece-nessa-sexta-feira-26-02

Aecio Pires

February 26, 2021
Tweet

More Decks by Aecio Pires

Other Decks in Technology

Transcript

  1. Solução Integrada para Configuração de Ativos de Rede Aécio dos

    Santos Pires Dissertação de Mestrado 26 de Fevereiro de 2021 Orientador: Prof. Dr. Paulo Ditarso Maciel Junior Coorientador: Prof. Dr. Diego Ernesto Rosa Pessoa
  2. 2 Introdução Motivação e Descrição do Problema Objetivos da Pesquisa

    Solução Proposta Arquitetura da Solução Justificativa das Ferramentas Fluxo de Trabalho Funcionalidades Sugestões de Uso Validação Descrição da Validação Ambiente de Experimentação Avaliação Quantitativa de Desempenho Análise de Desempenho Análise de Perfilamento Sobre os Resultados Quantitativos Análise do Código da Solução Considerações Finais Considerações Contribuições da Pesquisa Trabalhos Futuros Agenda
  3. Motivação e Descrição do Problema • TI como ferramenta para

    o sucesso do negócio; • O gerenciamento da configuração muitas vezes é realizado de forma manual; ◦ Processo de alteração/reversão de configurações é difícil e demorado; ◦ Maior risco de indisponibilidade (impacto no negócio); ◦ Maior risco de erros de configuração; ◦ Ausência de rastreabilidade; ◦ Escalabilidade difícil. 3
  4. Motivação e Descrição do Problema • Heterogeneidade dos ativos de

    rede; • Infraestrutura como código (IaC); ◦ Nem todos se adaptaram; ◦ Várias ferramentas com linguagem própria e curva longa de aprendizado; ◦ Poucas ferramentas conseguem lidar com a heterogeneidade dos ativos. 4 Inclusive esta pesquisa surgiu a partir de uma demanda real da Unirede+Telemont+Neoenergia, na qual estes problemas estavam presentes no ambiente de produção.
  5. Objetivos da Pesquisa Questão da Pesquisa: “Como integrar, de maneira

    eficiente e eficaz, diferentes softwares para realizar a automação da configuração de uma infraestrutura de ativos de rede?” Objetivos específicos da pesquisa: • Identificar trabalhos relacionados; • Propor uma solução; • Implementar uma prova de conceito; • Avaliar a solução proposta; • Reportar os resultados. 5
  6. 6 Introdução Motivação e Descrição do Problema Objetivos da Pesquisa

    Solução Proposta Arquitetura da Solução Justificativa das Ferramentas Fluxo de Trabalho Funcionalidades Sugestões de Uso Validação Descrição da Validação Ambiente de Experimentação Avaliação Quantitativa de Desempenho Análise de Desempenho Análise de Perfilamento Sobre os Resultados Quantitativos Análise do Código da Solução Considerações Finais Considerações Contribuições da Pesquisa Trabalhos Futuros Agenda
  7. Solução Proposta PipeConf: é uma solução integrada de software que

    proporciona a automação da configuração de ativos de rede (switches e roteadores) de diferentes modelos e fabricantes, utilizando uma abordagem de infraestrutura como código. Escopo de execução da solução: • Switches e roteadores em redes LAN; • MAN e WAN (viável se houver conectividade entre os ativos e o PipeConf). 7
  8. Seleção das Ferramentas 9 • Critérios de seleção dentre as

    ferramentas: ◦ Viáveis de serem instaladas em ambientes on-premise; ◦ Utilizam menos recursos de CPU e memória; ◦ Por familiaridade e por terem o uso consolidado em ambientes de produção. Figura 5: Correlação das ferramentas com os módulos do PipeConf. Fonte: Elaboração própria.
  9. 10 Fluxos de Trabalho • Cadastro de ativos de rede;

    • Backup de configuração dos ativos; • Atualização de configuração dos ativos. Estes fluxos tiveram a patente depositada no INPI sob o número: BR202019017745-0.
  10. 11 Fluxos de Trabalho: Cadastro dos Ativos de Rede Figura

    7 – Fluxo de trabalho para cadastro dos ativos de rede. Fonte: Elaboração própria.
  11. 12 Fluxos de Trabalho: Backup das Configurações Figura 8 –

    Fluxo de trabalho para backup de configuração dos ativos. Fonte: Elaboração própria.
  12. 13 Fluxos de Trabalho: Atualização das Configurações Figura 9 –

    Fluxo de trabalho para atualização das configurações. Fonte: Elaboração própria.
  13. Funcionalidades 14 Ativos heterogêneos Interface web Cadastro Versionamento Backup sob-demanda

    Integração AD/LDAP Permissão p/ usuários Multiusuário E-mail Log Criptografia Configuração em paralelo agendado Permissão p/ grupos Notificações Pipeline Infraestrutura como código Visualização em tempo real Configuração automatizada Rastreabilidade Auditoria Suporte a Plugins
  14. Possibilidades de Uso • Ambientes de produção de empresas e

    organizações; • Demonstrações relacionadas à gerência de uma rede; • Apoio ao ensino em laboratórios. 15 Unirede+Telemont+Neoenergia: Case de uso do PipeConf em produção.
  15. 16 Agenda Introdução Motivação e Descrição do Problema Objetivos da

    Pesquisa Solução Proposta Arquitetura da Solução Justificativa das Ferramentas Fluxo de Trabalho Funcionalidades Sugestões de Uso Validação Descrição da Validação Ambiente de Experimentação Avaliação Quantitativa de Desempenho Análise de Desempenho Análise de Perfilamento Sobre os Resultados Quantitativos Análise do Código da Solução Considerações Finais Considerações Contribuições da Pesquisa Trabalhos Futuros Agenda
  16. Descrição da Validação • Quantitativa: relacionada ao aspecto de eficiência

    da solução; ◦ Avaliação empírica de desempenho utilizando as metodologias experimentação e medição. ◦ Busca-se comparar o desempenho da execução de um conjunto de atividades perante 2 aspectos importantes: ▪ Celeridade (quão rápida é a execução); ▪ Escala (quantidade de dispositivos); • Qualitativa: relacionada ao aspecto de eficácia da solução; ◦ Busca-se investigar o aspecto de segurança da solução proposta. 17
  17. Descrição da Validação: Objetivos • Quantitativa: ◦ Objetivos: ▪ Analisar

    o tempo total de execução do PipeConf dado um conjunto de atividades; ▪ Analisar o consumo de recursos de CPU e memória pelo PipeConf; ▪ Comparar o tempo de execução de um mesmo subconjunto de atividades realizadas pelo PipeConf e o Unimus; ▪ Caracterizar a execução através do perfilamento do tempo de cada atividade realizada pelo PipeConf. 18
  18. Ambiente de Experimentação • Foi implementado uma PoC; • Foram

    elencadas 12 atividades comuns entre as análises; • Ativos simulados; • Fatores de entrada: ◦ Quantidade de ativos (1, 2, 4, 8, 16, 32, 64 e 128); ◦ Utilizado um modelo de ativo em todas as análises; • Métrica de celeridade: ◦ Tempo médio de execução das atividades; • Métrica de escalabilidade: ◦ Consumo de recursos de CPU e memória dos componentes do PipeConf; ◦ A coleta dessas métricas foi realizada com intervalo de 60 segundos; • Cada experimento foi executado 30 vezes; • Nível de confiança estatística de 95%. 19
  19. Análise de Desempenho: Resultados 20 Figura 11 – Dados do

    Pipeconf referentes aos tempos de configuração em função do número de ativos gerenciados. Fonte: Elaboração própria.
  20. Análise de Desempenho: Resultados 21 Figura 12 – Variação da

    média móvel a cerca das métricas gerais do consumo de recursos pelo PipeConf durante 77h de execução dos experimentos. Fonte: Elaboração própria.
  21. Análise de Perfilamento: Resultados 23 Figura 13 – Tempo médio

    total de configuração dos ativos e perfilamento dos tempos médios em cada atividade executada pelo PipeConf. Fonte: Elaboração própria.
  22. Análise de Perfilamento: Atividades do Unimus 24 Os Atividades 5

    e 7 executados pelo Unimus são as mesmas executadas pelo PipeConf.
  23. Análise de Perfilamento: Resultados 25 Figura 14 – Comparação dos

    tempos médios de configuração do Unimus e do Pipeconf, considerando as atividades comuns às duas soluções. Fonte: Elaboração própria.
  24. Análise de Escalabilidade: Resultados 26 Figura 15 – Comparação dos

    tempos médios de configuração para as duas versões executadas do Pipeconf. Fonte: Elaboração própria.
  25. Sobre os Resultados Quantitativos... • Considera-se que o desempenho do

    PipeConf foi satisfatório; • Apesar do Unimus ter apresentado tempos de execução menores... ◦ Ele realiza menos atividades que o PipeConf; ◦ Não faz uso da abordagem de Infraestrutura como Código; • Ressalta-se que a heterogeneidade dos ativos também foi considerada. ◦ Mas foi utilizado apenas um modelo de ativo de rede devido a algumas limitações. 27
  26. Descrição da Validação: Objetivos • Qualitativa: relacionada ao aspecto de

    eficácia da solução; ◦ Objetivo: ▪ Analisar o código fonte do PipeConf e também o código gerado a partir dos ativos para verificar a existência de 7 vulnerabilidades de segurança no código (code security smell) propostas por Rahman, Parnin e Williams (2019). 28
  27. Análise do Código da Solução 29 Tabela 10 – Vulnerabilidades

    de segurança no código propostas por Rahman, Parnin e Williams (2019).
  28. Análise do Código da Solução 30 • Todos os arquivos

    referentes ao código do PipeConf e aos backups da configuração dos ativos foram submetidos para uma análise automática através dos seguintes serviços: ◦ Codeac; ◦ Codacy; ◦ Sonarqube; ◦ ShellCheck. • Também foi realizada uma análise manual nesses mesmos arquivos para complementar a análise automática; • Em nenhuma das análises foi identificada a presença das vulnerabilidades de segurança citadas na Tabela 10.
  29. 31 Agenda Agenda Introdução Motivação e Descrição do Problema Objetivos

    da Pesquisa Solução Proposta Arquitetura da Solução Justificativa das Ferramentas Fluxo de Trabalho Funcionalidades Sugestões de Uso Validação Descrição da Validação Ambiente de Experimentação Avaliação Quantitativa de Desempenho Análise de Desempenho Análise de Perfilamento Sobre os Resultados Quantitativos Análise do Código da Solução Considerações Finais Considerações Contribuições da Pesquisa Trabalhos Futuros Agenda
  30. 32 Considerações Sobre a Pesquisa • Possibilitou a aplicação da

    abordagem de Infraestrutura como Código; • Após a avaliação quantitativa, considera-se que o PipeConf apresentou um desempenho satisfatório; • Usar a abordagem de IaC para configurar os ativos garantiu um processo simples, rápido, seguro e reversível; • Acredita-se que utilizar diversas ferramentas separadamente não proporciona o mesmo benefício; • Conclui-se que os objetivos iniciais foram atendidos por meio do uso do PipeConf.
  31. 33 Contribuições da Pesquisa • Revisão sistemática da literatura na

    área de IaC para identificar os trabalhos relacionados; • Definição de um arquitetura de software modular para gerenciamento automatizado de configurações de ativos de rede, que leva em consideração ativos heterogêneos, além de realizar versionamento e backup de arquivos; • A implementação da solução integrada como prova de conceito da arquitetura proposta; • Validação da solução integrada em ambiente simulado, com o intuito de analisar os resultados obtidos segundo critérios de eficiência e eficácia; • Disponibilização das instruções e arquivos de configuração para replicar a PoC usada na validação da solução; • Compartilhamento do dataset contendo os dados de tempo para alterar e/ou realizar o backup da configuração de ativos de rede com as ferramentas analisadas; • Como resultado da implementação da solução proposta foi realizado o depósito de patente no INPI sob o número BR202019017745-0, com base nos fluxos de trabalhos. Também foi registrado o código fonte da solução proposta no INPI sob o número BR512019001905-9.
  32. 34 Trabalhos Futuros • Investigar outro componente de software que

    possa paralelizar o gerenciamento dos ativos de forma independente do número de núcleos de CPU; • Investigar uma abordagem alternativa para criptografar de maneira mais rápida os arquivos com as credenciais dos ativos; • Analisar o desempenho do PipeConf envolvendo experimentos empíricos com ativos heterogêneos; ◦ A intenção é confirmar a hipótese de que o PipeConf mitiga a dificuldade de gerenciar ativos heterogêneos, não só em relação ao tempo de configurar sintaxes diferentes, mas também em relação à necessidade de conhecer previamente tais sintaxes. • Analisar qualitativamente o PipeConf segundo o aspecto da usabilidade, utilizando experimentos com usuários reais.
  33. Questão da Pesquisa “Como integrar, de maneira eficiente e eficaz,

    diferentes abordagens para realizar a automação da configuração de uma infraestrutura de ativos de rede?” 37
  34. Bases de Conhecimento • ACM Digital Library • Springer •

    Science Direct • IEEE Xplore 38 10 de maio de 2020 Critérios de exclusão Quantidade de publicações por base IEEE Xplore ACM Springer Science Direct Resultados a partir dos critérios de exclusão: CE2-CE4 e CE9-CE15 39 419 258 363 Total de artigos pré-selecionados 1079 Resultados após aplicar os critérios: CE1, CE5-CE8 2 6 2 - Publicações selecionadas 10 Formulário de seleção dos artigos Planilha de Resultados Foco em publicações que utilizem ferramentas que utilizam a abordagem IaC para gerenciar configurações de ativos com eficácia e eficiência. Tabela 1 – Quantidade de publicações contidas nos resultados da busca.
  35. Facetas de Pesquisa 39 Figura 1 – Classificação dos trabalhos

    por facetas de pesquisa. Fonte: Elaboração própria.
  36. Facetas Tecnológicas 40 Figura 2 – Classificação dos trabalhos por

    facetas tecnológicas. Fonte: Elaboração própria.
  37. Modelos de Instalação Figura 4 – Modelos de instalação do

    PipeConf. Fonte: Elaboração própria.
  38. Requisitos de Hardware • O PipeConf necessita que cada equipamento

    esteja previamente conectado à rede; • O PipeConf pode ser instalado em servidores físicos ou máquinas virtuais; • Também é necessário que haja conectividade entre o(s) servidor(es) do PipeConf e os ativos de rede a serem gerenciados. 42 Requisitos Tipos de Hosts PipeConf-Server PipeConf-Node Distribuição GNU/Linux Ubuntu | CentOS | Debian Ubuntu | CentOS | Debian Memória 2 GB 1 GB CPU 1 core 1 core HD 10 GB 10 GB Tabela 6 – Requisitos de hardware do PipeConf.
  39. Modelos de Instalação • O PipeConf necessita que cada ativo

    esteja previamente conectado à rede; • As seguintes informações de acesso são requeridas: ◦ Nome do ativo de rede; ◦ Tipo do ativo de rede, se switch ou roteador; ◦ O endereço IPv4 ou o nome DNS do ativo de rede; ◦ Nome do driver correspondente ao fabricante do ativo; ◦ Credenciais de acesso (nome de usuário e senha) com permissão de administrador; ◦ Tipo de acesso remoto SSH, Telnet, HTTP ou HTTPS, que pode variar de acordo com o modelo e fabricante do ativo; ◦ Porta relacionada ao serviço de acesso remoto, como por exemplo, 22/TCP para o SSH; 23/TCP para o Telnet, 80/TCP para o HTTP e 443/TCP para o HTTPS; ◦ A senha para acessar o modo administrador do ativo de rede, que pode ser igual ou diferente da senha de acesso remoto. 43
  40. Ambientes de Experimentação: Configurações de Hardware • PipeConf-Server e Node

    ◦ Notebook para executar os planos de dados e de controle do PipeConf; ◦ Sistema operacional Ubuntu Desktop 18.04 64 bits; ◦ Processador Intel(R) Core(TM) i5-4210U de 1.70GHz com 4 núcleos; ◦ Memória de 8GB; ◦ SSD SATA III de 480GB com taxas de 540MB/s para leitura e 500MB/s para escrita; • Servidor GNS3 ◦ Instância no GCP para executar o GNS3-Server e os dispositivos simulados; ◦ Sistema operacional Ubuntu Minimal 18.04 64 bits; ◦ Processador Intel(R) Xeon(R) de 2.0GHz com 24 núcleos; ◦ Memória de 40GB; ◦ SSD SATA III de 30GB com taxas de 540MB/s para leitura e 500MB/s para escrita. 44
  41. Ambientes de Experimentação: Configurações de Software do PipeConf • GNS3

    2.2.14 • Docker Community Edition 19.03.13; • Gogs 0.12.3; • PostgreSQL 12.3; • Jenkins 2.263.1; • Salt SProxy 2020.7.0; • Napalm 3.0.1; • Sops 3.6.0. 45
  42. Ambientes de Experimentação: Configurações de Software para o Monitoramento •

    Prometheus 2.24.1; • Grafana 7.3.7; • Node Exporter 1.0.1; • CAdvisor 0.36.0. 46
  43. Análise de Perfilamento 47 Tabela 9 – Comparação dos tempos

    médios de configuração do Unimus e do PipeConf, considerando as atividades comuns às duas soluções.
  44. PipeConf: Tempo médio entre switch Arista e roteador Cisco 48

    Executando as mesmas atividades elencadas na avaliação quantitativa e utilizando o mesmo ambiente de PoC.
  45. 49

  46. 50

  47. 51