Presentation: Tweet"Building Highly Available Systems in Erlang"
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.Download slides