DevConf - MicroServiços o mal do século XXI @Gustavo Pereira

DevConf - MicroServiços o mal do século XXI @Gustavo Pereira

Primeiro Evento organizado pelo Opensanca se trata do DevConf, tivemos a participação do Gustavo Pereira (http://gustavohenriq.com/) abordando sobre Microserviços e seus problemas na atualidade.

B2519015997dff04abe2568ebb2cf729?s=128

opensanca

May 27, 2017
Tweet

Transcript

  1. Microserviços o mal do século XXI na criação de empresas.

  2. Gustavo CTO e CO-Fundador da Academia PME; ~ 6 anos

    de experiência; Um eterno estudante; Apaixonado por negócios e tecnologias; @gstpreira gustavo@academiapme.com.br
  3. • Criação de Empresa / Projeto; • Arquitetura; • Possíveis

    Soluções; Agenda
  4. • Simples; • Ganhar muito dinheiro; • Ideia: Netflix do

    empreendedorismo; Criação de Empresa / Projeto
  5. Arquitetura: Monolítico vs Microserviços

  6. ◦ Empresas novas não usam; ◦ Arquitetura Antiga; ◦ Chato;

    • Monolítico: Arquitetura - DEV
  7. ◦ Arquitetura moderna; ◦ COOL; • Microserviços: ◦ Netflix, Google,

    Facebook e etc usam; Arquitetura - DEV
  8. A Escolha: Microserviços

  9. ◦ Rabbitmq, Elasticsearch; ◦ NodeJS, Clojure, Go….; ◦ SPA: React,

    VueJS, Angular….; ◦ Docker; Tecnologia
  10. Arquitetura Auth E-mails Pagamento Admin Catálogo de Videos Filas Usuário

    Recomendações
  11. 3 Meses depois

  12. Arquitetura

  13. ◦ Perda de dados / serviços; ◦ Profissional excasso /

    caro; ◦ Ranqueamento no Google; ◦ Monitoramento; Problemas ◦ Falta de tempo p/ novas features;
  14. “Premature optimization is the root of all evil ” Donald

    Knuth
  15. None
  16. Monolítico ? Sim e Não

  17. ◦ Investimento Alto; Quando usar Microserviços

  18. Monolítico Moderno

  19. Arquitetura Monolítico Moderno Auth E-mails Pagamento Admin Catálogo de Videos

    Usuário Recomendações
  20. ◦ Testado; ◦ Testado; ◦ Estruturado para evoluir / escalar;

    • Monolítico Moderno: Arquitetura
  21. ◦ Teste de Integração; ◦ Teste de Unidade; • Tipos

    de testes Testado ◦ Teste de Aceitação;
  22. ◦ Utiliza mocks, stubs, fakes e etc; ◦ Espeficação por

    comportamento; • BDD Testado ◦ Requisito alinhado ao Dev;
  23. • BDD Testado

  24. Base de Código; Dependências; Configurações; Serviços de Apoio; Build, release,

    run; Processos; Vínculo de porta; Concorrência; Descartabilidade; Dev/prod semelhantes; Logs; Processos de Admin. • The Twelve-Factor App: Estruturado para evoluir / escalar
  25. ◦ Model Driven Design (MDD); ◦ Linguagem Ubíqua; • DDD:

    Estruturado para evoluir / escalar ◦ Coleção de Padrões e Princípios;
  26. • DDD: Estruturado para evoluir / escalar

  27. None
  28. None
  29. Dúvidas ?

  30. • https://www.youtube.com/watch?v=a2GElG2yDq4 • http://blog.caelum.com.br/arquitetura-de-microservicos-ou-monolitica/ • http://www.eduardopires.net.br/2012/06/ddd-tdd-bdd/ • http://www.princiweb.com.br/blog/programacao/tdd/tdd-ddd-e-bdd-pra ticas-de-desenvolvimento.html •

    http://blog.locaweb.com.br/artigos/metodologias-ageis/o-que-e-domai n-driven-design/ • https://12factor.net/pt_br/ • http://www.fabian-keller.de/blog/domain-driven-design-with-symfony-a -folder-structure Referências
  31. Obrigado! @gstpreira gustavo@academiapme.com.br