In this talk, using the Erlang hacker's semi-official motto "Let it Crash!" as a lens, I'll speak to how radical simplicity of implementation, straight-forward runtime characteristics and discoverability of the running system lead to computer systems which have great success in networked, always-on deployments.
I will argue that while Erlang natively implements many features which aid the construction of such systems--functional programming language semantics, lack of global mutable state, first-class networking, for instance--these characteristics can be replicated in any computer system, as a part of initial design of new systems or the gradual evolution of an existing project. I'll discuss common design patterns and anti-patterns, using my own work at AdRoll and project experience reports from a variety of fields--both successes and failures--to advance my argument.
This will be a very practical talk and will be accessible to engineers of all backgrounds.
83. 0. The network is reliable.
1. Latency is zero.
2. Bandwidth is infinite.
3. The network is secure.
4. Topology doesn’t change.
5. There is one administrator.
6. Transport cost is zero.
7. The network is homogenous.