Hoegbo

Hoegbo

Elixir Deployment Options

We are starting to wind down our local hosted cloud servers to go to something like heroic or similar.
So in order to decide I would like some input of the awesomeness that is this forum.

Does anyone have any experience of elixir deployment to some of the major names ?
Our applications range from trivial fire and forget apps , to heavy enterprise applications.
What would you chose and why ?


Related thread: Elixir Deployment Options - with GPU

Most Liked

sashaafm

sashaafm

I’ve got some experience in deploying Elixir and Phoenix apps in Digital Ocean and Amazon Web Services. The use case of both is quite different:

  • DO: Very easy and friendly to deploy. Simple options. Cheaper in general than AWS. I’d recommend for small apps.

  • AWS: Has many more options and features. Learning AWS can take a lot of time if you want to use it to its potential but it’s the way to go for large enterprise apps.

jswny

jswny

I prefer to use full-access VPS’s as opposed to things like Gigalixir/Nanobox/Heroku or any of those services. The reason is that even though there’s a lot more setup involved initially, once you have your app setup for deployment it’s usually pretty easy and quick from there on out.

Doing it in this way allows you to easily move from one provider to another if needed. Otherwise, you would have to extract certain deployment fragments from your Gigalixir/Heroku/other service configuration and then set the rest up manually anyway.

Also, I want the fine grained control over each component of my app, while still being able to run multiple apps on the same server, which most of those services don’t give you.

I personally use DigitalOcean as my provider and I use a $20/mo VPS. DO recently changed their pricing to match Linode/Vultr and the other guys so DO’s pricing is actually the same now where it lagged behind before.

I deploy my apps inside Docker only, so that everything is modular and I can add/remove/swap out different components of different apps at will, which is important to me since I have many apps to run on the same server.

If you want to see the comprehensive guide on how I setup my deployments, you can check it out on my forum thread.

P.S. Nothing against Gigalixir at all, they have a wonderful service and it makes everything way easier if you know you don’t need portability later, but this doesn’t really fit my use case, and I like using raw servers personally. Also, jesse is an awesome guy and I see him all over the place in relation to Elixir things so with Gigalixir you are in really good hands.

AstonJ

AstonJ

I’m based in the UK, so look at low-cost European companies such as Leaseweb, Redstation, Hetzner, Rapidswitch etc

If you are in the US there are loads of dedicated server hosts there - I would look at reviews on webhostingtalk.com as I haven’t used a US host myself for a while now, but I know there are lots of low-cost suppliers as bandwidth in the US is cheap.

It really depends on your budget when deciding on what to go for, more usually means better service not necessarily better/bigger server.

In terms of OS - I would use CentOS as it has been rock solid for me for the last 7 years. If hosting multiple sites/email etc, use a control panel such as Webmin - it will make your life much easier :slight_smile:

Where Next?

Popular in Discussions Top

blackode
Elixir Upgrading is so Simple in Ubuntu and It worked for me Ubuntu 16.04 git clone https://github.com/elixir-lang/elixir.git cd elixir...
New
WolfDan
After doing a port from a c++ library to my project in phoenix I’ve seen that I need a faster way to run this algorithm and I found this ...
New
arpan
Hello everyone :wave: Today I am very excited to announce a project that I have been working on for almost 3 months now. The project is...
New
Crowdhailer
I’ve been hearing much about the new formatter and it’s something I have been keen to try. I find examples buy far the most illuminating...
248 19365 150
New
CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
IVR
Hi all, I’ve seen a number of related threads in the past, but I’d still be very curious to hear an up-to-date opinion on this topic. I...
New
und0ck3d
Hello everyone! A few days ago I’ve created a topic here about how people were creating CMSs with Elixir and Phoenix. I’ve been studying...
New
MarioFlach
Hello, I want to share a project I’ve been working on for a while: https://github.com/almightycouch/gitgud Background Some time ago I ...
New
Qqwy
Looking at the stacks that existing large companies have used, WhatsApp internally uses Mnesia to store the messages, while Discord uses ...
New
kostonstyle
Hi all How can I compare haskell with elixir, included tools, webservices, ect. Thanks
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
chrismccord
As promised, the first release candidate of Phoenix 1.3.0 is out! This release focuses on code generators with improved project structure...
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
nsuchy
Hi. I’ve noticed that Windows Powershell has it’s own IEX command and you cannot access Elixir’s IEX due to the conflict. This isn’t a cr...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1144 54250 245
New
jaysoifer
Is there a way to rollback a specific migration and only that one (“skipping” all the other ones)? Would mix ecto.rollback -v 200809061...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New

We're in Beta

About us Mission Statement