Hoegbo

Hoegbo

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

Showing Posts 67 to 58

perezd

perezd

Found this through a Google search, did this ever get implemented on Gigalixir?

Note, I did find this: GitHub - Main-Proxy/main_proxy · GitHub
Which implies that this is the proposed solution.

brightball

brightball

The way I describe Heroku for Elixir is simply, just because Elixir has a feature doesn’t mean you have to use the feature. Basically the simple web app use case where the in memory stuff is really just caching and you can use the Redis adapter for channels.

Eventually, people will outgrow it but it’s pretty good for people just starting out. My blog still runs on the $7 hobby dyno with the free shared database and its survived a couple of hacker news front pages.

antonioparisi

antonioparisi

Aiven looks good to.

Aiven PostgreSQL

Aiven PostgreSQL combines the best open-source SQL database with global coverage on Google Cloud Platform, Amazon Web Services, Microsoft Azure, DigitalOcean, and UpCloud to provide fully-hosted and managed PostgreSQL solutions.

nsuchy

nsuchy

Heroku doesn’t support certain features in Elixir which I think prevents the language from doing many of the things that set it apart from other languages, to be more specific Deploying on Heroku — Phoenix v1.8.8 states that: Connections are limited, Distributed clustering is not possible, In-memory state such as those in Agents, GenServers, and ETS will be lost every 24 hours, and lastly Remote shells and remote observer are not possible. Because of these things I personally would prefer running my own nodes.

Most Elixir applications won’t get to the point multiple servers are needed and can be load balanced across a few very nodes. DigitalOcean has a 32 CPU Server with 64 GB of RAM one or two of those behind a load balancer should be more than enough for even the most demanding of applications.

mbuhot

mbuhot

nsuchy

nsuchy

If you only have a few apps that aren’t being used 24/7 Heroku is often free. (I.e. you don’t need to pay for extra hours).

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.

jesse

jesse

One possibility is to just point both of those subdomains at your gigalixir app. You’d run something like

gigalixir add_domain myapp api.myapp.com
gigalixir add_domain myapp frontend.myapp.com

Then update the DNS records for both subdomains. More details on setting up a custom domain here:

That should work, but it also might mean that frontend.myapp.com will respond to api requests unless you block it yourself.

We’re currently looking into implementing a way for a single umbrella app to listen on multiple ports. Not sure when that’ll be available though or what it’ll look like.

markdev

markdev

Hey @jesse, is there any documentation about setting up front-end services as subdomains?

Use case: I’d like to use Phoenix 1.3 on the back end at api.myapp.com, and have an elm client hosted on the same server, at frontend.myapp.com.

jesse

jesse

Hey @markdev, founder of gigalixir.com here in case you have any questions.

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New

Other Trending Topics Top

marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New
webofbits
Aludel - LLM Evaluation Workbench Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews