This talk shows the intimate relationship between faults and scaling.
We argue that systems that are designed for fault-tolerance will be easy to scale. Achieving fault-tolerance requires things like non-shared memory, which as a side effect makes them easy to scale.
We discuss the history of fault-tolerant systems and define six underlying principles that any system must have in order to achieve a reasonable measure of fault tolerance.
We show how these six principles are implemented in Erlang.
Joe Armstrong designed and implemented the first version of Erlang at the Ericsson Computer Science Lab in 1986.
He has written several Erlang books.
Joe has a PhD in computer science from the Royal Institute of Technology in Stockholm, Sweden and is an expert in the construction of fault tolerant systems. Joe was the chief software architect of the project which produced the Erlang/OTP system. He has worked as an entrepreneur in one of the first Erlang startups (Bluetail) and has worked for 30 years in industry and research.
He is currently Adjunct Professor of Computer Science at the Royal Institute of Technology in Stockholm, and is a senior engineer at Ericsson.