Sem resumo de edição |
|||
| Linha 6: | Linha 6: | ||
= Objetivos = | = Objetivos = | ||
* Criar uma solução que facilite a visualização de informações | * Criar uma solução que facilite a visualização de informações sobre os equipamentos e também realize configurações automáticas. | ||
* Criação de túneis LSP entre os roteadores. | * Criação de túneis LSP entre os roteadores. | ||
* Representar toda a planta da empresa por meio de técnicas como Graph Theory, Network Flow e Parallel computing. | * Representar toda a planta da empresa por meio de técnicas como Graph Theory, Network Flow e Parallel computing. | ||
* Criar uma API capaz de executar uma série de comandos pré definidas em um conjunto de equipamentos, baseado na autenticação de uma lista de usuários. | * Criar uma API capaz de executar uma série de comandos pré definidas em um conjunto de equipamentos, baseado na autenticação de uma lista de usuários. | ||
<br> | <br> | ||
= Fase I - Estudo = | = Fase I - Estudo = | ||
Edição das 18h33min de 30 de novembro de 2018
Título da Idéia
- Portal de coletas
Objetivos
- Criar uma solução que facilite a visualização de informações sobre os equipamentos e também realize configurações automáticas.
- Criação de túneis LSP entre os roteadores.
- Representar toda a planta da empresa por meio de técnicas como Graph Theory, Network Flow e Parallel computing.
- Criar uma API capaz de executar uma série de comandos pré definidas em um conjunto de equipamentos, baseado na autenticação de uma lista de usuários.
Fase I - Estudo
Conceito
Explique em que contexto macro esta pesquisa será inserida Relacione com outros projetos e pesquisas na área, na empresa ou mesmo no mundo Identifique algumas possibilidades de evolução desta idéia Tente enquadrar esta idéia em um grupo, propósito ou categoria específica
Características
Informe sobre as particularidades, aspectos e atributos desta idéia.
Estudo Dirigido
- Roteadores
- MPLS
- Túneis LSP
- Teoria dos Grafos
- Gephi
- Processamento paralelo
- Processamento remoto
Fase II - Ensino
Conteúdo
Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável
Apresentação
Apresente ao grupo (reunião, EAD, Blog, ...) Publique aqui
Metoldologia
Descrevas as metodologias usadas. Alguns exemplos:
Estratégia de Job Rotation Estudos básicos para conhecimento do potencial Estudos básicos para entendimento sobre o problema Estudos para dar base aos pesquisadores Benchmarking com empresas estrangeiras Aceleradoras de empresas Adoção de novas tecnologias Utilização da proposta de soluções Open-source Priorização no desenvolvimento interno Foco na não dependência de fornecedores Prática de formação dos talentos necessários
Fase III - Exemplo de Caso de Negócio
Benefícios para quem for oferecer esta solução
Descrever em tópicos os benefícios que uma pessoa ou uma empresa podem obter: ganhos, receitas, novos negócios, novos produtos, novas parcerias
Benefícios para o usuário
Descrever em tópicos os benefícios para os usuários desta solução.
Pode se inspirar no Canvas.
Direcionadores chave para esta iniciativa
Descrever em tópicos o que esta iniciativa pode proporcionar
Possíveis modelos de negócios
Descrever em tópicos os possíveis modelos de negócios
Business Case
Descrever um exemplo de negócio que permita avaliar a solução comercialmente
Barreiras encontradas
Aponte aqui quais foram os principais obstáculos encontrados para o desenvolvimento desta solução
Fase IV - Protótipo orientado ao Negócio
Escopo
Explique o escopo deste protótipo
Product Backlog
- https://docs.google.com/spreadsheets/d/1uMzWBxdoGnWcQ47jG-44_XluX4UdHEskFHr6UV0bHbU/edit?usp=sharing
- 01 Estudar Teoria dos Grafos - Depth-first search, Breadth-first search, Subgrafos, Conectividade, Network Flow
- 02 Estudar Gephi - Ferramenta utilizada como interface gráfica para representar os grafos
- 03 Estudar Processamento Paralelo - Executar comandos simultaneamente em diversos equipamentos
- 04 Estudar MPLS (Multiprotocol Label Switching) - Um dos protocolos utilizado para comunicação entre os equipamentos de transporte
- 05 Estudar LSP (Label-switched path) - Criação de túneis entre roteadores (como arestas em um grafo)
- 06 Estudar acesso remoto a sistemas - Executar comandos via SSH / Telnet / SNMP
- 07 Estudar lógica de programação - Melhor conhecimento lógico ajuda em diversas atividades, recomendo praticar em maratonas de programação
- 08 Estudar Github - Aprender como importar, exportar e usar o sistema git para versionamento. No caso utilizar github
- 09 Implementar Gephi - Visualizar qualquer tipo de grafo com informações variadas
- 10 Testar Gephi - Avaliar viabilidade da ferramenta
- 11 Implementar Discovery - Mapear todos os equipamentos na planta da algar de forma automática e eficiente
- 12 Testar Discovery - Avaliar viablidade da ferramenta
- 13 Integração discovery com gephi - Representar as informações do discovery no Gephi
- 14 Teste da integração - Avaliar viablidade da ferramenta
- 15 Resolver identificação do tipo de roteador - P, PE ou BORDA
- 16 Implementar criação de LSP tunnels - Implementar a criação de túneis de forma automática e eficaz, baseado na documentação
- 17 Testar criação de LSP tunnels - Avaliar viablidade da ferramenta
- 18 Implementar interface web para utilização da ferramenta de criação de túneis - Facilitar o uso
- 19 Testar interface web - Avaliar viablidade da ferramenta
- 20 Implementar API capaz de executar comandos simultaneamente - Executar comandos remotos de forma simultanea em diversos equipamentos com confiabilidade
- 21 Testar API - Avaliar viablidade da ferramenta
Limitações
Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.
PoC
Desenvolva um PoC (Proof of Concept)
Requisitos Funcionais
- What it should do?
- Input
- List of IP prefixes
- Credentials to enter in equipments
- Output
- List of equipments in network
- Loopback IP
- LSP
- OS
- List of equipments in network
- Input
- What do I need to know?
- Linux / Windows
- Run commands mannually
- Run local / remote command
- SSH
- Telnet
- Ping
- Files
- Read
- Write
- Delete
- Create
- Threads / Process
- Semaphore
- Deadlock
- ThreadPool
- Sweet Spot in concurrent threads/processes
- Data Structures
- Arrays
- Hash Table
- Exceptions
- Handle errors
- Create Logs
- Functions
- Global variables
- Local variables
- Paramiko?
- Help using SSH in python
- Linux / Windows
- What should I do?
- some_constants
- main()
- ping(hostname)
- run_local_command(command)
- run_remote_command(hostname, command)
- get_loopback_ip(hostname)
- get_lsp(hostname)
- get_os(hostname)
- get_info(hostname)
- build_ips_ping(prefixes)
- build_database(credentials_path)
Detalhamento Técnico
Descreva especificamente os aspectos técnicos desta pesquisa
Cronograma Macro
Histórico