-
Tom Preston-Werner
4.19
Description:
GitHub had a problem. I needed a fast, robust way for one Ruby process to make low-latency calls to another. I looked at Thrift and Protocol Buffers, but those solutions were too complex and not flexible enough to hang with Ruby. To solve the problem, I created BERT, BERT-RPC, and Ernie. BERT (Binary ERlang Term) is a new serialization format based on Erlang's external term format. It supports rich data types such as atoms (symbols), heterogenous lists, tuples, and binary data. BERT-RPC is a simple, dynamic RPC protocol built on top of BERT providing both synchronous and asynchronous requests, caching directives, streaming, and even callbacks. Ernie is an Erlang/Ruby hybrid server that makes it dead simple to write your RPC functions in Ruby. Together, these technologies power GitHub's new federated architecture and allow us to independently and horizontally scale both frontend and backend layers.
Links: Website
Comments on this Talk
kevwil,
22 Nov 12:47 AM
pretty well done presentation - some controversial, some wow - and awesome technology
britt,
22 Nov 08:43 PM
The technology was very cool, but I think I mostly enjoyed this presentation because Tom talked about a question I've had for a while "Why does GituHub build every @#$*ing thing themselves?"
Last Five Ratings
-
Marty Haught 4.0
-
britt
-
kend
-
Anthony Eden
4.29
-
paulanthonywilson

Despite starting the talk with a big block of (somewhat contradictory) pontificating, Tom pulled it out when explaining how he came up with, and implemented, BERT. The man is opinionated, and readily admits it. Overall the talk was solid, and his desire to share is palpable.