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

Smash the Monolith: Refactoring Rails Apps with Services and APIs

Smash the Monolith: Refactoring Rails Apps with Services and APIs

Coraline Ada Ehmke

July 21, 2013

More Decks by Coraline Ada Ehmke

Other Decks in Technology


  1. Change Gets Harder Over Time Relatively Easy Delegate If Possible

    Take a Sick Day KILL IT WITH FIRE Difficulty of Change Time
  2. “Most software eventually degrades to the point where someone will

    declare the design to be unsound.” Uncle Bob Martin
  3. A Values-Based Approach Culture of innovation + best practices +

    solid design principles = better architecture?
  4. Domain Objects HTTP Command Line Testing Messaging Persistence Monitoring Sinatra

    Cron Test Unit Beanstalkd Postgres Honey Badger Rails Rake RSpec Rabbit MongoDB New Relic
  5. Write programs that do one thing and do it well.

    Write programs to work together. Write programs to handle text streams, because that is a universal interface. Doug McIlroy, Bell Labs CSRC HTTP
  6. What is a legacy app? Age is not measured in

    months or years or versions.
  7. A Small App Ecosystem Consumer App Internal App 1 Internal

    App 2 Persistence API Messaging API Reporting API Dashboard App