SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
MICROSSERVIÇOS:
Felipe Coelho Machado
Rosemary Francisco
COMPARATIVO DA ARQUITETURA DE
MICROSSERVIÇOS COM MODELO
MONOLÍTICO
FUNDAMENTAÇÃO TEÓRICA
INTRODUÇÃO
PROJETO
RESULTADOS
CONCLUSÕES
INTRODUÇÃO
INTRODUÇÃO MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
PROBLEMA
softwares com a arquitetura monolítica
com o tempo tem sua manutenibilidade
reduzida e qualidade do software
prejudicada;
o modelo de arquitetura de
microsserviços proposto contempla uma
nova forma de desenvolvimento;
a falta de informações e comparativos
prejudica a tomada de decisão de qual
arquitetura seguir por organizações.
PROPOSTA
avaliar quais os benefícios providos por
microsserviços, aplicando métricas
quantitativas de software;
responder se microsserviços auxilia na
redução da complexidade no
desenvolvimento de software;
apresentar dados que ajudarão
desenvolvedores e organizações a
entenderem melhor o impacto de suas
decisões arquiteturais na vida de um
software.
INTRODUÇÃO MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
Analisar como a arquitetura
de Microsserviços auxilia na
redução da complexidade
no desenvolvimento de
software.
a) Identificar métricas para a
análise da complexidade de
software;
b) Comparar as arquiteturas de
Microsserviços e Monolítico;
c) Analisar a aplicabilidade da
ferramenta Visual Studio Code
Metrics a arquitetura de
Microsserviços.
GERAL ESPECÍFICOS
FUNDAMENTAÇÃO
TEÓRICA
FUNDAMENTAÇÃO TEÓRICA MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
MANUTENIBILIDADE
DE SOFTWARE
MÉTRICAS
QUANTITATIVAS DE
SOFTWARE
uma forma padrão
de medir um atributo
de um software ou
do processo, como
tamanho, custo,
defeitos, qualidade
ou ambiente.
ARQUITETURA
MICROSSERVIÇOS
ARQUITETURA
MONOLÍTICA
capacidade de
um software de ser
modificado a fim de
corrigir defeitos,
adequar-se a novos
requisitos, aumentar
a suportabilidade o
u se adequar a um
ambiente novo.
arquitetura de
software na qual a
interface de usuário
e todo código
server-side é
combinado em
uma única unidade.
especialização da
arquitetura SOA
utilizada para
desenvolver suítes
de serviços com
deploy
independente.
FUNDAMENTAÇÃO TEÓRICA MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
trabalhos
relacionados On Micro-services Architecture A Visualizing Network Benchmark for
Microservices
Assessment of Software Maintainability
Evolution Using C&K Metrics
Namiot e Sneps-Sneppe (2014)
Kratzke e Quint (2016)
Barbosa Jr. e Hirama (2013)
Towards a Technique for Extracting
Microservices from Monolithic Enterprise
Systems Levcovitz, Terra e Valente (2015)
 identifica vantagens e desvantagens do
microsserviços;
 perspectiva técnica e de implementação;
 viabilidade de migração.
 benchmark desenhado para arquitetura de
microsserviços;
 comparativo de performance.
 evolução da manutenibilidade de um software;
 utilização das métricas Chidamber e Kemerer (C&K).
PROJETO
MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
software utilizado
em colaboração
com uma
empresa
3
CENÁRIOS
As métricas índice de
manutenibilidade
e complexidade
ciclomática foram
escolhidas para efetuar o
comparativo
unidade
de
análise
construídos, utilizando os
princípios de
microsserviços para
possibilitar o comparativo
PROJETO
MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
ARQUITETURA
ATUAL
ARQUITETURA
PROJETADA
arquitetura
Desenvolvido em 2012 utilizando stack Microsoft;
Cerca de 50k linhas de código;
Índice de Manutenibilidade médio de 43;
Arquitetura monolítica. Uma única DLL.
Desenvolvido em C# e .NET;
Quebra em microsserviços;
Utilização de ECS (AWS EC2 Container Service);
Separação por responsabilidades.
PROJETO
MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
CADA CENÁRIO FOI
AVALIADO E QUEBRADO
cenários
• Identificado todos os métodos dentro de
cada controladora
• Dividido entre três responsabilidades:
• Informações Sucintas; Informações
Completas; e Alterações da base de dados.
1 2
3
PROJETO
RESULTADOS
RESULTADOS MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
COMPLEXIDADE
CICLOMÁTICA
Redução de 83% e 53% nos dois
primeiros cenários.
Redução Média de 45%.
ÍNDICE DE
MANUTENIBILIDADE
Aumento respectivo de
103%, 52% e 76%.
Aumento médio de 77%.
CONCLUSÃO
CONCLUSÃO MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
preencheu-se uma lacuna no que diz respeito à
complexidade de software da arquitetura de microsserviços.
através de três cenários, comprovou-se uma maior
manutenibilidade e redução de complexidade para a
arquitetura de microsserviços em comparação ao modelo
monolítico.
métricas quantitativas utilizadas e ferramenta Code Metrics
totalmente aderentes para o desenvolvimento na
linguagem C#.
Além da complexidade do software, podemos ainda
explorar o impacto em recursos (CPU/memória/tráfego de
rede) e mudanças na qualidade do código.
Ainda é possível avaliar a complexidade de software
no novo paradigma de arquitetura Serverless.
CONCLUSÃO MICROSSERVIÇOS:
COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
MICROSSERVIÇOS:
Felipe Coelho Machado
Rosemary Francisco
COMPARATIVO DA ARQUITETURA DE
MICROSSERVIÇOS COM MODELO
MONOLÍTICO

