AstonJ
What kind of server/infrastructure are your Elixir apps hosted on?
We get quite a few hosting related questions, so I wonder whether it might be helpful if we can have a thread that talks about the kind of production set-ups everyone is using?
Do you use a dedicated server? VPS? The Cloud? Or…?
Most Liked
jesse
I use gigalixir.com, but I’m the founder so most likely biased
happy to answer any questions about it.
fnux
I’m managing the infrastructure of a small startup developing a phoenix application. Our main host is a dedicated server serving as dom0 (xen hypervisor, dns server, firewall, vpn) hosting the following VMs:
- Production
- Staging
- Internal services (gitlab, …)
- Monitoring (Icinga, munin, …)
- Critical services (dns, mail, certificates, ldap, …)
Backups are managed from a remote server using rsnapshot and barman (for postgres).
The phoenix application is built and tested by gitlab-ci. A merge to the deployment branch automatically builds the application for production and deploys it to the staging environment. If everything went fine, the repository’s administrator can manually trigger the final job of the pipeline to deploy to production [0]. We build the release using distillery (+ conform): we don’t have (and don’t want!) elixir installed on the production host [1].
All our hosts run debian and we don’t use containers [2] for now : the overhead is too high for the current scale of our infrastructure/services. Don’t use containers unless you need to, they add a layer of complexity and often create as many problems as they solve, if no more.
It’s a basic overview, feel free to ask for details (software, config, scripts, …) ![]()
[0] There are a few more checks not relevant for this overview (versions, configuration, …)
[1] If elixir, mix & co are installed on your production host, you’re most likely doing it wrong
[2] Except for gitlab-ci
Popular in Discussions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









