Sem resumo de edição
 
(9 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
* Link:
** http://intranet/wiki/index.php/Automa%C3%A7%C3%A3o_ACI_-_Algar_Connect
<br>
= Fase I - Estudo  =
= Fase I - Estudo  =


<br>  
<br>  


== Automação ACI - Algar Connect ==
== Automação ACI - Algar Connect ==
 
<br>  
<br>  


== Objetivos  ==
== 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.
[[Arquivo:Autoaci.jpg|center|400px]]


<br>
*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.
 
[[Image:Autoaci.jpg|center|400px|Autoaci.jpg]]
 
<br>  


== Conceito  ==
== Conceito  ==


<br>  
<br>  
* 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.
[[Arquivo:Projeto automacao aci.png|center|400px]]


<br>
*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.
 
[[Image:Projeto automacao aci.png|center|400px|Projeto automacao aci.png]]
 
<br>  


== Características&nbsp;  ==
== Características&nbsp;  ==


<br>  
<br>  
* 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:
[[Arquivo:Apresentação sem título.png|center|400px]]


*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.
== Resultados Iniciais: ==
*O escopo geral do projeto pode ser observado na imagem abaixo:
<p>
 
== Front End ==
[[Image:Apresentação sem título.png|center|400px|Apresentação sem título.png]]
* A seguinte interface de exemplo deverá ser desenvolvida:
 
</p>
<br>
[[Arquivo:Captura de tela de 2020-01-20 14-00-46.png|400px]] [[Arquivo:Apresentação Ansible - IGOR - NFI.pptx (1).png|400px]]
 
<p>
== Resultados Iniciais: ==
Imagem: Sistema de login e tela de requisição respectivamente.
 
</p>
 
== Back End ==
 
* Como proposta para desenvolvimento Back end temos um ambiente com os reguintes requisitos:
== Front End ==
 
*A seguinte interface de exemplo deverá ser desenvolvida:
 
 
 
[[Image:Captura de tela de 2020-01-20 14-00-46.png|400px|Captura de tela de 2020-01-20 14-00-46.png]] [[Image:Apresentação Ansible - IGOR - NFI.pptx (1).png|400px|Apresentação Ansible - IGOR - NFI.pptx (1).png]]  
 
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.


* API capaz de receber e tratar um arquivo .JSON gerado pelo Front End(Pode ser simulado utilizando Postman).
*O desenvolvedor está livre para decidir qual linguagem utilizar para o desenvolvimento da aplicação.
* 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]  ==


== Back End [English] ==
*As a proposal for Back end development we have an environment with the following requirements:
* 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 capable of receiving and handling a .JSON file generated by the Front End (Can be simulated using Postman).  
* API features:
*API features:  
** Receive .JSON file.
**Receive .JSON file.  
** Treat variables contained in the .JSON file.
**Treat variables contained in the .JSON file.  
** Use variables contained in the .JSON file concatenated in a script.
**Use variables contained in the .JSON file concatenated in a script.  
** Send "OK" response to the Front end.
**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.
***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.


* The developer is free to decide which language to use for the development of the application.
<br>  
<br>  


<br>
<br>  


== Estudo Dirigido  ==
== Estudo Dirigido  ==


<br>  
<br>  
*Ansible
 
*Cisco ACI
*Ansible  
*Rede de Computadores
*Cisco ACI  
* NodeJS
*Rede de Computadores  
* ReactJS
*NodeJS  
<br>
*ReactJS
 
<br>  


= Fase II - Ensino  =
= Fase II - Ensino  =
Linha 83: Linha 105:


== Conteúdo  ==
== Conteúdo  ==
<br>
 
<br>  


== Apresentação  ==
== Apresentação  ==


* Duas apresentações podem ser utilizadas para demonstrar e simplificar o entendimento da POC:
*Duas apresentações podem ser utilizadas para demonstrar e simplificar o entendimento da POC:  
**[[Arquivo:Projeto_automacao_aci.pdf]]
**[[Image:Projeto automacao aci.pdf]]  
**[[Arquivo:Apresentação Ansible - IGOR - NFI.pptx.pdf]]
**[[Image:Apresentação Ansible - IGOR - NFI.pptx.pdf]]
<bR>
 
<br>  


* Apresentação Junho 2020:
*Apresentação Junho 2020:  
** [[Arquivo:automacao_aci_status.pdf]]
**[[Image:Automacao aci status.pdf]]
<br>
 
<br>  
 
== Metodologia  ==


== Metodologia ==
<br>  
<br>


*Metodologia Agile Scrum
*Metodologia Agile Scrum  
*Daily Meeting
*Daily Meeting  
*Contratada Consultoria externa profissional IBM
*Contratada Consultoria externa profissional IBM


