Camille Fournier explains what projects ZooKeeper is useful for, the common challenges running it as a service and advice to consider when architecting a system using it.
Randy Shoup describes KIXEYE's analytics infrastructure from Kafka queues through Hadoop 2 to Hive and Redshift, built for flexibility, experimentation, iteration, componentization, testability, reliability and replay-ability.
Robert Virding describes how Erlang was developed to solve the concurrency and reliability requirements of telecommunications, dealing with challenges that are similar with those of cloud computing.
Blake Dournaee covers the often forgotten back-end architecture for mobile apps which should expose cross-platform APIs to mitigate some of the effects of mobile O/S fragmentation.
Garrett Smith discusses building reliable systems starting with lessons from Erlang, then outlining a set of principles and the practices for applying these principles in languages such as Ruby, Python, and Java.
Stephen Burton discusses how the people, processes, collaboration and tools employed in Formula 1 can be used to manage performance and reliability and ultimately achieve success by DevOps.
Michael Nygard shares essential Reliability Engineering techniques that can keep systems from falling apart, but the discipline has some limitations to be considered.
Blake Mizerany presents various ways that can lead to system failure in distributed systems and how to recover using Doozer, a highly available, consistent data store.
Steve Vinoski explains how to avoid some of the Erlang errors that can bring down a system starting from the premise that not all the crashes are welcome as the “Let It Crash” philosophy might suggest.
Arnon Rotem-Gal-Oz discusses creating a SOA implementation that maintains a good overall reliability in spite of using smaller and a larger number of components.
Rolf Russell & Andy Duncan discuss how to have rapid and reliable releases from the perspective of build, release, and devops, considering the relationship between the teams involved, the metrics needed to measure the performance achieved, the required skills, and the need to remove waste and bottlenecks.
Joe Armstrong explains through Erlang examples that message passage concurrency represents the foundation of scalable fault-tolerant systems. Some of his presentation’s nuggets are: using the wrong abstractions makes life artificially difficult; it’s not about objects, it’s about messages; no shared memory; messages enforce isolation if communication is asynchronous; it’s all about protocols.