O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços...
-
Upload
emmanuel-neri -
Category
Software
-
view
180 -
download
1
Transcript of O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços...
![Page 1: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/1.jpg)
O comparativo de arquiteturas de software monolíticas em relação a
arquitetura de micro serviços em ambientes
corporativosEmmanuel Neri de Souza
Dr. Sebastião Ribeiro JuniorDr. Rodrigo Clemente Thom de Souza
![Page 2: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/2.jpg)
2
Introdução
• Aumento da informatização proporcionando um crescimento na abrangência dos softwares
• Adoção a mobilidade dos softwares• Surgimento de novos modelos de negócios
baseados em computação em nuvem, como os softwares como serviços (SaaS)
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 3: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/3.jpg)
3
Objetivo Geral
• O objetivo geral do trabalho é a aplicação da arquitetura de micro serviços, para que possa se analisado os benefícios e limitações da construção de softwares corporativos utilizando esse conceito e suas possíveis variações de estilos arquiteturais em comparação aos monólitos.
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 4: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/4.jpg)
4
Objetivos Específicos
• Contextualização dos temas de arquitetura de softwares
• Implementação de um cenário corporativo na estrutura monolítica, micro serviços síncrona e assíncrona
• Aplicação de método de avaliação de arquiteturas
• Análise comparativa entre as soluções• Conclusão dos resultados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 5: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/5.jpg)
5
Justificativa
• Redução do tamanho dos projetos de software
• Redução do acoplamento e aumento de flexibilidade
• A necessidade de escalar os softwares• Melhor gerenciamento de recursos • Aumento da disponibilidade
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 6: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/6.jpg)
6
Softwares Corporativos
• São aqueles que automatizam processos de natureza administrativa, financeira, contábil e outros relacionados a gestão empresarial.
• Pode-se dizer que as aplicações corporativas são a espinha dorsal de muitos processos.Brunnet A., Wischer K., Krcmar (2014)
• “Complexidades voltada a expressivo volume de dados, grande número de usuários e extensa quantidade de linhas de códigos.”
Fowler (2008)
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 7: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/7.jpg)
7
Arquitetura de Software
• Edsger Dijkstra em 1968 e David Parnas no início de 1970
• Trata-se da estrutura do software• Caracteriza os pontos positivos e
negativos no softwares
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 8: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/8.jpg)
8
Arquitetura monolítica
• “Quando uma aplicação é construída em uma grande e única unidade.”
Savchenko, Radchenko, Taipale(2015)
• Software composto por um conjunto de funcionalidades em uma única estrutura
• O modelo de arquitetura mais comum no desenvolvimento de software
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 9: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/9.jpg)
9
Arquitetura monolítica
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Fowler (2014)
![Page 10: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/10.jpg)
10
Arquitetura monolítica
• Composto por múltiplos módulos em apenas uma estrutura
• O software é executado em uma única instância
• Permite ser escalado apenas em horizontal
• Restrito a uma tecnologia
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 11: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/11.jpg)
11
Arquitetura de micro serviços
• “Um conjunto de serviços pequenos, autônomos que trabalham em conjunto.”
Newman (2015)
• Software modularizado em pequenos serviços que se comunicam por através de uma forma padronizada
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 12: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/12.jpg)
12
Arquitetura de micro serviços
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Fowler (2014)
![Page 13: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/13.jpg)
13
Características de micro serviços
• Serviços pequenos• Serviços autônomos
Pode ser executado em uma ou mais instâncias
Deploys independentes entre os serviços• Interface de comunicação padronizada
Independência de tecnologia• Permite ser escalado horizontal e vertical
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 14: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/14.jpg)
14
Comunicação entre os serviços
• Síncrona Comunicação em tempo real, pois as
chamadas no servidor serão bloqueadas até que a operação seja completada. Newman, S. (2015)
• Assíncrona Comunicação que não dependem de
respostas para continuar as ações.Newman, S. (2015)
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 15: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/15.jpg)
15
ATAM
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
• O ATAM (Architecture tradeoff analysis method), um método de avalição de arquiteturas criado pelo SEI (Software Engineering Institute).
• O método define modelos de qualidades para possibilitar o tradeoff e os riscos das arquiteturas avaliadas.
Szwed P.; Skrzynski P. P.; Rogus G.; Werewka J. (2015).
![Page 16: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/16.jpg)
16
Fases ATAM
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Nove passos propostos pelo método ATAM separado por quatro fases
Fonte: Mariotti F., André P. (2016)
![Page 17: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/17.jpg)
17
Estado da Arte
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Linha do tempo arquitetura de micro serviços - Fonte o autor
![Page 18: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/18.jpg)
18
Metodologia
• Pesquisas• Definição do cenário corporativo• Implementação dos experimentos de
softwares baseados nos cenários levantados e representação dos diagramas UML
• Aplicação do método ATAM• Análise e conclusão dos resultados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 19: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/19.jpg)
19
Método
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Passos do ATAM adaptados para a pesquisa Fonte: O autor
![Page 20: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/20.jpg)
20
Materiais
• Experimentos desenvolvidos em linguagem de programação Java EE
• Diagramas UML• Plataforma SonarQube• Coleta do tempo de implantação pelo
servidor de aplicação• Coleta do tempo de execução através de
recursos da linguagem
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 21: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/21.jpg)
21
Cenário corporativo
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de caso de uso do cenário. Fonte: O autor
![Page 22: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/22.jpg)
22
Entidades do cenário
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de classe do cenário. Fonte: O autor
![Page 23: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/23.jpg)
23
Arquitetura base
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de deployment da arquitetura base. Fonte: O autor
![Page 24: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/24.jpg)
Possíveis características
24 24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
caracteristicas de arquitetura de
software
Manutenibilidade
Modificabilidade
Baixo acomplamento
Design portável
Tamanho código fonte
Quantidade de linhas de código
Percentual de duplicação
Interoperabilidade
Melhorias e integrações com outros sistemas
Facilidade para interagir com
outros sistemas
Performance
Latência
Gerenciamento de recursos
Disponibilidade
Detecção de falhas
Recuperação a falhas
Tolerância a falha
Escalabilidade
Possibilidade de escalar
Processamento sobe demanda
Segurança
Autorização
Risco de ataques
Usabilidade
Fácil de usar
Organograma das possíveis características a serem avaliadas. Fonte: O autor
![Page 25: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/25.jpg)
25
Arquitetura elegidas
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
1. Arquitetura Monolítica2. Arquitetura de Micro serviços – síncrona3. Arquitetura de Micro serviços – assíncrona
Experimentos:
![Page 26: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/26.jpg)
26
Arquitetura monolítica
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Arquitetura monolítica. Fonte: O autor
![Page 27: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/27.jpg)
27
Comunicação
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de componente da arquitetura monolítica. Fonte: O autor
![Page 28: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/28.jpg)
28
Artefato gerado
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de deployment do artefato monolítico. Fonte: O autor
![Page 29: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/29.jpg)
29
Modelo de dados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de classe da estrutura monolítica. Fonte: O autor
![Page 30: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/30.jpg)
30
Análise de código fonte
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Painel de métricas de tamanho. Fonte: Plataforma SonarQube
Painel de complexidade. Fonte: Plataforma SonarQube
Painel de duplicação. Fonte: Plataforma SonarQube
![Page 31: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/31.jpg)
31
Coleta de tempos
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Testes Tempo (segundos)
Execução 1 10,905
Execução 2 11,334
Execução 3 11,073
Execução 4 11,052
Execução 5 10,478
Média: 10,968 segundos
Testes Tempo (milissegundos)
Execução 1 36
Execução 2 7
Execução 3 6
Execução 4 6
Execução 5 5
Média: 12 milissegundos
Testes Tempo (milissegundos)
Execução 1 42
Execução 2 11
Execução 3 10
Execução 4 8
Execução 5 9
Média: 16 milissegundos
Testes Tempo (milissegundos)
Execução 1 15
Execução 2 9
Execução 3 12
Execução 4 10
Execução 5 10
Média: 13 milissegundos
Tempo de deploy. Fonte: O autor Tempo execução cadastrar cliente. Fonte: O autor
Tempo execução emitir pedido. Fonte: O autor Tempo execução relatório de classificação de clientes. Fonte: O autor
![Page 32: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/32.jpg)
32
Arquitetura de micro serviços
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Arquitetura de micro serviços. Fonte: O autor
![Page 33: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/33.jpg)
33
Artefatos gerados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de deployment artefatos em um servidor. Fonte: O autor
Diagrama de deployment artefatos em vários servidores. Fonte: O autor
![Page 34: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/34.jpg)
34
Arquitetura de micro serviços com comunicação síncrona
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 35: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/35.jpg)
35
Comunicação síncrona
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de componentes da arquitetura de micro serviços síncrona. Fonte: O autor
![Page 36: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/36.jpg)
36
Base de dados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Base de dados arquitetura de micro serviços síncrona. Fonte: O autor
![Page 37: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/37.jpg)
37
Modelo de dados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de classe arquitetura de micro serviços síncrona. Fonte: O autor
![Page 38: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/38.jpg)
38
Análise de código fonte
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Painel de duplicação. Fonte: Plataforma SonarQube
Painel de métricas de tamanho. Fonte: Plataforma SonarQube
Painel de complexidade. Fonte: Plataforma SonarQube
![Page 39: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/39.jpg)
39
Coleta de tempo
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Testes Tempo Individual(segundos) Total(segundos) portal cadastros pedidos relatorios
Execução 1 4,935 7,067 9,104 11,069 32,175
Execução 2 5,201 7,752 9,841 11,902 34,696
Execução 3 5,521 8,607 10,985 12,987 38,100
Execução 4 5,927 8,732 11,227 13,463 39,349
Execução 5 5,650 8,696 10,993 13,215 38,554
Média: 36,574 segundos
Testes Tempo (milissegundos)
Execução 1 37
Execução 2 6
Execução 3 5
Execução 4 2
Execução 5 6
Média: 11,2 milissegundos
Testes Tempo (milissegundos)
Execução 1 36
Execução 2 8
Execução 3 10
Execução 4 8
Execução 5 9
Média: 14,2 milissegundos
Testes Tempo (milissegundos)
Execução 1 175
Execução 2 31
Execução 3 31
Execução 4 30
Execução 5 29
Média: 59,2 milissegundos
Tempo de deploy. Fonte: O autor
Tempo de deploy. Fonte: O autor Tempo de deploy. Fonte: O autor Tempo execução relatório de classificação de clientes. Fonte: O autor
![Page 40: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/40.jpg)
40
Arquitetura de micro serviços com comunicação assíncrona
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
![Page 41: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/41.jpg)
41
Comunicação assíncrona
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de componentes da arquitetura de micro serviços assíncrona. Fonte: O autor
![Page 42: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/42.jpg)
42
Base de dados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Base de dados da arquitetura de micro serviços assíncrona. Fonte: O autor
![Page 43: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/43.jpg)
43
Modelo de dados
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Diagrama de componentes da arquitetura de micro serviços assíncronas. Fonte: O autor
![Page 44: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/44.jpg)
44
Análise de código fonte
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Painel de métricas de tamanho. Fonte: Plataforma SonarQube
Painel de complexidade. Fonte: Plataforma SonarQube
Painel de duplicação. Fonte: Plataforma SonarQube
![Page 45: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/45.jpg)
45
Coleta de tempos
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Testes Tempo Individual(segundos) Total(segundos) portal cadastros pedidos relatorios
Execução 1 5,687 8,315 10,860 13,402 35,636
Execução 2 5,163 7,533 9,796 12,045 32,167
Execução 3 5,588 8,291 10,553 12,798 34,527
Execução 4 5,648 8,201 10,365 12,910 34,571
Execução 5 5,023 7,470 9,679 11,861 31,586
Média: 33,697 segundos
Testes Tempo (milissegundos)
Execução 1 12
Execução 2 6
Execução 3 5
Execução 4 5
Execução 5 6
Média: 6,8 milissegundos
Testes Tempo (milissegundos)
Execução 1 28
Execução 2 13
Execução 3 11
Execução 4 12
Execução 5 11
Média: 15 milissegundos
Testes Tempo (milissegundos)
Execução 1 15
Execução 2 9
Execução 3 10
Execução 4 10
Execução 5 9
Média: 10,6 milissegundos
Tempo de deploy. Fonte: O autor
Tempo de deploy. Fonte: O autor Tempo de deploy. Fonte: O autor Tempo execução relatório de classificação de clientes. Fonte: O autor
![Page 46: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/46.jpg)
46
Resultados do código fonte
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
0
100
200
300
400
500
600
156
371
508
Monolítica Micro serviços - síncronoMicro serviços - assíncrono
0%
5%
10%
15%
20%
25%
2%
8%
21%
Monolítica Micro serviços - síncronoMicro serviços - assíncrono
0
1000
2000
3000
4000
5000
6000
1841
4014
5218
Monolítica Micro serviços - síncronoMicro serviços - assíncrono
Comparativo linha de código. Fonte: O autor Comparativo complexidade. Fonte: O autor
Comparativo percentual de duplicação. Fonte: O autor
![Page 47: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/47.jpg)
47
Resultados das coletas de tempo
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Series1
0 5 10 15 20 25 30 35 40
10.968
36.571
33.697
Micro serviços - assíncrono Micro serviços - síncronoMonolítica
Series1
0 2 4 6 8 10 12
9.6
6.6
7.4
Micro serviços - assíncrono Micro serviços - síncronoMonolítica
Series1
13 13.5 14 14.5 15 15.5 16 16.5
16
14.2
15
Micro serviços - assíncrono Micro serviços - síncronoMonolítica
Series1
0 10 20 30 40 50 60 70
13
59.2
10.6
Micro serviços - assíncrono Micro serviços - síncronoMonolítica
Comparativo de tempo de deploy. Fonte: O autor Comparativo de tempo execução cadastrar cliente. Fonte: O autor
Comparativo de tempo execução emitir pedido. Fonte: O autor Comparativo de tempo execução relatório classificar clientes. Fonte: O autor
![Page 48: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/48.jpg)
48
Características elegidas
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
caracteristicas de arquitetura de
software
Manutenibilidade
Modificabilidade
Baixo acoplamento
Design portável
Tamanho código fonte
Quantidade de linhas de código
Percentual de duplicação
Interoperabilidade
Melhorias e integrações com outros sistemas
Facilidade para interagir com
outros sistemas
Performance
Latência
Gerenciamento de recursos
Disponibilidade
Detecção de falhas
Recuperação a falhas
Escalabilidade
Possibilidade de escalar
Organograma das características elegidas para avaliação. Fonte: O autor
![Page 49: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/49.jpg)
49
Classificação
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
Característica Conceito Monolítica Micro serviços – síncrono Micro serviços – assíncrono
Manutenbilidade
Quantidade de código fonte Atende Não atende Não Atende
Percentual de duplicação Atende amplamente Atende com restrições Não atende
Manutenibilidade
(modificabilidade)
Baixo acoplamento Não atende Atende Atendeamplamente
Design portável Não atende Atende Atende
InteroperabilidadeEvoluções e integração com outros sistemas Atende com restrições Atende Atende
Facilidade de integrar com outros sistemas Não atende Atendeamplamente
Atende
PerformanceLatência Atende amplamente Atende com restrições Atende com restrições
Gerenciamento de recursos Atende com restrições Atende Atende
Disponibilidade
Detecção de falhas Atende com restrições Atende Atendecom restrições
Recuperação a falhas Atende com restrições Atende Atende amplamente
EscalabilidadePossibilidade de escalar Atende com restrições Atende Atende
Tabela comparativa. Fonte: O autor
![Page 50: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/50.jpg)
50
Conclusão
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT
• 8 de 11 conceitos os micro serviços apresentaram vantagem em relação ao monólito
• 3 de 11 conceitos o monólito apresentou vantagem sobre os micro serviços
• A arquitetura com mais vantagem nos conceitos foi micro serviços síncrona
• Apesar das vantagens na maioria dos conceitos a arquitetura de micro serviços apresentou expressivo problemas nos conceitos com desvantagem
![Page 51: O comparativo de arquiteturas de software monolíticas em relação a arquitetura de micro serviços em ambientes corporativos](https://reader030.fdocumentos.com/reader030/viewer/2022032711/58f2216e1a28ab295d8b462b/html5/thumbnails/51.jpg)
51
OBRIGADO
Emmanuel Neri de [email protected]
24/06/2016 Programa de Pós-graduação em Desenvolvimento de Tecnologia – GTT