<br>
<br>  


= Fase III - Exemplo de Caso de Negócio<br>  =
= Fase III - Exemplo de Caso de Negócio<br>  =
Linha 111: Linha 137:
== Product Backlog  ==
== Product Backlog  ==


<br>  
<br> Atráves da automação proposta nessa POC possuimos como objetivo:  
Atráves da automação proposta nessa POC possuimos como objetivo:


* Facilitar os processos de configuração dos serviços do Algar Connect.
*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:
*Automatizar as funções a serem execuratadas na solução de rede Cisco ACI, garantindo:  
*Confiabilidade
*Confiabilidade  
*Segurança
*Segurança  
* Garantir maior eficiência nas entregas envolvendo o Algar Connect.
*Garantir maior eficiência nas entregas envolvendo o Algar Connect.


<br>
<br>  


== Benefícios para quem for oferecer esta solução  ==
== 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).
*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.
*Resiliência: Diminuição de erros humanos cometidos durante processos manuais.  
*Possibilidade de implementação/aplicação em diversos produtos Algar.
*Possibilidade de implementação/aplicação em diversos produtos Algar.


<br>  
<br>  


<br>
<br>  


== Benefícios para o usuário  ==
== 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.
 
*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.
*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.


<br>
<br>  


== Direcionadores chave para esta iniciativa  ==
== Direcionadores chave para esta iniciativa  ==


*Agilidade
*Agilidade  
*Automação
*Automação  
*Automação de Rede
*Automação de Rede  
*Desenvolvimento Web
*Desenvolvimento Web  
*Desenvolvimento de API's
*Desenvolvimento de API's
<br><br>
 
<br><br>  


== Possíveis modelos de negócios  ==
== Possíveis modelos de negócios  ==
Linha 155: Linha 182:
     Descrever um exemplo de negócio que permita avaliar a solução comercialmente
     Descrever um exemplo de negócio que permita avaliar a solução comercialmente


<br>
<br>
 
== Alinhamento com Lei do Bem  ==
 
<br>  


== Alinhamento com Lei do Bem ==
*Projeto possui algum elemento tecnologicamente novo ou inovador?
<br>


* 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
  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
<br>


* Projeto possui barreira ou desafio tecnológico superável?  
<br>
 
*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
  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
<br>


* Projeto utiliza metodologia/método para superação da barreira ou desafio tecnológico?  
<br>
 
*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
  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
<br>


* Projeto é desenvolvido em parceira com alguma instituição acadêmica, ICT ou startup?
<br>
 
*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?  
  Se sim, o desenvolvimento tecnológico é executado por associado ou por alguma empresa terceira? qual o nome da empresa?  
  Anexar cópia do contrato
  Anexar cópia do contrato
<br>
 
<br>  


= Fase IV - Protótipo orientado ao Negócio  =
= Fase IV - Protótipo orientado ao Negócio  =
Linha 185: Linha 221:
<br>  
<br>  


[[Arquivo:Untitled Diagram.png|center|500px]]
[[Image:Untitled Diagram.png|center|500px|Untitled Diagram.png]]  


O Projeto obedeceu o escopo acima, onde:
O Projeto obedeceu o escopo acima, onde:  


<br> Front End  
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:


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.
*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.
[[Arquivo:Tenant.jpg|center|400px]]


[[Image:Tenant.jpg|center|400px|Tenant.jpg]]


<br>


<br>
<br>  


== Limitações  ==
== Limitações  ==
Linha 222: Linha 258:


*Trecho Back End para criação do TENANT
*Trecho Back End para criação do TENANT
<div class="center">
<div class="center">[[Image:Oie KxhRZQnLYbuu.png|700px|Oie KxhRZQnLYbuu.png]]
[[Arquivo:Oie KxhRZQnLYbuu.png|700px]]<p>
Trecho do código da API no Back End
Trecho do código da API no Back End</p>
</div>  
</div>
<br>  
<br>  


Linha 232: Linha 267:
<br>  
<br>  


<br>
<br>  


= Cronograma Macro  =
= Cronograma Macro  =
Linha 240: Linha 275:
= Histórico  =
= Histórico  =


<br>
<br>  


