Henry Sun

Software Engineer at WhatsApp

Henry Sun has 4 years of experience designing highly distributed systems in Erlang at WhatsApp where he works on the distributed storage system that underlies WhatsApp messaging and WhatsApp Channels. During this time, he built and maintains WARaft, an Erlang implementation of the RAFT consensus algorithm geared towards the development of strongly consistent distributed storage solutions in Erlang. Previously, Henry Sun studied Computer Science at Caltech where he did research on compilers and operating systems design.

RAFT for database consensus at scale

Audience: Intermediate

One of the most difficult problems in distributed computing is consensus, getting participants to a distributed computation to agree. RAFT is a distributed consensus algorithm built around the simple property that no group can simultaneously have two simple majorities.

Join me in learning about RAFT, how it can be used to build databases, and the decision decisions we made when scaling WARaft, WhatsApp’s implementation of RAFT in Erlang, to support a message database for 2B+ users.


  • Learn what a consensus algorithm is and how a consensus algorithm like RAFT can get a cluster of nodes to agree with each other
  • Learn about how we adapted RAFT in WARaft to build a scalable and performant database


  • Anyone interested in distributed systems or databases
  • Basic familiarity with the actor model, state machines and concurrency will help
  • Examples will be in Erlang but will not require significant Erlang experience