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

The Dos and Don'ts of CBRA

The Dos and Don'ts of CBRA

Component-Based Rails Architectures are a great way to take advantage of microservices in Ruby...IF you know what you're doing.

Adam Conrad

July 10, 2018
Tweet

More Decks by Adam Conrad

Other Decks in Programming

Transcript

  1. The Dos and Don’ts of CBRA
    How to break up the monolith

    View Slide

  2. The Dos and Don’ts of CBRA
    How to break up the monolith (or not)

    View Slide

  3. Who am I?
    Rails dev for 8+ years, @theadamconrad

    View Slide

  4. What does CBRA mean?
    Component-Based Rails Architecture

    View Slide

  5. What does CBRA mean?
    Use Rails::Engine to glue stuff together!

    View Slide

  6. View Slide

  7. View Slide

  8. Rails::Engines

    View Slide

  9. How do we know when to switch?

    View Slide

  10. Dos of CBRAs

    View Slide

  11. Dos of CBRAs
    Think: complexity

    View Slide

  12. Dos of CBRAs
    Think: complexity
    1. You actually use
    microservices

    View Slide

  13. Dos of CBRAs
    Think: complexity
    1. You actually use
    microservices
    2. Testing isolation

    View Slide

  14. Dos of CBRAs
    Think: complexity
    1. You actually use
    microservices
    2. Testing isolation
    3. You know what you’re
    doing

    View Slide

  15. Don’ts of CBRAs

    View Slide

  16. Don’ts of CBRAs
    Pretty much any other time

    View Slide

  17. Don’ts of CBRAs
    Pretty much any other time
    1. Lots of communication
    between engines

    View Slide

  18. Don’ts of CBRAs
    Pretty much any other time
    1. Lots of communication
    between engines
    2. Dependency hell

    View Slide

  19. Don’ts of CBRAs
    Pretty much any other time
    1. Lots of communication
    between engines
    2. Dependency hell
    3. Because SOAs /
    Microservices are the
    “in thing”

    View Slide

  20. Thanks!
    Find me @theadamconrad
    https://userinterfacing.com/how-to-improve-on-naming-contexts-in-domain-driven-design/

    View Slide