QCon is a practitioner-driven conference designed for technical team leads, architects, and project managers who influence software innovation in their teams.

Joe Armstrong, Father of Erlang

Joe Armstrong

Biography: Joe Armstrong

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 chief architect of the Erlang/OTP system.

In 1998 he left Ericsson to form Bluetail, a company which developed all its products in Erlang. In 2003 he obtained his PhD from the Royal Institute of Technology, Stockholm. The title of his thesis was "Making reliable distributed systems in the presence of software errors." Today he works for Ericsson.

He is author of the book "Programming Erlang: Software for a concurrent world": (Pragmatic Bookshelf - July 15, 2007).

Presentation: Building Highly Available Systems in Erlang

Track: Highly-available systems / Time: Wednesday 10:30 - 11:30 / Location: Fleming

High availability can be achieved though a careful combination of hardware, algorithms, operating systems, programming languages and middleware. Highly available systems can be anything from systems that are never expected to fail, like pacemakers or air-traffic control systems, to systems that might offer a degraded level of service for a short time, like websites or networked data-storage. In this talk I will concentrate on systems that are intrinsically large, intrinsically distributed, and intrinsically subject to change. These are systems with tens of thousands to millions of lines of code, and systems whose code must be changed without loss of service. I will discuss the general characteristics of such systems, then concentrate on how we can build them and what tools, methods and algorithms are needed to do so. I'll talk about Erlang, which was explicitly designed for building large distributed fault-tolerant systems and show how a lot of the pain of building such systems can be eliminated using Erlang.