Fault Tolerance 101

Recorded at:

Summary
Joe Armstrong describes the foundations of fault tolerant computation and the basic properties a system should have in order to be able to function in an adequate manner despite the occurrence of hardware and software errors, summarizing the key features of Erlang and showing how they can be used for programming fault-tolerant and scalable systems on multi-core clusters.

Bio

Joe Armstrong is the principle inventor of the Erlang programming Language and coined the term "Concurrency Oriented Programming". He has worked for Ericsson where he developed Erlang and was the chief software architect of the project which produced the Erlang OTP system. He is author of several books, the latest being "Programming Erlang: Software for a concurrent world - 2'nd edition".

Software is Changing the World. QCon empowers software development by facilitating the spread of knowledge and innovation in the developer community. A practitioner-driven conference, QCon is designed for technical team leads, architects, engineering directors, and project managers who influence innovation in their teams.

When I started reading up on Erlang and the actor model a couple of years ago, I was surprised to find it to be exactly what I had imagined OOP to be when I read the theory of that in my early programming days.

I recently spent some time writing a (what I though to be) fairly simple distributed system in .NET, and found that most of the code revolved around fault tolerance (and it was not very pleasant). Will make sure to spend more time looking into Erlang (or maybe Elixir, or perhaps Pulsar in Clojure)