Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Monolith: The Breaking

Monolith: The Breaking

my talk at PixelsCamp

Daniel Serrano

September 28, 2017
Tweet

More Decks by Daniel Serrano

Other Decks in Programming

Transcript

  1. Monolith:
    The Breaking

    View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. • Onfido's Monolith
    • Microservices
    • Required Standard et al.
    • Architectural/Design Decisions
    • Future

    View Slide

  11. View Slide

  12. Redis-backed Queue
    Billing Check Invoice
    Monolith
    Done

    View Slide

  13. Redis-backed Queue
    Billing Check Invoice
    Monolith

    View Slide

  14. Redis-backed Queue
    Billing Check Invoice
    Monolith

    • Hotfix
    • Re-deploy Monolith

    View Slide

  15. • Tied to slow Monolith pipeline steps
    • Tests of every component of the Monolith have to be run

    View Slide

  16. • Separation of concerns could be better
    • Billing, Check and Invoice are completely different things
    • Tied to slow Monolith pipeline steps
    • Tests of every component of the Monolith have to be run

    View Slide

  17. • Separation of concerns could be better
    • Billing, Check and Invoice are completely different things
    • Tied to slow Monolith pipeline steps
    • Tests of every component of the Monolith have to be run
    • Teams should be focused
    • Context of each team should be contained

    View Slide

  18. “ a suite of small services, each running in its own process
    and communicating with lightweight mechanisms, often
    an HTTP resource API
    “ built around business capabilities and independently
    deployable by fully automated deployment machinery
    - James Lewis and Martin Fowler

    View Slide

  19. Redis-backed Queue
    Billing Check Invoice
    Monolith

    Done

    View Slide

  20. View Slide

  21. Required Standard

    View Slide

  22. RFCs

    View Slide

  23. Feature Parity

    View Slide

  24. Feature Flags

    View Slide

  25. Feature Flags

    View Slide

  26. Circuit Breaking

    View Slide

  27. Circuit Breaking

    View Slide

  28. Errors

    View Slide

  29. View Slide

  30. Logs

    View Slide

  31. Logs

    View Slide

  32. View Slide

  33. Metrics

    View Slide

  34. Metrics

    View Slide

  35. Metrics

    View Slide

  36. Metrics

    View Slide

  37. View Slide

  38. Orchestration vs. Choreography

    View Slide

  39. Shared DB

    View Slide

  40. Access by Reference

    View Slide

  41. Communication

    View Slide

  42. View Slide

  43. Distributed Tracing Systems

    View Slide

  44. API Gateway

    View Slide

  45. Questions?
    onfido.com/jobs

    View Slide