Rocky Mountain Ruby 2016 - Kill "Microservices" before its too late by Chad Fowler



The title is of course tongue-in-cheek though he does elaborate on what he perceives as the primary drivers behind the microservices hype:

  • Embrace change
  • Impermanence is the key to a surviving system
  • The system is an asset
  • Code is a liability

Essentially he is advocating that replace-ability at the “tiny component level” is a key attribute to a successful system (interesting position in an industry that is often obsessed with reuse). This presentation could be seen as an extension of Goto 2014 - Keynote: Legacy - Chad Fowler (Systems Euthanizer). Whatever you may think of the talk as a whole, it is sure to contain some thought provoking tidbits.

Chad Fowler has been the CTO at 6Wunderkinder since 2013 but is also the (co)author of a number of Ruby/Rails books and The Passionate Programmer 2e (was My Job Went to India - 52 Ways to Save Your Job).

Should we adopt Dave's way of building applications as a series of components? (Dave's talk has now been added!)
Single Responsibility Principle - what does it mean to you and your Elixir apps?
Umbrella apps and internal microservices like communication
Are there any books that cover achitecturing applications?


Wow, really nice talk. First time I am hearing about impermanence. Thanks for sharing.


Kevlin Henney weighing in on the notion of discard-ability.

Not really sure though that in an OO environment obsessed with reuse people are ready to see:

So small that a single service can be readily discarded (if it can’t, it ain’t micro).

in the “Pro” column for microservices.

PS/Off topic: This is interesting even if you don’t have a C++ background: Kevlin Henney - Functional C++ (Caution: @48:30 possible manifestation of Virding’s First Rule of Programming).


####Dan North: Software that Fits in Your Head - Goto Amsterdam 2016-June-14

The talk essentially drives to the conclusion that a Replaceable Component Architecture is one of the “Big Ideas” behind Microservices - i.e. it is important to optimize for replaceability.


Chad Fowler’s RubyConf 2017 Keynote is a continuation of the established theme. This time the cell analogy threads throughout to highlight the idea of components for replaceability rather than reusability.

Various highlights:


This really resonates with me - and I think when more people cotton on to PragDave’s radical approach to development with Elixir, it’s going to be a h u g e selling point :slight_smile:


Haven’t read this yet but it may be of interest to readers of this thread…