15. Isolamento: Beneficios
Times
Ter multiplos times trabalhando ao mesmo tempo em
coisas diferente, sem merge
É possível ter times por serviços
Cada time pode trabalhar com técnologias diferentes
Cada time pode trabalhar de formas diferentes por a
dependencia dos times vira por serviços e não pro
pessoas.
É possível ter times fazendo delivery de business e
outros atualizando tecnologias ou fazendo melhorias de
performance.
16. Isolamento: Beneficios
Recursos
Hardware diferente por serviço
Serviços podem usar mais ou menos recursos
Serviços não afetam os outros em runtime, tem mais
resiliencia.
Isolamento de banco permite atualizaçoes no modelo e
tecnolgoia de dados sem impactos e outros serviços.
Isolamento de CPU, Threads, Memoria, Rede faz com
que o serviço sejá autocontido e indepente assim tendo
mais facilidade para portar de um lugar para outro até
mesmo do DS local para Cloud ou vice-versa.
17. Isolamento: Beneficios
Gestão
Diferentes prioridades do negócio podem ser feitas ao
mesmo tempo de um jeito melhor.
Releases podem acontecer em simultaneo, sem
necessidade de tanta coordenação e bloqueio como em
outros modelos.
Podem se priorizar melhor: Bugs, Débitos Técnicos,
melhorias de tecnologias e migrações.
Times tem mais produtividade e menos dependencias.
Velocidade de deploy e test / experimentação de
funcionalidades.
48. Multiples DBs & TX
Users Service Images Service Comments Service
49. Eventual Consistency
Alternativa a TX distribuidas
Trabalha com eventos
Os Serviços tem que ouvir esses
eventos e aplicar as mudanças nos
dados.
Soluções:
CQRS + Event Sourcing
Topicos / Pub-Sub (JMS)
Akka
É Possível ter TX local