DevOps' Swiss Army Knife for the BEAM

Csaba Hoch
WombatOAM Specialist @ Erlang Solutions

Erlang/OTP provides a rich platform that allows you to build, test, deploy and maintain distributed Erlang systems. What Erlang/OTP lacks are the runtime tools that are still usable in case of distributed Erlang systems. The built-in tools are real Swiss Army knives in the event of an ongoing outage once you have figured out a way to use them on a remote node (and have installed all dependencies). 

In this talk we give insight into the existing tools (etop, redbug, etc.) and highlight their strengths and weaknesses. We will show you how innocent looking commands (e.g. calling io:format/2 or tracing with redbug) can kill a node. 

Working with popular tools, we have realised that these tools should be reshaped to meet today's requirements such as ease of use and safety. Therefore, we extended the architecture of WombatOAM, an operation and maintenance tool for systems running on the BEAM virtual machine, to enable the wide variety of tools we wanted to support. We present this architecture, which is feature-driven, distributed and generic enough to drive the next generation of runtime tools.

Talk objectives:

  • Discover the capabilities of Erlang specific runtime tools.
  • Learn how to convert chaos into an architecture design. 
  • Explore a feature-driven distributed architecture. 

Target audience:

Developers having tired of patchworking, Support and Operations staff who want to efficiently recover from outages.


Csaba's first experience with Erlang was exploring Erlang QuickCheck and working in the RefactorErl (Erlang refactoring) project. He spent the next 4 years at Ericsson, where he participated in the development of NETSim, which is one of the largest Erlang programs ever written. Among other things, he developed and maintained NETSim's build&test system and gave NETSim user trainings.

At the beginning of 2013, Csaba joined Erlang Solutions. He has been working on WombatOAM, a new tool for monitoring, administrating and deploying Erlang systems. He is also the author of the Vim Erlang indentation and contributed to other vim-erlang projects.

GitHub: hcs42

Back to conference page