Mais conteúdo relacionado

Semelhante a Comparativo entre arquiteturas de microsserviços e monolítica

ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOEstevão Hess
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...tdc-globalcode
 
Modernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoModernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoYan Justino
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
2008 thomaz passosferrazmoreira
2008 thomaz passosferrazmoreira2008 thomaz passosferrazmoreira
2008 thomaz passosferrazmoreiraVivaldo Chagas
 
Aumentando escalabilidade com SOA
Aumentando escalabilidade com SOAAumentando escalabilidade com SOA
Aumentando escalabilidade com SOAHugo Marques
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialAlexandre Leão
 
GABC 2018 - Hands-On: DevOps, CI e CD
GABC 2018 - Hands-On: DevOps, CI e CDGABC 2018 - Hands-On: DevOps, CI e CD
GABC 2018 - Hands-On: DevOps, CI e CDJaqueline Ramos
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaRubens Matos Junior
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...anybalrocha
 
Arquitetura em Microsserviços, melhores práticas e utilidades.
Arquitetura em Microsserviços, melhores práticas e utilidades.Arquitetura em Microsserviços, melhores práticas e utilidades.
Arquitetura em Microsserviços, melhores práticas e utilidades.Jonatas Saraiva
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_jsgustavobeavis
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...tdc-globalcode
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...Marcelo Palladino
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Gustavo Malheiros
 

Semelhante a Comparativo entre arquiteturas de microsserviços e monolítica (20)

ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDOARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
ARQUITETURA DISTRIBUÍDA DE SOFTWARE PARA AMBIENTE DE DESENVOLVIMENTO DISTRIBUÍDO
 
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
TDC2017 | São Paulo - Trilha Modern Web How we figured out we had a SRE team ...
 
Modernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e MétodoModernizando plataformas e-Government : Lições e Método
Modernizando plataformas e-Government : Lições e Método
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Architecture performance using micro services
Architecture performance using micro servicesArchitecture performance using micro services
Architecture performance using micro services
 
2008 thomaz passosferrazmoreira
2008 thomaz passosferrazmoreira2008 thomaz passosferrazmoreira
2008 thomaz passosferrazmoreira
 
A Nova Web
A Nova WebA Nova Web
A Nova Web
 
Aumentando escalabilidade com SOA
Aumentando escalabilidade com SOAAumentando escalabilidade com SOA
Aumentando escalabilidade com SOA
 
Arquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencialArquitetura de Software - Uma visão gerencial
Arquitetura de Software - Uma visão gerencial
 
GABC 2018 - Hands-On: DevOps, CI e CD
GABC 2018 - Hands-On: DevOps, CI e CDGABC 2018 - Hands-On: DevOps, CI e CD
GABC 2018 - Hands-On: DevOps, CI e CD
 
Seminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíquaSeminário - Arquitetura de software para computação ubíqua
Seminário - Arquitetura de software para computação ubíqua
 
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
 
Arquitetura em Microsserviços, melhores práticas e utilidades.
Arquitetura em Microsserviços, melhores práticas e utilidades.Arquitetura em Microsserviços, melhores práticas e utilidades.
Arquitetura em Microsserviços, melhores práticas e utilidades.
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
Arquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes ÁgeisArquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes Ágeis
 
Microservices
MicroservicesMicroservices
Microservices
 
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...TDC2016POA | Trilha Arquetetura -  Revitalizando aplicações desktop usando Ce...
TDC2016POA | Trilha Arquetetura - Revitalizando aplicações desktop usando Ce...
 
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...TDC2016SP  Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
TDC2016SP Trilha Arquitetura.NET - Revitalizando aplicações desktop usando C...
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.Introdução ao ALM e a visão da Plataforma Microsoft para developers.
Introdução ao ALM e a visão da Plataforma Microsoft para developers.
 