* 30/03/2020: Reunião com parceiro IBM para iniciar o projeto.
*30/03/2020: Reunião com parceiro IBM para iniciar o projeto.  
* 03/04/2020 - Compreensão e preenchimento da Fase I.
*03/04/2020 - Compreensão e preenchimento da Fase I.  
* 13/04/2020 - Estudo e aprofundamento.
*13/04/2020 - Estudo e aprofundamento.  
* 15/04/2020 - Disponibilização da Maquina para teste/produção.
*15/04/2020 - Disponibilização da Maquina para teste/produção.  
* 16/04/2020 - Preenchimento final da Fase I.
*16/04/2020 - Preenchimento final da Fase I.  
* 28/04/2020 - Definição de tarefas pós reunião.
*28/04/2020 - Definição de tarefas pós reunião.  
* 04/05/2020 - Testamos o primeiro script yaml.
*04/05/2020 - Testamos o primeiro script yaml.  
* 14/05/2020 - Reunião/Overview para Bilel.
*14/05/2020 - Reunião/Overview para Bilel.  
* 16/05/2020 - Novos Scripts testados, resultados iniciais sendo obtidos.
*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.
*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.  
*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 - 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.  
*25/05/2020 - Códigos segundo objeto criados, scripts Ansible finalizados.  
* '''05/10/2020''': Objetos em desenvolvimento e com previsão de conclusão em 6 semanas.
*'''05/10/2020''': Objetos em desenvolvimento e com previsão de conclusão em 6 semanas.  
* 11/11/2020: Upload do código desenvolvido para https://github.com/algar-telecom-fic/AutomacaoACI
*11/11/2020: Upload do código desenvolvido para https://github.com/algar-telecom-fic/AutomacaoACI  
* 10/12/2020: Kick-off com Giullia. Gabriel Bernardi, Samuel Reis e Alvaro Latado darão as primeiras orientações.
*10/12/2020: Kick-off com Giullia. Gabriel Bernardi, Samuel Reis e Alvaro Latado darão as primeiras orientações.  
* 11/12/2020: Primeiras orientações para Giullia
*11/12/2020: Primeiras orientações para Giullia  
* 14/12/2020: Estudo de JavaScript
*14/12/2020: Estudo de JavaScript  
* 21/12/2020: Estudo de NodeJS
*21/12/2020: Estudo de NodeJS  
* 04/01/2020: Estudo de Ansible
*04/01/2020: Estudo de Ansible  
*06/01/2021: Reunião Luiz Cláudio e Paulo: Fase I aprovada e planejamento da Fase II
*07/01/2021: Criação da Agenda de Pontos de Controle com Maidana e Equipe
*08/01/2021: Inicio da produção de material para apresentação
*21/01/2021: Testes para verificar comunicação entre Back End e Front End com Maidana e Equipe
*22/01/2021: Apresentação para Luiz Cláudio


<br>
= Links para estudo =
<br>
<br>


= Pesquisadores  =
= Pesquisadores  =


*Igor Henrique Leite
*Igor Henrique Leite  
*Paulo Latado
*Paulo Latado  
*Álvaro Latado
*Álvaro Latado  
* Bilel Beini
*Bilel Beini  
* Gabriel Bernardi
*Gabriel Bernardi  
*Giullia Rodrigues
* Antônio Pedro Rodrigues Santos

Edição atual tal como às 13h05min de 16 de outubro de 2023


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.
Erro ao criar miniatura: Arquivo não encontrado
Autoaci.jpg


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.
Projeto automacao aci.png
Projeto automacao aci.png


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:
Apresentação sem título.png
Apresentação sem título.png


Resultados Iniciais:

Front End

  • A seguinte interface de exemplo deverá ser desenvolvida:


Captura de tela de 2020-01-20 14-00-46.png Apresentação Ansible - IGOR - NFI.pptx (1).png

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



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


Untitled Diagram.png
Untitled Diagram.png

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.
Tenant.jpg
Tenant.jpg



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.
  • 05/10/2020: Objetos em desenvolvimento e com previsão de conclusão em 6 semanas.
  • 11/11/2020: Upload do código desenvolvido para https://github.com/algar-telecom-fic/AutomacaoACI
  • 10/12/2020: Kick-off com Giullia. Gabriel Bernardi, Samuel Reis e Alvaro Latado darão as primeiras orientações.
  • 11/12/2020: Primeiras orientações para Giullia
  • 14/12/2020: Estudo de JavaScript
  • 21/12/2020: Estudo de NodeJS
  • 04/01/2020: Estudo de Ansible
  • 06/01/2021: Reunião Luiz Cláudio e Paulo: Fase I aprovada e planejamento da Fase II
  • 07/01/2021: Criação da Agenda de Pontos de Controle com Maidana e Equipe
  • 08/01/2021: Inicio da produção de material para apresentação
  • 21/01/2021: Testes para verificar comunicação entre Back End e Front End com Maidana e Equipe
  • 22/01/2021: Apresentação para Luiz Cláudio


Links para estudo



Pesquisadores

  • Igor Henrique Leite
  • Paulo Latado
  • Álvaro Latado
  • Bilel Beini
  • Gabriel Bernardi
  • Giullia Rodrigues
  • Antônio Pedro Rodrigues Santos