O documento discute estratégias e considerações para adoção de arquitetura de microserviços, abordando tópicos como preparo da equipe, necessidade do projeto, estratégias para legados e novos projetos, aprendizados e desafios. O autor é um desenvolvedor Java com experiência em projetos corporativos com microserviços.
1. Quem sou eu
● Desenvolvedor Java FullStackDevopsEtc há
10anos
● Empreendedor e meio doido
● Trabalhando com micro serviços em aplicações
corporativas a 2 anos
2. Conteúdo
● Vou falar um pouco sobre arquitetura de micro
serviços, algumas esperiências, dificuldades e
relatidades
● Espero ajudar a entender se micro serviços
realmente é pra você, para seu projeto, para
este momento
● Deixar um guia inicial para essa jornada
3. Sobre mim
● Desenvolvedor Java FullStackDevopsEtc -
mais de 10 anos
● Há 2 anos efetivamente com micro serviços em
projetos corporativos
● Desenvolvedor Sênior / Arquiteto na DB1
Global Software
● Empreendedor, meio doido, programo de
madrugada, gosto de rock, gente doida e riso
fácil
4. É pra mim ? Devo utilizar ?
● O que há de errado com o monolito ?
● Podemos escrever monolito hoje em dia sim!
5. É pra mim ? Devo utilizar ?
● Tem necessidade (escala / alta disponibilidade /
dominios)
● Estou preparado?
● Meu time, stackholders estão preparados /
abertos ?
6.
7. Como iniciar
● Estudar patterns
● Estudar estratégias de micro serviços
● Estudar consistencia eventual
● Estudar arquitetura em eventos
● Estudar DDD
● Estudar transações com microserviços
8. Legado x Novo Projeto
Cada cenário tem suas pequenas decisões
9. Legado
● Qual o objetivo da reescrita do projeto ?
● O projeto tem porte ?
● É possível fazer a separação de domínios ?
● Stackholders estão realmente envolvidos,
engajados e aceitaram os custos e riscos ?
10. Estratégias Legado
● Identificar claramente o objetivo de reescrita
● Conhecimento da equipe de reescrita vs
sustentação
● Estratégias de conversão
12. Transformação Gradual
● Mudança – O que vou fazer de novo e como
vai ser a arquitetura em micro serviços
● Convivência – Como manter o legado e atual
durante a progressão
● Desligamento – Como desligar o antigo e
migrar 100% para o novo
13. Dica:
● Uma estratégia para estrangulamento de
aplicações legadas e transformação para
microserviços - Infoq
14. Estratégias novo Sistema
● Entendimento do todo, visão de longo prazo
● Entendimento claro e separação de domínios
● Equipe preparada e engajada
● Stackholders envolvidos, engajados e
comprando os riscos
15. Aprendizados
● Entendimento de todo time
● Separação de times
● Definição de usar ou não bibliotecas internas
● Apresentação clara de riscos e custos aos
stackholders (principalmente quem paga)
16. Aprendizados
● Conhecer muito bem o negócio
● Estudo e experiência em DDD são
fundamentais
● Ambiente CI/CD é o básico do básico
● Consultoria especializada pode ser uma opção
17. ● Usar boas ferramentas
● Políticas de Gestão de Configuração claras
● Branchs
● Versionamentos
● Gestão de dependencias