5W2H
What
1. Qual o nome do seu projeto?
- Round Inspection
2. Qual o objetivo deste projeto?
- O projeto consiste em entregar uma plataforma capaz de realizar a métrica de ambientes de TI, esta, com intuito de prever possíveis pontos de falha que possam causar impactos em um ambiente de produção, consequentemente também impactando as atividades finais de uma empresa.
3. Quais os maiores desafios, na sua opinião, para se realizar este trabalho?
Os desafios para se criar uma plataforma que forneça tal serviço podem variar de acordo com a área de atuação da empresa que irá utilizá-la. Porém podemos destacar alguns pontos gerais que podem vir a ser mais desafiadores, são eles:
- Dificuldade em entender quais parâmetros são vitais e devem ser capturados dentro de um ambiente
- Complexidade em desenvolver uma interface que seja de fácil manuseio e entendimento aos usuários do sistema
- Definir qual a criticidade que um ponto de falha específico acarreta no ambiente empregado e nas atividades da organização
4. Quais os conhecimentos básicos que devemos ter para se implementar este projeto?
- Conhecimentos em programação avançada
- Conhecimentos em IHC (Interação Humano-computador)
- Conhecimentos em tipologias de rede
- Conhecimentos em regras de negócio
- Conhecimentos em auditoria e segurança da informação
- Conhecimentos em Bancos de dados
- Conhecimentos em protocolos de monitoramento (SNMP)
- Conhecimentos em sistemas operacionais
- Conhecimentos em Hardware
É possível listarmos uma vasta gama de conhecimentos que podem ser necessários, pois, eles também irão depender do ramo da empresa que irá agregar esta ferramenta em suas atividades.
5. Quais soluções similares existem no mercado?
- Zabbix
- Centreon
- Nagios
Existe uma infinidade de ferramentas de monitoramento porém poucas são focadas no Round Inspection em si, quando se pensa a nível de aplicação.
Why
1. Porque é interessante desenvolver este projeto?
- O desenvolvimento deste projeto é importante pois, ambientes que suportam aplicações de alto risco precisam de um constante acompanhamento, uma fez que caso algo venha a falhar devido a pontos que poderiam ser previstos, podem acabar por trazer grandes impactos financeiros para uma organização, dentre outros.
2. Porque deve usar a tecnologia escolhida?
- A tecnologia escolhida deve ser usada uma vez que além de monitorar elementos de rede e infraestrutura ela também tem a finalidade de acompanhar o funcionamento das aplicações, como acompanhar logs de erros entre outros. Na maioria das soluções de mercado apenas é levado em consideração a parte de infraestrutura e rede.
3. Porque usar o hardware específico?
- O hardware será definido de acordo com o tamanho do ambiente que será monitorado, uma vez que é necessário um gasto considerável de recurso computacional para realizar as operações do sistema desenvolvido. Isso justificará o hardware que será orçado.
4. Porque usar o sistema específico?
- O sistema específico utilizado no projeto será open source, uma vez que a finalidade é não realizar a aquisição de ferramentas proprietárias já existentes.
Who
1. Quem pode se beneficiar deste projeto?
- Dentro de uma organização diversas partes poderão se beneficiar com o sistema de Round Inspection, como por exemplo, a equipe que administras a infraestrutura, uma vez que é possível obter informações a cerda do hardware de todas as máquinas do ambiente, também podemos citar a equipe que opera as plataformas da empresa, uma vez que o sistema também faz monitoramento de logs entre outros serviços de aplicações da empresa. Também é possível beneficiar a área de redes, uma vez que é possível monitorar elementos de rede. Dentre todas estas áreas que foram citadas ainda existe todo o restante da base organizacional, uma vez que a empresa começa a ter confiança e dados (relatórios) onde pode provar que existe uma relação de confiabilidade na garantia de seus serviços.
2. Quem poderá operar o sistema?
- O sistema poderá ser operado pela equipe de TI da empresa, de acordo com o segmento da empresa esta equipe de TI pode ser denomidada como equipe de Operação de Plataformas, também pode ser denominada equipe de Operação de Infraestrutura e como muita das vezes equipe de Análise de sistemas.
3. Quem deverá participar do desenvolvimento do sistema?
- O projeto deverá contar com a participação além dos desenvolvedores (codificação), equipe de testes, DBA também da equipe de operação que irá realizar a continuidade do sistema, a equipe de Gerentes de projeto que orquestram e inserem novos sistemas e ambientes para dentro do universo da empresa.
Where
1. Onde os dados serão inseridos?
- Os dados serão inseridos através de entradas lógicas com os demais sistemas da empresa, através de comandos que serão enviados à estes sistemas esperando-se um retorno com as informações solicitadas. As informações não serão inseridas diretamente pelos usuáros do sistema, cabe a eles apenas executar ou "schedular" os comandos previamente definidos para a captura de dados.
2. Onde os dados serão externalizados, publicados?
- Para externalização dos dados, deverão ser gerados relatórios via interface, mais especificamente em formatos pdf ou csv, esses relatórios deverão ser inseridos em uma base de histórico ou em uma wiki, possibilitando o acesso para as partes interessadas da empresa.
3. Onde esta aplicação poderá ser usada?
- Esta aplicação poderá ser usada em ambientes de aplicações distribuídas entre diversas máquinas, sistemas de infraestruturas, elementos de rede.
4. Onde os dados serão armazenadas?
- Para dados de inventário de equipamentos como, medidas de memória, CPU, disco entre outros dados, estes serão alocados em um banco de dados relacional que permita consultas de maneira fácil e rápida. Estes dados não irão necessitar de um histórico de informações muito grande, podendo assim serem expurgados por exemplo a cada 3 meses.
- Dados de aplicações como logs entre outros, poderão ser armazenados em um centralizados de logs. Este centralizador poderá ser uma máquina que armazena os dados de logs por exemplo em pastas com os IP's de cada máquina que hospeda as aplicações.
5. Onde o software deverá ser hospedado?
- O software poderá ser hospedado em um servidor dedicado dentro do ambiente da própria empresa ou em um ambiente remoto (cloud computing) que permita o acesso aos demais sistemas desta empresa. Espera-se que a base de dados também seja alocada em um destes ambientes citados.
When
1. Em quanto tempo pretende desenvolver o sistema?
- A estimativa de tempo para o desenvolvimento do projeto será de 6 meses desde o levantamento das informações até sua implantação em produção.
2. Quais serão as fases e em quanto tempo cada uma?
- 1ª Etapa: Análise e documentação de requisitos - 1 mês
- 2ª Etapa: Arquitetura do projeto - 2 meses
- 3ª Etapa: Codificação - 3 meses
- 4ª Etapa: Testes e ajustes pré-implantação - 2 meses
- 5ª Etapa: Implantação em ambiente de produção - 1 mês
3. Qual o tempo de resposta do dispositivo ou do sistema?
- O tempo para a resposta do dispositivo é em torno de 5 a 10 minutos a partir da entrada de dados
4. Quanto tempo para responder a uma entrada?
- O tempo de resposta à uma entrada é semelhante ao tempo de resposta do dispositivo, uma vez que os dados são processados de acordo com a quantidade de informações entrantes para gerar relatórios.
5. Quanto tempo para gerar a saída?
- A saída deve ser gerada instantaneamente após processamento dos dados.
How
1. Como será dividido o desenvolvimento do sistema?
- 1. Análise e Documentação
- 2. Arquitetura do projeto
- 3. Codificação
- 4. Testes e ajustes
- 5. Produção
2. Como será feita a entrada de dados?
- Captura de resultado via ssh para comandos básicos e sistema operacional
- Para elementos de rede serão realizadas entradas através de snmp, telnet, ssh
- Sistema conterá guia de configuração via arquivo XML
- Sistema conterá guia de autenticação e criação de usuários
- Usuário administrativo via parâmetros de monitoramento
- Usuário de operador
3. Como será feita a saída de dados?
- Captura de resultado via ssh para comandos básicos e sistema operacional
- Para elementos de rede serão realizadas entradas através de snmp, telnet, ssh
- Sistema conterá guia de configuração via arquivo XML
- Sistema conterá guia de autenticação e criação de usuários
- Usuário administrativo via parâmetros de monitoramento
- Interface web geradora de relatórios de texto (csv) e relatórios gráficos
4. Descreva a 1a. funcionalidade?
- 1a. Autenticação de usuários:
- 1.1. CRUD usuário (Criar, Recuperar, Atualizar, Deletar)
- 1.2. Autenticar usuário
- 2a. Cadastrar equipamentos:
- 2.1. CRUD equipamentos (podem ser máquinas, elementos de rede entre outros que serão monitorados)
- 2.2. Categorizar equipamentos (de acordo com o tipo: máquina, rede, etc)
- 3a. Configurar métricas de monitoramento:
- 3.1. CRUD comandos (comandos que serão executados a fim de capturarmos os resultados)
- 3.2. Categorizar comandos (de acordo com o tipo: S.O, rede, I/O)
- 3.3. Definir natureza do comando (ssh, snmp, telnet, etc)
- 4a. Gestão de relatórios:
- 4.1. Relatório de Processamento
- 4.2. Relatório de Memória
- 4.3. Relatório de Disco
- 4.4. Relatório de Partições do sistema
- 4.5. Relatório de rede
- 4.6. Relatório de erros da aplicação
- 4.7. Relatório de Input / Output
- 4.8. Relatório de processos
- 4.9. Relatório de atualização de relógio (ntp)
- 4.10. Relatório unificado com todas as informações acima de maneira simplificada
- 5a. Recursos visuais:
- 5.1. Gerar gráficos ao usuário ( dashboard) com informações vitais ao abrir interface web
- 5.2. Gerar gráficos de memória
- 5.3. Gerar gráficos de Disco
- 5.4. Gerar gráficos de utilização de Partições do sistema
- 5.5. Gerar gráficos de tráfego de rede (interfaces)
- 5.6. Gerar gráficos de quantidade de erros da aplicação
- 5.7. Gerar gráfico de taxa de Input / Output
- 5.8. Gerar gráfico de processos em loco
- 6a. Concentrador de logs
- 6.1. Armazenar todos os Logs de aplicação recuperados em um local comum dividido diretórios ( por nome ou IP de cada equipamento)
- 6.2. Permitir a recuperação dos arquivos de log via interface do usuário
- 7a. Pesquisar equipamentos:
- 7.1. Permitir a busca de equipamentos (ou máquinas) por nome
- 7.2. Permitir a busca de equipamentos (ou máquinas) por IP
- 7.3. Permitir filtrar a busca por tipo de equipamento (máquina, rede, etc)
How much
1. Quanto custa cada parte do sistema?
- 1. Análise e documentação: Gerente de Projetos [1], Consultor de TI [1], Engenheiro de Software [1];
- 2. Arquitetura do projeto: Gerente de Projetos [1], Arquiteto de Software [1], Analista de Requisitos [1];
- 3. Codificação: Gerente de Projetos [1], DBA [1], Desenvolvedor back-end [2], Analista de Requisitos [1], Desenvolvedor front-end [1];
- 4. Testes e ajustes: Desenvolvedor [1], Tester [1], Gerente de Projetos [1];
- 5. Produção e implantação: Desenvolvedor [1], Gerente de Projetos [1], Engenheiro de Software [1];
2. Quanto deverá custar todo o sistema?
- Análise e Documentação - 1 mês - R$ 18.000,00
- Arquitetura do projeto - 2 meses - R$ 28.000,00
- Codificação - 3 meses - R$ 60.000,00
- Testes e ajustes - 2 meses - R$ 23,000,00
- Produção - 1 mês - R$ 13.000,00
Somando os valores por etapa temos um montante de aproximadamente R$ 142.000,00 mais os custos com infra para hospedagem do sistema em torno de R$ 70.000,00, totalizando um custo de R$ 212.000,00.
3. Quantas pessoas deverão ser usadas (Equipe) ?
- Deverão ser usadas de 5 a 8 pessoas para a conclusão do projeto
4. Quanto custa cada profissional?
- Gerente de Projetos - R$ 5.000,00
- Consultor de TI - R$ 4.500,00
- Engenheiro de Software - R$ 4.500,00
- Arquiteto de Software - R$ 3.500,00
- Analista de Requisitos - R$ 3.500,00
- DBA - R$ 4.500,00
- Desenvolvedores - R$ 3.000,00
- Tester - R$ 2.500,00
5. Qual deverá ser o preço de aquisição do seu software para o usuário final (Valor de mercado)?
- O valor de aquisição estimado do software deve estar na casa dos R$ 350.000,00 a R$ 450.000,00 variando de acordo com o tamanho do ambiente que será monitorado.
Canvas
Mídia:Canvas-Round Inspection.pdf
Kanban