Comparativo entre arquiteturas de microsserviços e monolítica

  • 1. MICROSSERVIÇOS: Felipe Coelho Machado Rosemary Francisco COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
  • 4. INTRODUÇÃO MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO PROBLEMA softwares com a arquitetura monolítica com o tempo tem sua manutenibilidade reduzida e qualidade do software prejudicada; o modelo de arquitetura de microsserviços proposto contempla uma nova forma de desenvolvimento; a falta de informações e comparativos prejudica a tomada de decisão de qual arquitetura seguir por organizações. PROPOSTA avaliar quais os benefícios providos por microsserviços, aplicando métricas quantitativas de software; responder se microsserviços auxilia na redução da complexidade no desenvolvimento de software; apresentar dados que ajudarão desenvolvedores e organizações a entenderem melhor o impacto de suas decisões arquiteturais na vida de um software.
  • 5. INTRODUÇÃO MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO Analisar como a arquitetura de Microsserviços auxilia na redução da complexidade no desenvolvimento de software. a) Identificar métricas para a análise da complexidade de software; b) Comparar as arquiteturas de Microsserviços e Monolítico; c) Analisar a aplicabilidade da ferramenta Visual Studio Code Metrics a arquitetura de Microsserviços. GERAL ESPECÍFICOS
  • 7. FUNDAMENTAÇÃO TEÓRICA MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO MANUTENIBILIDADE DE SOFTWARE MÉTRICAS QUANTITATIVAS DE SOFTWARE uma forma padrão de medir um atributo de um software ou do processo, como tamanho, custo, defeitos, qualidade ou ambiente. ARQUITETURA MICROSSERVIÇOS ARQUITETURA MONOLÍTICA capacidade de um software de ser modificado a fim de corrigir defeitos, adequar-se a novos requisitos, aumentar a suportabilidade o u se adequar a um ambiente novo. arquitetura de software na qual a interface de usuário e todo código server-side é combinado em uma única unidade. especialização da arquitetura SOA utilizada para desenvolver suítes de serviços com deploy independente.
  • 8. FUNDAMENTAÇÃO TEÓRICA MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO trabalhos relacionados On Micro-services Architecture A Visualizing Network Benchmark for Microservices Assessment of Software Maintainability Evolution Using C&K Metrics Namiot e Sneps-Sneppe (2014) Kratzke e Quint (2016) Barbosa Jr. e Hirama (2013) Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems Levcovitz, Terra e Valente (2015)  identifica vantagens e desvantagens do microsserviços;  perspectiva técnica e de implementação;  viabilidade de migração.  benchmark desenhado para arquitetura de microsserviços;  comparativo de performance.  evolução da manutenibilidade de um software;  utilização das métricas Chidamber e Kemerer (C&K).
  • 10. MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO software utilizado em colaboração com uma empresa 3 CENÁRIOS As métricas índice de manutenibilidade e complexidade ciclomática foram escolhidas para efetuar o comparativo unidade de análise construídos, utilizando os princípios de microsserviços para possibilitar o comparativo PROJETO
  • 11. MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO ARQUITETURA ATUAL ARQUITETURA PROJETADA arquitetura Desenvolvido em 2012 utilizando stack Microsoft; Cerca de 50k linhas de código; Índice de Manutenibilidade médio de 43; Arquitetura monolítica. Uma única DLL. Desenvolvido em C# e .NET; Quebra em microsserviços; Utilização de ECS (AWS EC2 Container Service); Separação por responsabilidades. PROJETO
  • 12. MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO CADA CENÁRIO FOI AVALIADO E QUEBRADO cenários • Identificado todos os métodos dentro de cada controladora • Dividido entre três responsabilidades: • Informações Sucintas; Informações Completas; e Alterações da base de dados. 1 2 3 PROJETO
  • 14. RESULTADOS MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO COMPLEXIDADE CICLOMÁTICA Redução de 83% e 53% nos dois primeiros cenários. Redução Média de 45%. ÍNDICE DE MANUTENIBILIDADE Aumento respectivo de 103%, 52% e 76%. Aumento médio de 77%.
  • 16. CONCLUSÃO MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO preencheu-se uma lacuna no que diz respeito à complexidade de software da arquitetura de microsserviços. através de três cenários, comprovou-se uma maior manutenibilidade e redução de complexidade para a arquitetura de microsserviços em comparação ao modelo monolítico. métricas quantitativas utilizadas e ferramenta Code Metrics totalmente aderentes para o desenvolvimento na linguagem C#.
  • 17. Além da complexidade do software, podemos ainda explorar o impacto em recursos (CPU/memória/tráfego de rede) e mudanças na qualidade do código. Ainda é possível avaliar a complexidade de software no novo paradigma de arquitetura Serverless. CONCLUSÃO MICROSSERVIÇOS: COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO
  • 18. MICROSSERVIÇOS: Felipe Coelho Machado Rosemary Francisco COMPARATIVO DA ARQUITETURA DE MICROSSERVIÇOS COM MODELO MONOLÍTICO