Sismetas Monolíticos: Problemas
Muito código
Devs intimidados
Medo de mudança
Deploy gigante / complexo
Deploy falha, tudo falha
Maior tempo de testes
IDE sobrecarregada
Preso a tecnologia
“If you don’t end up regretting your early technology decisions, you probably over
engineered”
Randy Shoup (ex Google, eBay)
Microsserviços
Fundamentada na explosão de uma aplicação grande e
monolítica em um conjunto de APIs e componentes muito
pequenos, com baixíssima capacidade funcional, visando
independência e autonomia dessas pequenas partes
Microsserviços: Benefícios
Acessando o mesmo front
Desenvolvimento simples
Fim inferno das dependências
Build e Deploy rápidos
fácil de escalar equipes
Liberdade para usar a melhor solução
Maior isolamento e menor risco de falha
Migração: Opções
Comprar uma solução completa (Oracle/Java, .NET)
Escrever do ZERO. Tempo x Investimento
Refatoração (Iterativo e Incremental)
Migração: Opções
Comprar uma solução completa (Oracle/Java, .NET)
Escrever do ZERO. Tempo x Investimento
Refatoração (Iterativo e Incremental)
“The easiest way to encourage best practices is with *code*.
Make it really easy to do the right thing, and harder to do the wrong thing!”
Randy Shoup (ex Google, eBay)
Migração: Prepare a casa
Sistema de Versionamento de Código
Testes Automatizados (Unit > Integration)
Continuous Deploy (CI)