| Linha 93: | Linha 93: | ||
* Apresentação Junho 2020: | * Apresentação Junho 2020: | ||
[[Arquivo:automacao_aci_status.pdf]] | ** [[Arquivo:automacao_aci_status.pdf]] | ||
<br> | <br> | ||
Edição das 16h12min de 1 de julho de 2020
Fase I - Estudo
Automação ACI - Algar Connect
Objetivos
- Atualmente na empresa existe o produto Algar Connect, que permite oferecer aos clientes diversas formas de serviços de TI, na imagem abaixo é possível observar a atual estrutura, onde um cliente pode "alugar" maquinas, tanto virtuais quanto maquinas físicas.
- As conexões entre essas estruturas são feitas através de uma solução de rede definida por software chama CISCO ACI, tais conexões atualmente são feitas de forma manual, clique a clique. O Objetivo da POC é através de ferramentas de automatização facilitar essa integração e diminuir os riscos de falhas na rede envolvendo a ação humana.
Conceito
- O ambiente onde a solução de rede Cisco ACI está inserida é de alta criticidade, por essa razão o desenvolvimento de qualquer ferramenta que envolva tal solução requer bastante cautela.
- O Cisco ACI possui a capacidade de integração com a ferramenta de automação Ansible, que por sua vez possui vários módulos que facilitam diversos tipos de configurações no ambiente, detalhes sobre tais módulos serão apresentados mais adiante neste documento.

Características
- Para a POC a ser desenvolvida será utilizada a ferramenta Ansible, quer por sua vez é uma ferramenta de provisionamento, gerenciamento de configurações e implantação de aplicativos de software livre, tal software foi escolhido devido a presença de vários módulos que facilitam vários tipos de configurações no ambiente. Foram adotados como objetivo primário a criação dos seguintes elementos: Tenant, VRF, Bridge Domain, EPG.
- O escopo geral do projeto pode ser observado na imagem abaixo:

Resultados Iniciais:
Front End
- A seguinte interface de exemplo deverá ser desenvolvida:
Imagem: Sistema de login e tela de requisição respectivamente.
Back End
- Como proposta para desenvolvimento Back end temos um ambiente com os reguintes requisitos:
- API capaz de receber e tratar um arquivo .JSON gerado pelo Front End(Pode ser simulado utilizando Postman).
- Funcionalidades API:
- Receber arquivo .JSON.
- Tratar váriaveis contidas no arquivo .JSON.
- Utilizar váriaveis contidas no arquivo .JSON de forma concatenada em um script.
- Enviar resposta "OK" ao Front end.
- Proposta de implementação extra: utilizar as váriaveis contidas no arquivo .JSON em um script qualquer externo a API.
- O desenvolvedor está livre para decidir qual linguagem utilizar para o desenvolvimento da aplicação.
Back End [English]
- As a proposal for Back end development we have an environment with the following requirements:
- API capable of receiving and handling a .JSON file generated by the Front End (Can be simulated using Postman).
- API features:
- Receive .JSON file.
- Treat variables contained in the .JSON file.
- Use variables contained in the .JSON file concatenated in a script.
- Send "OK" response to the Front end.
- Extra implementation proposal: use the variables contained in the .JSON file in any script external to the API.
- The developer is free to decide which language to use for the development of the application.
Estudo Dirigido
- Ansible
- Cisco ACI
- Rede de Computadores
- NodeJS
- ReactJS
Fase II - Ensino
Conteúdo
Apresentação
- Duas apresentações podem ser utilizadas para demonstrar e simplificar o entendimento da POC:
- Apresentação Junho 2020:
Metodologia
- Metodologia Agile Scrum
- Daily Meeting
- Contratada Consultoria externa profissional IBM
Fase III - Exemplo de Caso de Negócio
Product Backlog
Atráves da automação proposta nessa POC possuimos como objetivo:
- Facilitar os processos de configuração dos serviços do Algar Connect.
- Automatizar as funções a serem execuratadas na solução de rede Cisco ACI, garantindo:
- Confiabilidade
- Segurança
- Garantir maior eficiência nas entregas envolvendo o Algar Connect.
Benefícios para quem for oferecer esta solução
- Eficiência: Diminuição nos prazos de entregas em até 60%, otimização dos custos onde serão gastos menos h.h. (horas homem).
- Resiliência: Diminuição de erros humanos cometidos durante processos manuais.
- Possibilidade de implementação/aplicação em diversos produtos Algar.
Benefícios para o usuário
- Maior resiliência na rede: Durante mudanças manuais na rede os analistas estão sujeitos a cometerem erros que por sua vez podem acarretar prejuízos aos clientes, automatizando tais funções antes manuais "livramos" os usuários desse risco.
- Rápida configuração e manutenção: As chamadas "changes" são eventos agendados e programados para realizar certas configurações na rede, muita das vezes tais eventos causam indisponibilidade para o cliente final, automatizando os passos que antes eram demorados por parte dos analistas, essas "janelas" se tornam cada vez menores, causando menos impacto ao cliente final.
Direcionadores chave para esta iniciativa
- Agilidade
- Automação
- Automação de Rede
- Desenvolvimento Web
- Desenvolvimento de API's
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
Alinhamento com Lei do Bem
- Projeto possui algum elemento tecnologicamente novo ou inovador?
Elemento tecnologicamente novo ou inovador pode ser entendimento como o avanço tecnológico pretendido pelo projeto, ou a hipótese que está sendo testada
- Projeto possui barreira ou desafio tecnológico superável?
Barreira ou desafio tecnológico superável pode ser entendido como aquilo que dificulta o atingimento do avanço tecnológico pretendido, ou dificulta a comprovação da hipótese
- Projeto utiliza metodologia/método para superação da barreira ou desafio tecnológico?
Metodologia/método para superação da barreira ou desafio tecnológico pode ser entendido como aqueles atividades que foram realizadas para superação da barreira ou do desafio tecnológico existente no projeto
- Projeto é desenvolvido em parceira com alguma instituição acadêmica, ICT ou startup?
Se sim, o desenvolvimento tecnológico é executado por associado ou por alguma empresa terceira? qual o nome da empresa? Anexar cópia do contrato
Fase IV - Protótipo orientado ao Negócio
Escopo

