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

Modules instead of Microservies

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Modules instead of Microservies

Avatar for Benjamin Smith

Benjamin Smith

August 11, 2017
Tweet

More Decks by Benjamin Smith

Other Decks in Technology

Transcript

  1. MODULES • All code lives in the same repo •

    Modules define the boundaries and dependencies @benjamin_smith
  2. MICROSERVICES • Scaling • Shared data/behavior across apps • Different

    services requiring different tech stacks • Feeling cool @benjamin_smith
  3. How to create a service • Step 1: create a

    module • Step 2: create a service • Step 3: ??? • Step 4: profit @benjamin_smith
  4. module to microservice class Likes def self.create(…) # create like

    in DB Like.create!(…) end end class Likes def self.create(…) # make request to Like service Net::HTTP.post_form(…) end end @benjamin_smith
  5. –Martin Fowler “So my primary guideline would be don't even

    consider microservices unless you have a system that's too complex to manage as a monolith. The majority of software systems should be built as a single monolithic application. Do pay attention to good modularity within that monolith, but don't try to separate it into separate services.”