How to migrate a web API to Erlang, change databases, and not have your customers notice

By Erlang Central | Published: March 26, 2012

In this case study, we’ll describe how and why we ported Opscode’s high-volume Hosted Chef API from Ruby/CouchDB to Erlang/MySQL and share insights on:

– Writing high-volume web APIs in Erlang with webmachine
– Scripting with gen_fsm to coordinate loosely coupled back-end systems during a datastore migration.
– Performance and operational comparisons between Ruby/Erlang and CouchDB/MySQL

Talk objectives: Share our experience and results of porting a web service from Ruby to Erlang. Describe how we used Erlang to coordinate a datastore migration and the impacts of switching from CouchDB to MySQL. Discuss operations related characteristics of web services written in Erlang

Target audience: Anyone considering writing or porting a web service to Erlang. Engineers interested in operational aspects of Erlang-based web services


  • Seth Falcon

    Development Lead at Opscode

    Seth Falcon is a Development Lead at Opscode and has been busy porting Opscode's Hosted Chef API to Erlang. He is a committer to The R Project, an Erlang enthusiast, and has experience developing software for bioinformatics as well as high-volume web APIs.

    Seth Falcon

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community