Where/How to deploy my ash project

Hi folks, I'm new to ash and my app is getting very mature and reached at a point where i need to show to the people. But I'm wondering where and how to deploy a ash/elixir backend? My prev exp is with JS and we use an almost drag-n-drop deployment platforms railway/vercel/cf, etc
10 Replies
rellen
rellen2w ago
Fly
Existing Elixir Apps
Documentation and guides from the team at Fly.io.
Fly
Install flyctl
Documentation and guides from the team at Fly.io.
Zeeshan
ZeeshanOP2w ago
thanks for the recommendation. and for the production use, for enterprise usage, what is the ideal place to deploy ash backend with postgres? azure/aws/vps?
rellen
rellen2w ago
I've worked on Elixir/Phoenix systems, some of which used Ash, on Azure, AWS, Gigalixir, and Fly. In my experience, the big vendors are pretty reliable, while the PaaS ones were small/new and still working things out a bit. A big thing that Fly is behind on compared to say AWS is a reliable, managed database solution. (or has been behind on - I know they are working on it)
jakeprem
jakeprem2w ago
We're using Kamal for deployments and Hetzner for cloud VMs. Similar experience to Fly.io with a bit more manual config, but the reliability and cost of Hetzner.
Chaz Watkins
Chaz Watkins2w ago
Fly has managed Postgres now, but it’s a recent product they added. I’m using Fly and Supabase
Abu kumathra
Abu kumathra2w ago
I use the old nginx + systemd + self hosted postgres + let's encrypt + VPS not the most shiny but does the job pretty well. I generally have a deploy script that does all of the above. This way I don't pay vercel prices to have my apps deployed. The beauty of elixir is that you don't need WSGI and other hacks to have a real webapp
Zeeshan
ZeeshanOP7d ago
how easy is kamal to setup? did you face any trouble? i'm new to all things deployment. my past exp were all using those "one-click/one-command deploys" great! i also want to deploy to vps. i'm the sole dev in the team and i have now developed an ash backend with react frontend (it's an internal app, not to be used by public). now that i want to push it to production, the team is concerned about downtimes, app crashes, etc and has asked me to have a robust setup with 100% availability. for this reason, i dont want the app on fly.io at least for production. as for testing env, it should be fine. i'm thinking the app would work fine if i deploy it on a beefy server even if its hetzner or aws/azure. should i be looking at setting up load balancer, db replica, etc? am i overthinking or are these nice-to-have things?
Abu kumathra
Abu kumathra7d ago
how many users you would be impressed by the number of users a classic nginx + python can handle let alone something like the beam
Zeeshan
ZeeshanOP7d ago
to be registered: 250-300 users. 500 max. but at a single time, 20-50-100 users users max will be using the system
Abu kumathra
Abu kumathra7d ago
I mean you could deploy and then load test it to validate everything is working as expected

Did you find this page helpful?