O Projeto obedeceu o escopo acima, onde:
Front End
Foi utilizado JavaScript para o desenvolvimento da interface web para a automação, especificamente ReactJS que é um framework para desenvolvimento web e mobile. Tendo como objetivo o desenvolvimento de uma app SPA foram desenvolvidas as seguintes funcionalidades:
- Create Tenant: "tela" onde o usuário (analista de rede) consegue preencher com as informações a respeito do TENANT a ser criado, insere os dados e apenas clica no botão Submit, fazendo então a criação do TENANT.

Limitações
Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.
PoC
Desenvolva um PoC (Proof of Concept)
Detalhamento Técnico
- Trecho Back End para criação do TENANT
Erro ao criar miniatura: Arquivo não encontrado
Trecho do código da API no Back End
Cronograma Macro
Histórico
- 30/03/2020: Reunião com parceiro IBM para iniciar o projeto.
- 03/04/2020 - Compreensão e preenchimento da Fase I.
- 13/04/2020 - Estudo e aprofundamento.
- 15/04/2020 - Disponibilização da Maquina para teste/produção.
- 16/04/2020 - Preenchimento final da Fase I.
- 28/04/2020 - Definição de tarefas pós reunião.
- 04/05/2020 - Testamos o primeiro script yaml.
- 14/05/2020 - Reunião/Overview para Bilel.
- 16/05/2020 - Novos Scripts testados, resultados iniciais sendo obtidos.
- 19/05/2020 - Scripts sendo validados por parceiro IBM em ambiente de produção(ACI) (Ansible) , telas(Front End) sendo desenvolvidas, Back End iniciado em Node.js.
- 21/05/2020 - Desenvolvimento da primeira tela do Front bem encaminhado / Escopo da integração Front-Ansible já desenhada / Scripts Ansible sendo finalizados por parceiro IBM / Back End em andamento. Possível primeira entrega está próxima.
- 25/05/2020 - Desenvolvimento do Back End para primeiro objeto (TENANT) concluído, parceiro IBM finalizando scripts Ansible para últimos objetos, documentação do projeto na wiki será completamente atualizada hoje, primeira tela do front end sendo desenvolvida.
- 25/05/2020 - Códigos segundo objeto criados, scripts Ansible finalizados.
Pesquisadores
- Igor Henrique Leite
- Paulo Latado
- Álvaro Latado
- Bilel Beini
- Gabriel Bernardi