$30 off During Our Annual Pro Sale. View Details »

Como saber se você criou um Monólito Distribuído

Como saber se você criou um Monólito Distribuído

Quando venderam Microsserviços para o seu time disseram que a sua produtividade iria aumentar, o software iria escalar, e que tudo na sua vida iria ficar mais fácil. Alguns meses ou anos depois, talvez não tenham sido esses os resultados que sua equipe alcançou. Será que na verdade você não criou um monólito distribuído?

Ficou na dúvida? Então não perca essa palestra onde nós mostraremos os principais sintomas de uma doença chamada microsservicite, e quem sabe possamos inclusive sugerir alguns remédios para os seus problemas.

Edson Yanaga

October 29, 2020
Tweet

More Decks by Edson Yanaga

Other Decks in Technology

Transcript

  1. Como saber se você criou um
    Monólito Distribuído
    Edson Yanaga
    @yanaga

    View Slide

  2. @yanaga
    2
    @yanaga

    View Slide

  3. @yanaga
    3
    https://bit.ly/mono2microdb

    View Slide

  4. @yanaga
    4
    Qual é o problema que
    estamos tentando resolver?

    View Slide

  5. 5
    Lead
    Time

    View Slide

  6. 6
    Redução
    de
    Risco

    View Slide

  7. @yanaga
    7
    Redução
    do
    Batch Size

    View Slide

  8. @yanaga
    8

    View Slide

  9. @yanaga
    9
    Microsserviços:
    Múltiplas filas
    de trabalho e entrega

    View Slide

  10. @yanaga
    10
    5 Sintomas de um
    Monólito Distribuído

    View Slide

  11. @yanaga
    11
    #1
    Alto acoplamento

    View Slide

  12. @yanaga
    12
    Modificação de estado em cascata

    View Slide

  13. @yanaga
    13
    Modificação de código em cascata

    View Slide

  14. @yanaga
    14
    Releases sincronizados

    View Slide

  15. @yanaga
    15
    #2
    É difícil escalar

    View Slide

  16. @yanaga
    16
    Escalonamento em cascata

    View Slide

  17. @yanaga
    17
    #3
    Excesso de comunicação

    View Slide

  18. @yanaga
    18
    Toda operação envolve mais
    de um serviço

    View Slide

  19. @yanaga
    19
    Latência é um problema

    View Slide

  20. @yanaga
    20
    Toda comunicação é síncrona

    View Slide

  21. @yanaga
    21
    Controle de timeouts
    minucioso

    View Slide

  22. @yanaga
    22
    Indisponibilidade
    em cascata

    View Slide

  23. @yanaga
    23
    #4
    Dependências
    compartilhadas

    View Slide

  24. @yanaga
    24
    Bibliotecas
    compartilhadas

    View Slide

  25. @yanaga
    25
    #5
    Dados compartilhados

    View Slide

  26. @yanaga
    26
    Dados são um aspecto
    secundário na migração

    View Slide

  27. @yanaga
    27
    Comportamento > Estado

    View Slide

  28. @yanaga
    28
    “Behavior is Easy, State is
    Hard” - Edson Yanaga

    View Slide

  29. @yanaga
    29
    Serviços usam a mesma
    base de dados

    View Slide

  30. @yanaga
    30
    Alterações de esquema em
    cascata

    View Slide

  31. @yanaga
    31
    Monólito
    ou
    Microsserviços?

    View Slide

  32. @yanaga
    32
    Monólito
    e
    Microsserviços!

    View Slide

  33. 33

    View Slide

  34. @yanaga
    34
    Arquitetura de Software é o
    conjunto de decisões que são
    importantes e difíceis de mudar

    View Slide

  35. @yanaga
    35
    Obrigado!

    View Slide