You may be familiar with 37 Signals, the guys who brought us Ruby on Rails, Campfire, Basecamp, among other products. Mark makes a wonderful case for using the right tool for the job in this “Nuts & Bolts” post, on how the Campfire internals work better with Erlang.
Campfire is a web based messaging/chatroom system that used a C-based polling system to determine if messages needed to be sent to connected browsers. The team replaced 240 separate C processes with 3 Erlang processes, and they explain how and why here.
Note that when they say 3 erlang processes, they mean 3 erlang _nodes_.
1 erlang node corresponds to 1 system process, right?
Exactly right, Charlie. In the case of Campfire we have 3 nodes running as three beam.smp processes on three separate KVM virtual machines.