Este documento apresenta os principais conceitos de arquitetura de microsserviços. Inicialmente discute as desvantagens dos sistemas monolíticos e como microsserviços podem resolver esses problemas, dividindo aplicações grandes em vários serviços menores e independentes. Em seguida, explica como migrar sistemas legados para microsserviços de forma iterativa e incremental, preparando a infraestrutura e refatorando gradualmente. Por fim, apresenta padrões, ferramentas e considerações importantes para implementar com sucesso uma arquitet
6. 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
7. “If you don’t end up regretting your early technology decisions, you probably over
engineered”
Randy Shoup (ex Google, eBay)
10. 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
14. 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
17. Migração: Opções
Comprar uma solução completa (Oracle/Java, .NET)
Escrever do ZERO. Tempo x Investimento
Refatoração (Iterativo e Incremental)
18. Migração: Opções
Comprar uma solução completa (Oracle/Java, .NET)
Escrever do ZERO. Tempo x Investimento
Refatoração (Iterativo e Incremental)
19. “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)
20. Migração: Prepare a casa
Sistema de Versionamento de Código
Testes Automatizados (Unit > Integration)
Continuous Deploy (CI)