Erlang and Ruby Roundup: 37Signals, Erlectricity
37Signals recently joined the group of companies using Erlang by porting the poller service of the Campfire chat system:
Last Friday we rolled out the Erlang based poller service into production. There are three virtual instances running a total of three Erlang processes. Since Friday, those 3 processes have returned more than 240 million HTTP responses to Campfire users, averaging 1200-1500 requests per second at peak times.
The Erlang code replaces a C based system:
It's safe to say the Erlang poller is pretty fast. It's also much easier to manage 3 Erlang processes than it was the 240 processes that our C poller required.
InfoQ reported previously about Erlang use in the Ruby space. EngineYard is one of the leaders in this area, with some of their tools and systems built in part with Erlang or on messaging systems written in Erlang.
Tom Preston-Werner (InfoQ has a video interview with Tom on GitHub and Erlang), talked about Erlectricity, a library that allows to connect Erlang and Ruby (slides from Tom's talk(PDF)).
Erlang's way of connecting to other languages and system works via a network protocol, and Erlectricity takes care of both the Erlang and the Ruby side, ie. mapping Erlang types to Ruby types and vice versa. The slides also contain information about BERT and BERT-RPC, which appear to be more efficient binary encodings for sending Erlang terms across the wire.
Tom also recently released the source for egitd, an Erlang-based git daemon, which GitHub used (although it recently switched to a hacked version of the regular git daemon).