(6 revisões intermediárias por 5 usuários não estão sendo mostradas)
Linha 5: Linha 5:
== Título da Idéia  ==
== Título da Idéia  ==


Arquitetura de Micro serviços
Arquitetura de Micro serviços.


<br>  
<br>  
Linha 43: Linha 43:


A imagem abaixo, retirada do blog do Martin Fowler, apresenta a diferença referente a escalabilidade entre as duas arquiteturas:
A imagem abaixo, retirada do blog do Martin Fowler, apresenta a diferença referente a escalabilidade entre as duas arquiteturas:
[[Arquivo:53360236 2255555771349752 4974616145123344384 n.png|center|600px]]




Linha 48: Linha 49:
<br>  
<br>  


<br>  
<br>


== Estudo Dirigido  ==
== Estudo Dirigido  ==
Linha 118: Linha 119:
== Direcionadores chave para esta iniciativa  ==
== Direcionadores chave para esta iniciativa  ==


    Descrever em tópicos o que esta iniciativa pode proporcionar
* Especialistas em SOA:
** "Atualmente a Algar Telecom possui vários GAP´s Arquiteturais, o que leva a uma dificuldade em evoluir e administrar seus Ambientes bem como suas Aplicações.
** Sabemos que isto não é um privilégio somente da Algar Telecom.
** No entanto, algumas abordagens externas surgiram para tentar acelerar ou mitigar boa parte destes problemas, visando atacar algumas disciplinas melhorando a quebra das aplicações em partes menores, proporcionando o uso de multi linguagens de programação para que seja mais fácil o entendimento e manutenção das mesmas.
** Pensando neste contexto, a abordagem escolhida foi Microserviços."
** A proposta é utilizarmos Microserviços para conseguirmos minimizar o tempo de deploy das aplicações e também o tempo de aprendizado para manutenção e melhorias de todo ALM.
** Será proposto o estudo desta abordagem Arquitetural e também as formas de se Migrar Aplicações Monolíticas para tal abordagem, visando sempre ganhos e suas dificuldades.
** Juntamente com Microserviços, será proposto um processo de Entrega Contínua do Software, sendo utilizado Orquestração de Containers para que seja atingido patamares como Blue/Green Deployment, Canary Release, Pipelines Imutáveis etc.


<br><br>  
<br><br>


== Possíveis modelos de negócios  ==
== Possíveis modelos de negócios  ==
Linha 201: Linha 209:
* Fernando Henrique da Cruz
* Fernando Henrique da Cruz
* Fernando Bagliano Junior
* Fernando Bagliano Junior
* Pedro Victor Lourenço Fragola  
* Pedro Victor Lourenço Fragola
* Claudyson Jonathas Esquivel
* Igor Henrique Leite
 
<br>
<br>

Edição atual tal como às 13h13min de 18 de fevereiro de 2020

Fase I - Estudo


Título da Idéia

Arquitetura de Micro serviços.


Objetivos

O objetivo desta pesquisa visa compreender o funcionamento e arquitetura de aplicações que utilizando o modelo de micro serviços, procurando capacitar os pesquisadores a estarem aptos a atuar em possíveis futuras aplicações que utilizarem esse modelo na empresa.


Conceito


Micro serviços vem sendo cada dia mais falado por apresentar um custo benefício muito elevado em comparação com os outros serviços, que aos poucos, provavelmente se tornarão o legado.

Esse benefício se dá pelo fato de que, na arquitetura atualmente utilizada, ao adquirir um serviço, o cliente tem de comprar toda plataforma e nem sempre isso é necessário, em alguns casos, apenas algumas funções deste serviço é suficiente. Micro serviços vem aplicando um modelo onde cada processo, cada função específica possa existir sem a necessidade de todo o restante do sistema, trazendo assim custo muito menor onde o cliente paga somente pelo que precisa.


Características 


Para ter uma melhor compreensão de micro serviços é válido observar como um software é desenvolvido nos dias atuais. O projeto por um todo é normalmente dividido entre 3 grandes partes, a interface com o usuário, a base de dados com as informações do cliente e a parte do back-end onde fica toda a lógica de programação aplicada pelo sistema. A camada onde fica a lógica de programação é responsável pelo controle das ações que devem ser feitas, o usuário usa a interface para solicitar ações, as quais são passadas para camada de backend e esta faz o que for necessário, até mesmo modificações na base de dados. Este tipo de aplicação tem seus módulos interligados e quando é necessário alguma alteração, é preciso compilar todo o sistema novamente e implantar tudo de novo.

Toda a aplicação roda em um único processo o que impossibilita normalmente a utilização de outras linguagens de programação além de crescer o custo na aquisição do sistema e ainda em custos com hardware pois, para uma escalabilidade horizontal é necessário duplicar todo o serviço e não apenas o módulo que precise de redundância.

Com micro serviços cada módulo é um processo separado, totalmente independente, o que possibilita diversos benefícios, como exemplo:

  • O cliente só compra o que realmente precisa, não é mais necessário comprar todo um sistema;
  • Permite uma maior flexibilidade de linguagens, pois trabalham isoladas;
  • Permite gerar um maior número de equipes, cada uma com um número menor de integrantes, melhorando a produtividade.
  • Menor custo em escalabilidade horizontal e vertical, visto que os recursos poderão ser investidos apenas no serviço que necessita.


A imagem abaixo, retirada do blog do Martin Fowler, apresenta a diferença referente a escalabilidade entre as duas arquiteturas:

Erro ao criar miniatura: Arquivo não encontrado




Estudo Dirigido



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


Metodologia


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

  • Especialistas em SOA:
    • "Atualmente a Algar Telecom possui vários GAP´s Arquiteturais, o que leva a uma dificuldade em evoluir e administrar seus Ambientes bem como suas Aplicações.
    • Sabemos que isto não é um privilégio somente da Algar Telecom.
    • No entanto, algumas abordagens externas surgiram para tentar acelerar ou mitigar boa parte destes problemas, visando atacar algumas disciplinas melhorando a quebra das aplicações em partes menores, proporcionando o uso de multi linguagens de programação para que seja mais fácil o entendimento e manutenção das mesmas.
    • Pensando neste contexto, a abordagem escolhida foi Microserviços."
    • A proposta é utilizarmos Microserviços para conseguirmos minimizar o tempo de deploy das aplicações e também o tempo de aprendizado para manutenção e melhorias de todo ALM.
    • Será proposto o estudo desta abordagem Arquitetural e também as formas de se Migrar Aplicações Monolíticas para tal abordagem, visando sempre ganhos e suas dificuldades.
    • Juntamente com Microserviços, será proposto um processo de Entrega Contínua do Software, sendo utilizado Orquestração de Containers para que seja atingido patamares como Blue/Green Deployment, Canary Release, Pipelines Imutáveis etc.



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


Descreva os requisitos deste projeto


Limitações


Informe sobre as limitações técnicas, comerciais, operacionais, recursos, etc.


PoC


Desenvolva um PoC (Proof of Concept)


Detalhamento Técnico


Descreva especificamente os aspectos técnicos desta pesquisa





Cronograma Macro


Histórico



Pesquisadores

  • Vinicius Faustino Silva
  • Fernando Henrique da Cruz
  • Fernando Bagliano Junior
  • Pedro Victor Lourenço Fragola
  • Claudyson Jonathas Esquivel
  • Igor Henrique Leite