Quem sou eu
● Desenvolvedor Java FullStackDevopsEtc há
10anos
● Empreendedor e meio doido
● Trabalhando com micro serviços em aplicações
corporativas a 2 anos
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
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
É pra mim ? Devo utilizar ?
● O que há de errado com o monolito ?
● Podemos escrever monolito hoje em dia sim!
É pra mim ? Devo utilizar ?
● Tem necessidade (escala / alta disponibilidade /
dominios)
● Estou preparado?
● Meu time, stackholders estão preparados /
abertos ?
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
Legado x Novo Projeto
Cada cenário tem suas pequenas decisões
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 ?
Estratégias Legado
● Identificar claramente o objetivo de reescrita
● Conhecimento da equipe de reescrita vs
sustentação
● Estratégias de conversão
Estrangulamento de software
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
Dica:
● Uma estratégia para estrangulamento de
aplicações legadas e transformação para
microserviços - Infoq
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
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)
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
● Usar boas ferramentas
● Políticas de Gestão de Configuração claras
● Branchs
● Versionamentos
● Gestão de dependencias
Obrigado
Contato: fernandogomes_ti@hotmail.com

Microserviços é pra mim? Como começar? #cpbr12

  • 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 falarum 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 ● DesenvolvedorJava 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 ?
  • 7.
    Como iniciar ● Estudarpatterns ● 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 NovoProjeto Cada cenário tem suas pequenas decisões
  • 9.
    Legado ● Qual oobjetivo 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 ● Identificarclaramente o objetivo de reescrita ● Conhecimento da equipe de reescrita vs sustentação ● Estratégias de conversão
  • 11.
  • 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égiapara 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 detodo 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 muitobem 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 boasferramentas ● Políticas de Gestão de Configuração claras ● Branchs ● Versionamentos ● Gestão de dependencias
  • 18.