Monolith: The Breaking

Monolith: The Breaking

my talk at PixelsCamp

5cbc409f0a53f2ece26de41651799ae0?s=128

Daniel Serrano

September 28, 2017
Tweet

Transcript

  1. Monolith: The Breaking

  2. None
  3. None
  4. None
  5. None
  6. None
  7. None
  8. None
  9. None
  10. • Onfido's Monolith • Microservices • Required Standard et al.

    • Architectural/Design Decisions • Future
  11. None
  12. Redis-backed Queue Billing Check Invoice Monolith Done …

  13. Redis-backed Queue Billing Check Invoice Monolith …

  14. Redis-backed Queue Billing Check Invoice Monolith … • Hotfix •

    Re-deploy Monolith
  15. • Tied to slow Monolith pipeline steps • Tests of

    every component of the Monolith have to be run
  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
  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
  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
  19. Redis-backed Queue Billing Check Invoice Monolith … Done

  20. None
  21. Required Standard

  22. RFCs

  23. Feature Parity

  24. Feature Flags

  25. Feature Flags

  26. Circuit Breaking

  27. Circuit Breaking

  28. Errors

  29. None
  30. Logs

  31. Logs

  32. None
  33. Metrics

  34. Metrics

  35. Metrics

  36. Metrics

  37. None
  38. Orchestration vs. Choreography

  39. Shared DB

  40. Access by Reference

  41. Communication

  42. None
  43. Distributed Tracing Systems

  44. API Gateway

  45. Questions? onfido.com/jobs