Ruby Conf 2013 - Raft: Consensus for Rubyists by Patrick Van Stee

Channel:
Subscribers:
42,400
Published on ● Video Link: https://www.youtube.com/watch?v=IsPxhZ2IsWw



Duration: 31:53
4,195 views
29


Consensus. It's not anything new. In fact, there have been great papers and discussions on the topic since the late 80's. But this year, a new consensus algorithm was written up in a paper titled, "In Search of an Understandable Consensus Algorithm". This is actually pretty rare in academia -- a paper, about a complex topic, that takes a systems approach to describing an algorithm. Not only do they give you a cheat-sheet on what RPC calls you'll need, but the entire algorithm is focused on being understandable first, which is something I think a lot of rubyists can appreciate.

I've always thought one of the major themes in the community was to focus on making software fun. Not only telling whimsical stories about foxes who like bacon or naming gems named after 90's cartoon characters, but making an effort to break problems down into small, digestible pieces and delivering them in the most practical way possible. Describing the Raft algorithm is a chance to get rubyists excited about what's going on in the distributed computing world and academia in general.

So what all do I want to teach everyone? The core concepts behind consensus, the three parts that make up the raft algorithm (consensus, state machine, and replicated log) with a toy implementation in ruby, and, most importantly, where to apply it in the real world (replacing redis, distributed configuration, and database failover). But I also have an ulterior motive, to use this unique paper to bridge the gap between academia and ruby, both making understandability more important in the education community and bringing more interesting complex projects to ruby.

Help us caption & translate this video!

http://amara.org/v/FG4t/




Other Videos By Confreaks


2013-12-05Ruby Conf 2013 - API design for gem authors (and users)
2013-12-05Ruby Conf 2013 - Mangling Ruby with TracePoint by Mark Bates
2013-12-05Ruby Conf 2013 - Build your own Ruby-powered Arcade Machine!
2013-12-05Ruby Conf 2013 - That's Not Very Ruby of You by Ernie Miller
2013-12-05Ruby Conf 2013 - The tricky truth about parallel execution and modern hardware
2013-12-04Ruby Conf 2013 - Thinking about Machine Learning with Ruby by Bryan Liles
2013-12-04Ruby Conf 2013 - Recommendation Engines with Redis and Ruby by Evan Light
2013-12-04Ruby Conf 2013 - Extreme Makeover: Rubygems Edition by André Arko
2013-12-04Ruby Conf 2013 - Extending Gems - Patterns and Anti-Patterns of Making Your Gem Pluggable
2013-12-04Ruby Conf 2013 - Ruby On Robots Using Artoo by Ron Evans
2013-12-04Ruby Conf 2013 - Raft: Consensus for Rubyists by Patrick Van Stee
2013-12-04Erlang DC 2013 Ranking Games and Scheduling Jobs by Jesper Louis Andersen
2013-12-04Ruby Conf 2013 - Rapid Game Prototyping with Ruby by Michael Fairley
2013-12-04Ruby Conf 2013 - The Future of JRuby by Charles Nutter and Thomas Enebo
2013-12-03Ruby Conf 2013 - Unleash the Secrets of the Standard Library with ...
2013-12-03Ruby Conf 2013 - How to control physical devices with mruby
2013-12-03Ruby Conf 2013 - The Big Picture by Jim Weirich
2013-12-03Ruby Conf 2013 - A Lightweight SOA Framework using Ruby, Apache Thrift and AMQP
2013-12-03Ruby Conf 2013 - Preferring Object-Orientation to Metaprogramming
2013-12-03Ruby Conf 2013 - Test Driven Neural Networks with Ruby by Matthew Kirk
2013-12-03Ruby Conf 2013 - Advanced Concurrent Programming in Ruby