SlideShare una empresa de Scribd logo
1 de 35
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
descontos
Lista 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 Aluguel
Sugestõ
es
Globalcode – Open4education
UI
BL
Reviews Estoque Vendas Aluguel
Sugestõ
es
UI
BL
DL
UI
BL
DL
UI
BL
DL
UI
BL
DLDL
Globalcode – Open4education
Reviews
Id
Review
IdAutor
Estoque
Id
QtdeAtual
QtdeMinima
Vendas
Id
IdCompra
Qtde
Preco
Aluguel
Id
Preco
Sugestões
Id
IdDestino
Relevancia
Globalcode – Open4education
UI
BL
Reviews Estoque Vendas Aluguel
Sugestõ
es
UI
BL
UI
BL
UI
BL
UI
BL
CQRS
API
DL DL WS
DL
NoSQ
L
Globalcode – Open4education
Reviews
Aluguel
Sugestões
Vendas
Estoque
Globalcode – Open4education
Reviews
Estoque
Aluguel
Sugestões
Vendas
Pub/Sub
Globalcode – Open4education
EstoqueSugestões
Vendas Pub
Sub
Venda Fechada
•Dia/Hora
•[IdProduto,
Quantidade, Preço]
•IdCliente
Globalcode – Open4education
EstoqueSugestões
Vendas Pub
Sub
Venda Fechada
•Dia/Hora
•[IdProduto,
Quantidade, Preço]
•IdCliente
Marketing
Globalcode – Open4education
Compras
Estoque Pub
Sub
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 windows
20 aplicações web
20 bases de dados
Globalcode – Open4education
Benefícios
Simplicidade, sistema composto por
serviços menores, desacoplados e
independentes
Novos serviços podem facilmente
aproveitar novas tecnologias
Antigos serviços são mais facilmente
reescrito
Serviços podem evoluir em velocidades
diferentes
Deploy independentes
Globalcode – Open4education
Benefícios
Escalabilidade horizontal e
independente entre os serviços
Escalabilidade não requer nenhuma
mudança no software
Base 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ção
Evitar serviços enormes ou um grande
número de mini serviços
Integração Frontend
Automatização build e deploy
Globalcode – Open4education
Adoção
Separe somente o domínio
Execute em memória
Inicie por serviços periféricos
Mantenha a mesma base de dados
Faça spikes
Faça deploy como um sistema único
Venda a idéia para a equipe
Globalcode – Open4education
Obrigado!
Dúvidas?
@rmueller

Más contenido relacionado

Destacado (12)

Black Friday
Black FridayBlack Friday
Black Friday
 
Historia saga
Historia sagaHistoria saga
Historia saga
 
Angeldf
AngeldfAngeldf
Angeldf
 
Methods and results Self Esteem Study
Methods and results Self Esteem StudyMethods and results Self Esteem Study
Methods and results Self Esteem Study
 
Presentacion personal
Presentacion personalPresentacion personal
Presentacion personal
 
Contratos, Hernán Troncoso
Contratos,  Hernán TroncosoContratos,  Hernán Troncoso
Contratos, Hernán Troncoso
 
Angles ev
Angles evAngles ev
Angles ev
 
The nuclear power
The nuclear powerThe nuclear power
The nuclear power
 
Estructura de la computadora
Estructura de la computadoraEstructura de la computadora
Estructura de la computadora
 
JMC Micro-Control White Paper
JMC Micro-Control White PaperJMC Micro-Control White Paper
JMC Micro-Control White Paper
 
Tipos de redes en power point
Tipos de redes en power pointTipos de redes en power point
Tipos de redes en power point
 
Angle isabellac
Angle isabellacAngle isabellac
Angle isabellac
 

Similar a Não fique preso a apenas uma arquitetura

Visual Studio 2013 - Recursos da IDE
Visual Studio 2013 - Recursos da IDEVisual Studio 2013 - Recursos da IDE
Visual Studio 2013 - Recursos da IDE
Stefanini
 
TDC 2016 - Evoluindo SOA com a Gestão de APIs
TDC 2016 - Evoluindo SOA com a Gestão de APIsTDC 2016 - Evoluindo SOA com a Gestão de APIs
TDC 2016 - Evoluindo SOA com a Gestão de APIs
Marcelo Fernandes
 
Controlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com MigrationsControlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com Migrations
Andre Carlucci
 

Similar a Não fique preso a apenas uma arquitetura (20)

Dos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestraDos requisitos à implantação em uma palestra
Dos requisitos à implantação em uma palestra
 
Potencializando Business Intelligence com Typescript
Potencializando Business Intelligence com TypescriptPotencializando Business Intelligence com Typescript
Potencializando Business Intelligence com Typescript
 
TDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura EmpresarialTDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura Empresarial
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Visual Studio 2013 - Recursos da IDE
Visual Studio 2013 - Recursos da IDEVisual Studio 2013 - Recursos da IDE
Visual Studio 2013 - Recursos da IDE
 
Design de Software com ASP.NET MVC
Design de Software com ASP.NET MVCDesign de Software com ASP.NET MVC
Design de Software com ASP.NET MVC
 
TDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura EmpresarialTDC2016SP - Trilha Arquitetura Empresarial
TDC2016SP - Trilha Arquitetura Empresarial
 
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
[Tdc2012] Auditoria Sistêmica - Processos, Práticas e Ferramentas
 
TDC2018SP | Trilha Arq Dados - Governança de Dados para Business Intelligence...
TDC2018SP | Trilha Arq Dados - Governança de Dados para Business Intelligence...TDC2018SP | Trilha Arq Dados - Governança de Dados para Business Intelligence...
TDC2018SP | Trilha Arq Dados - Governança de Dados para Business Intelligence...
 
TDC 2016 - Evoluindo SOA com a Gestão de APIs
TDC 2016 - Evoluindo SOA com a Gestão de APIsTDC 2016 - Evoluindo SOA com a Gestão de APIs
TDC 2016 - Evoluindo SOA com a Gestão de APIs
 
Evoluindo SOA com a Gestão de APIs (TDC 2016 São Paulo)
Evoluindo SOA com a Gestão de APIs (TDC 2016 São Paulo)Evoluindo SOA com a Gestão de APIs (TDC 2016 São Paulo)
Evoluindo SOA com a Gestão de APIs (TDC 2016 São Paulo)
 
Uma jornada de dados com R
Uma jornada de dados com RUma jornada de dados com R
Uma jornada de dados com R
 
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de pro...
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
Controlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com MigrationsControlando a versão de seu banco de dados com Migrations
Controlando a versão de seu banco de dados com Migrations
 
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
TDC2016SP - Dark Launching: Minimizando os riscos de alterações críticas em p...
 
Arquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviçosArquitetura PHP para um mundo orientado a microsserviços
Arquitetura PHP para um mundo orientado a microsserviços
 
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
TDC2016SP - Unificando a autenticação e controlando acesso a API com Identity...
 
TDC2014 - Trilha de Análise de Negócios - Storyboards: dos Requisitos aos Tes...
TDC2014 - Trilha de Análise de Negócios - Storyboards: dos Requisitos aos Tes...TDC2014 - Trilha de Análise de Negócios - Storyboards: dos Requisitos aos Tes...
TDC2014 - Trilha de Análise de Negócios - Storyboards: dos Requisitos aos Tes...
 
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 Lições aprendidas com a Re (escrita |design) de uma aplicação PHP  Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
Lições aprendidas com a Re (escrita |design) de uma aplicação PHP
 

Não fique preso a apenas uma arquitetura