You are on page 1of 24

Um Estudo do Stackoverflow sobre

Perguntas e Soluções sobre


Microsserviços
Aluno: Thiago Aquino dos Santos

Orientador: Vinicius Cardoso Garcia


ROTEIRO
● Introdução
● Microsserviços
● Stackoverflow
● Metodologia
● Resultados
● Conclusão
Introdução
Microsserviços
Microsserviços
Benefícios Desafios

Monolítico ● Construção simples. ● Equipes interdependentes.


● Teste fim-a-fim mais simples. ● Dificuldade na adição de nova
● Fácil de Escalonar. funcionalidade.
● Serviços críticos não pode ser
escalonado individualmente.
● Dificuldade em prestar manutenção.

Microsserviços ● Equipes independentes. ● Construção complexa.


● Rápida entrega do produto final/ ● Teste fim-a-fim são complexos.
novas funcionalidades. ● Comunicação entre os
● Escalabilidade. microsserviços
● Manutenibilidade. ● Sincronização dos dados
Stackoverflow
Metodologia
1ª Etapa - Estabelecer metas

GQM - Goal Question Metric


2ª Etapa - Gerar Perguntas

3ª Etapa - Especificar as medidas

4ª Etapa - Desenvolver mecanismos para


coleta de dados

5ª Etapa - Coletar, Validar

Baseado em Basili, V.R., Caldieira, G., e Rombach, H.D.


(1990) The Goal Question Metric Approach 6ª Etapa - Análise dos dados
Execução
Resultados
Segurança
Desafio: Desafios:

Autenticação Controle de Acesso

Soluções: Soluções:

● XACML ● OAuth/JWT
● OAuth ● API Gateway
● Spring Security ● ACL (Lista de
● Com Banco de Dados controle de acesso)
Aplicação
Desafio: Desafio:

Testes UI

Solução: Solução:

● Colocar os ● Criar de forma


testes como uma monolítica e conectar
etapa do fluxo com a aplicação em
microsserviços.
Arquitetura
Desafio: Desafio:

Comunicação Construção

Soluções: Solução:

● Usar mensageria. ● Rever a arquitetura


(PUB/SUB)
● Usar HTTP
Banco de Dados
Desafio: Desafio:

Arquitetura Consistência

Solução: Soluções:

● Rever a arquitetura ● Usar gerenciador de


do banco de dados transação.
● Criar um microsserviço
para eliminar registros
fantasmas
Migração
Desafio: Desafio:

Banco de Dados Arquitetura

Solução: Solução:

● Criar uma interface ● Escrever como


entre o banco e a microsserviços e
aplicação, e fazer as redirecionar as
através dessa chamadas.
interface.
Conclusão
Considerações finais
A arquitetura de microsserviços ganhou popularidade nos
últimos anos e, portanto, não pode ser considerada uma
arquitetura madura. Alguns autores consideram que ainda não
há um consenso sobre o que realmente seja microsserviços, o
consenso tem sido apenas nos benefícios que essa arquitetura
tem sobre a arquitetura monolítica.
Limitações
● Não somente devido ao pouco tempo no uso de
microsserviços, mas também porque, devido à sua novidade,
talvez ainda existam perguntas que precisam ser feitas no
seu uso em aplicações diversas, dispositivos que podem
usar essa arquitetura e transição da arquitetura
monolítica para a de microsserviços.
Trabalhos Futuros
● Estudos que acompanhem a evolução da arquitetura de
microsserviços até o seu amadurecimento.
● A migração de outras arquiteturas para microsserviços.
● Expandir essa pesquisa realizando o estudo em outras
fontes que não somente o Stackoverflow.
● Avaliar os resultados encontrados neste trabalho de
graduação através da replicação deste estudo .
OBRIGADO!
Aluno: Thiago Aquino dos Santos

Orientador: Vinicius Cardoso Garcia