SlideShare uma empresa Scribd logo
1 de 18
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

Mais conteúdo relacionado

Mais procurados

Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesiMasters
 
Apresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiApresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiRankest
 
Desenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoDesenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoBruno Barbosa
 
Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFDaniel Maffioletti
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwareDenis Ferrari
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open sourceWaldemar Neto
 

Mais procurados (9)

Entendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita BernardesEntendendo os porquês do seu servidor - Talita Bernardes
Entendendo os porquês do seu servidor - Talita Bernardes
 
Entendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidorEntendendo os Porquês do seu servidor
Entendendo os Porquês do seu servidor
 
Apresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpiApresentacao institucional-4linux-maio2015-4 100dpi
Apresentacao institucional-4linux-maio2015-4 100dpi
 
Desenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e DjangoDesenvolvimento Web Ágil com Python e Django
Desenvolvimento Web Ágil com Python e Django
 
Devops
DevopsDevops
Devops
 
Aula python
Aula pythonAula python
Aula python
 
Apresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDFApresentação da Comunidade PHPDF
Apresentação da Comunidade PHPDF
 
Previsibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de softwarePrevisibilidade em desenvolvimento de software
Previsibilidade em desenvolvimento de software
 
Divisão de conhecimento e open source
Divisão de conhecimento e open sourceDivisão de conhecimento e open source
Divisão de conhecimento e open source
 

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

Gerenciamento de Projetos de Software
Gerenciamento de Projetos de SoftwareGerenciamento de Projetos de Software
Gerenciamento de Projetos de SoftwareIsabel Reis, PMP
 
Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15claudioluciodovallopes
 
Macrosolutions Treinamento: Gerenciamento das Comunicações em Projetos
Macrosolutions Treinamento: Gerenciamento das Comunicações em ProjetosMacrosolutions Treinamento: Gerenciamento das Comunicações em Projetos
Macrosolutions Treinamento: Gerenciamento das Comunicações em ProjetosMacrosolutions SA
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Anderson Kanegae Soares Rocha
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front EndCaio Vaccaro
 
O que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloO que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloIsmael
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Taller Negócio Digitais
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMatheus Costa
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Rennan Martini
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Better Developer
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - ResumoDaniel Brandão
 
A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017Thiago Luna
 

Semelhante a Microserviços é pra mim? Como começar? #cpbr12 (20)

Gerenciamento de Projetos de Software
Gerenciamento de Projetos de SoftwareGerenciamento de Projetos de Software
Gerenciamento de Projetos de Software
 
Sua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shiftSua aplicação nas nuvens com open shift
Sua aplicação nas nuvens com open shift
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15
 
Refactoring
RefactoringRefactoring
Refactoring
 
Macrosolutions Treinamento: Gerenciamento das Comunicações em Projetos
Macrosolutions Treinamento: Gerenciamento das Comunicações em ProjetosMacrosolutions Treinamento: Gerenciamento das Comunicações em Projetos
Macrosolutions Treinamento: Gerenciamento das Comunicações em Projetos
 
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
Software para Gerência de Projetos baseado em Metodologias Ágeis [Apresentação]
 
Mapa de aprendizado Front End
Mapa de aprendizado Front EndMapa de aprendizado Front End
Mapa de aprendizado Front End
 
O que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São PauloO que vi na QCon 2012 São Paulo
O que vi na QCon 2012 São Paulo
 
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
Como a Natura vem diminuindo seu custo de operação total com Drupal - DrupalC...
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Ari Neto_CloudStackDay
Ari Neto_CloudStackDayAri Neto_CloudStackDay
Ari Neto_CloudStackDay
 
SAFe - Como escalar algo artesanal?
SAFe - Como escalar algo artesanal?SAFe - Como escalar algo artesanal?
SAFe - Como escalar algo artesanal?
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
 
DDD
DDDDDD
DDD
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017A arte de escrever US - Agile brazil 2017
A arte de escrever US - Agile brazil 2017
 

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 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