Post on 16-Dec-2014
description
Globalcode – Open4education
Não fique preso a apenas uma arquitetura
Globalcode – Open4education
Globalcode – Open4education
Definição Arquitetura
Apresentação (UI)
Negócio (BL)
Dados (DL)
Globalcode – Open4education
Início do caos
Globalcode – Open4education
Aumentando o caos
Avaliação produtos Clientes Prata e Ouro com descontosLista de amigos para compartilhar produtos comprados
Globalcode – Open4education
O caos formado
Globalcode – Open4education
O sistema
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Problemas
Globalcode – Open4education
Os Problemas
Globalcode – Open4education
“To construct a product detail page for a customer, the Amazon software calls on between 200 and 300 services to present a highly personalized experience
for that customer.”
Jeff Bezos
Globalcode – Open4education
DDD e SOA
Globalcode – Open4education
Apresentação (UI)
Negócio (BL)
Dados (DL)
Globalcode – Open4education
Apresentação (UI)
Negócio (BL)
Dados (DL)
Reviews Estoque Vendas AluguelSugestõ
es
Globalcode – Open4education
UI
BL
Reviews Estoque Vendas AluguelSugestõ
es
UI
BL
DL
UI
BL
DL
UI
BL
DL
UI
BL
DLDL
Globalcode – Open4education
ReviewsIdReviewIdAutor
EstoqueIdQtdeAtualQtdeMinima
VendasIdIdCompraQtdePreco
AluguelIdPreco
SugestõesIdIdDestinoRelevancia
Globalcode – Open4education
UI
BL
Reviews Estoque Vendas AluguelSugestõ
es
UI
BL
UI
BL
UI
BL
UI
BL CQRS
API
DL DL WSDL
NoSQL
Globalcode – Open4education
Reviews
Aluguel
Sugestões
Vendas
Estoque
Globalcode – Open4education
Reviews
Estoque
Aluguel
Sugestões
Vendas
Pub/Sub
Globalcode – Open4education
EstoqueSugestões
Vendas PubSub
Venda Fechada•Dia/Hora•[IdProduto, Quantidade, Preço]•IdCliente
Globalcode – Open4education
EstoqueSugestões
Vendas PubSub
Venda Fechada•Dia/Hora•[IdProduto, Quantidade, Preço]•IdCliente
Marketing
Globalcode – Open4education
Compras
Estoque PubSub
Produto Estoque Baixo•Dia/Hora•IdProduto•Quantidade
Globalcode – Open4education
Filas ou WS?
Globalcode – Open4education
Evolução
Tempo
Rápido Fácil
Homogêneo Modular
Autonomia
Simplicidade
Globalcode – Open4education
Atualmente
15 serviços windows20 aplicações web20 bases de dados
Globalcode – Open4education
Benefícios
Simplicidade, sistema composto por serviços menores, desacoplados e independentes Novos serviços podem facilmente aproveitar novas tecnologiasAntigos serviços são mais facilmente reescritoServiços podem evoluir em velocidades diferentesDeploy independentes
Globalcode – Open4education
Benefícios
Escalabilidade horizontal e independente entre os serviçosEscalabilidade não requer nenhuma mudança no softwareBase de dados também pode ser escalada horizontalmente
Globalcode – Open4education
Desafios
Integrações e relatórios que exigem informações de vários serviços Medo da gerência pela inexistência do ‘framework padrão’Dificuldade na separação correta do domínio e custo na correçãoEvitar serviços enormes ou um grande número de mini serviçosIntegração FrontendAutomatização build e deploy
Globalcode – Open4education
Adoção
Separe somente o domínioExecute em memória Inicie por serviços periféricosMantenha a mesma base de dadosFaça spikesFaça deploy como um sistema únicoVenda a idéia para a equipe
Globalcode – Open4education
Obrigado!
Dúvidas?
@rmueller