Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploy Erlang Application

Tags:

sockets

erlang

I would like to run Erlang application on a centOS server for stress testing. I would like to know what I must accomplish to deploy a Erlang application before I send it to the server admin to install and run.

What will I need to tell my admin to properly run an Erlang app on a server? (Basically how can I send him a file and give him an really stupid easy instructions to install it?)

Is their a way to send my app in a executable format that the admin can easily install with? Kinda like PyPy?

How can I perform code swapping? Will the app need to be in it's code state still in order to do this?

I would appreciate any help to make this process easy. Thank you!

For anyone just passing by: Even though this is my first Erlang app, I highly recommend anyone wanting to build a easy to scale server user Erlang. The benefits are amazing, if you know how to use Erlang properly.

Cheers!

like image 658
ajm113 Avatar asked Feb 28 '15 01:02

ajm113


1 Answers

The usual way of deploying an Erlang program (I'm avoiding the word application here, as it's somewhat ambiguous in an Erlang context) involves building a release (see this for some background). A release is essentially a packaging of your Erlang code (which often consists of multiple applications - hence the ambiguity) and the parts of the runtime system required to run it. The Erlang release system was designed with code upgrades in mind.

If you are using Rebar to build your program, you may find this article helpful. In addition to describing how to build a release (the process is a bit tricky) it also explains how you can deploy an upgrade.

A similar guide is also available for users of erlang.mk. If you're not using one of them already, or a comparable build tool, I strongly encourage you to do so as it makes release handling much less painful.


You may also find the answers to this question helpful. They list some additional options.

like image 113
Martin Törnwall Avatar answered Sep 21 '22 23:09

Martin Törnwall