Erlang at CloudBees

Michael Neale has previously talked about the reliability aspects of Erlang at OSDC 2011.

As a system grows over time, the chance of it collecting esoterica increases - if there isn’t a “law” that says this - there should be !

At CloudBees we use a wide variety of tools to get things done, one of the more interesting ones which has served us well is Erlang.

Erlang was developed initially in the 80s: inspired by logic programming, parallel programming and with a clear aim of making non-stop reliable “carrier grade” systems for telcos.

To this day it is quite widely used to good effect, and has a growing community. Its resurgence in popularity in recent years was sparked by growth of multi core CPUs, but the real strength of Erlang is in reliable systems: this is often why people are “discovering” uses for it today.

At CloudBees we use it in a few places:

  • Agents: little semi-autonomous agents that look after what is running on a server
  • Taskmaster: a service for managing long-running tasks and retries (rate limiting, throttling, etc.)
  • Autoscale: track sliding windows of statistics, trigger scaling events
  • DNA: tracks “definitions” of servers - single source of truth for configuration

We also make use of some great tools that happen to use Erlang: RabbitMQ and CouchDB for Chef.

Coming up very soon our very own Garrett will be demonstrating his “Erlang powered X-Ray vision” by speaking at the Erlang Factory in San Francisco.

Give it a try!
Michael Neale, Elite Developer and Architect