From the "Build Stuff" event of April 2017.
Talk begins at 9:45.
Highlights of the talk:
27:00 Placing a network between modules simply to enforce programmer discipline
29:05 There is other levels of isolation I can go to. I can run a docker container per service. That's the coolest stuff right? What that means is I can make it work on my machine so I send my machine to production.
29:52 Now, one thing that's very useful is I don't necessarily want to make this decision up front. And I don't necessarily want to make the same decision in dev as in production. I may want in dev to have a different way that we run things, why? because bringing up 19 docker containers on your laptop is not very much fun. I may prefer to host everything inside a single process to make debugging and such a lot easier when I am running on dev in my laptop. Whereas in production we may go off to multiple nodes.
34:16 If you have maintenance windows, why are you working towards getting rid of your maintenance windows? Is this a business drive or is this you just being like C.V. driven development?My notes:
Unfortunately his shrieky voice makes him sound like he is bitching about things, which in a sense he is, but it would help his cause to deliver his criticism in a more palatable tone. Also, in order to make his point about microservices being nothing new he seems to disregard statelessness.
Resources referenced in the talk:
https://en.wikipedia.org/wiki/Queueing_theory
https://en.wikipedia.org/wiki/π-calculus
https://en.wikipedia.org/wiki/Actor_model
Leslie Lamport - Time, Clocks, and the Ordering of Events in a Distributed System
(available on the interwebz)
C.A.R. Hoare - Communicating Sequential Processes
(available on the interwebz)