Erlang on Rumprun Unikernel aiding the Microservices Architecture

Neeraj Sharma
Director Engineering (Platforms) redBus

I am the author of porting Erlang to Rumprun unikernel. Rumprun unikernel can now run Erlang (Elixir or any BEAM VM based language) nodes in both isolated and clustered mode. Unikernels are special single address space software constructed by using library operating system. RumpRun unikernel is a great project which (in my view) opened possibilities to design in some unique ways while shifting away from the traditional operating system. Rumprun unikernel inherits a lot from NetBSD and keeps POSIX compliance as one of its key principles. Needless to say the project uses unmodified NetBSD drivers building on a very strong foundation. The choice of Rumprun unikenel ensures that the operating system just provides the bare minimum (a much lesser code base) while Erlang does most of the heavy lifting (which anyway it is good at).

Rumprun unikernel runs seamlessly on multiple platforms (namely: x86, x86_64, ARM) and under cloud hypervisors such as Xen and KVM (thereby running on Amazon EC2 as well). The existence of such projects adds another useful alternative for cloud architects to design the next generation of services.

Talk objectives:

This talk will start with an introduction to Erlang on Rumprun unikernel and try to rationalize its usefulness while designing Microservices in Erlang/OTP or Elixir. The goal is to encourage using unikernel as the platform of choice instead of using traditional operating system when deploying Erlang/OTP or Elixir applications

Target audience:

Erlang (Elixir) architects and engineers who are either interested or working in the realm of microservices architecture.


Neeraj is Director Engineering (Platforms) at redBus, previously at Vanu and Alcatel-Lucent. He has a bachelors degree (BTech) in Electronics and Communication Engineering from Indian Institute of Technology (IIT) Guwahati and a member of IEEE Computer Society. He has a passion for learning new technologies and working on open source projects. He has a varied interest ranging from low-level system development (embedded) to distributed and fault-tolerant systems. At present, he is working on a standalone Erlang packaging system, which will allow a single deployable image for the Rumprun unikernel (without any storage). This work will also provide an alternative strategy for deploying Erlang application in traditional operating systems.


GitHub: neeraj9

Twitter: @nsharma9

Back to conference page