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

Microservices, a bittersweet symphony

Microservices, a bittersweet symphony

Code is better served in small portions. Unfortunately most of the time we build systems consisting of a monolithic application.

Let's look at microservices and decide whether they're a good approach or not given the problem and resources at hand.

Presented at: RailsConf 2015

Sebastian Sogamoso

April 21, 2015
Tweet

More Decks by Sebastian Sogamoso

Other Decks in Programming

Transcript

  1. “A particular way of designing software applications as sets of

    independently deployable services” M. Fowler & J. Lewis
  2. No

  3. “If you can’t build a structured monolith, what makes you

    think micro- services is the answer!?” Simon Brown
  4. All services have an uptime of 99.9%. And you have

    40 services. The probability of something failing in a particular time period 96.1%. Which means there is around a 4% chance that something going wrong.
  5. “You need to able to make a change to a

    service and deploy it by itself without changing anything else” Sam Newman
  6. “I strongly believe that there is a law of conservation

    of complexity in software.” Michael Feathers
  7. “When we break up big things into small pieces we

    invariably push the complexity to their interaction.” Michael Feathers
  8. Go for microservices if they allow you to better manage

    the complexity of the system YOU are building
  9. PICS AND IMAGES CREDITS • Turner field panorama: https://www.flickr.com/photos/lulek/ 11729694316

    • Conway’s Law image: http://martinfowler.com/articles/ microservices.html • Minimal requirements image: http://martinfowler.com/articles/ microservices.html