Could someone with experience deploying Elixir on Render, Gigalixir and Native Cloud (AWS/GCP/Azure) provide a high level overview of the tradeoffs/advantages of picking one over the other? Specifically wrt clustering and OTP
Cross comparing container vs bare metal also welcome (despite having read the extensive debates on the topic and having decided personally to just use containers to build the release)
Tried to find this comparison to no avail. This will be greatly helpful for people getting started.
I use Gigalixir and Render these days and in the past have used k8s quite a bit.
Gigalixir:(My 1st choice)
-Easy to setup
-Built for Elixir so clustering etc is cooked in, the staff know elixir well
-db options are fairly basic, vertical scaling only
-wildcards available but not available in the UI and require self managed certs
-no addons so you have to manage support services elsewhere
-Easy to setup
-pricing is good
-has wildcard domains(this is why I use them for some projects otherwise I’d stick with gigalixir for everything)
-same db issues as gigalixir
Heroku:(Do not recommend)
-Easy to setup
-Lots of info online about working with it
-Lots of addons meaning I can cover most 3rd party needs in a single interface and with single billing
-db system allows for lots of flexibility, horizontal scaling
-Nodes restart regularly
-times out requests after very short periods of time
-easy to do wildcard domains
-Clustering is easy
-A lot of work to maintain
Awesome answer, thanks for the contrib.
I’m not super proficient in devops and may be missing something but what about deploying on bare metal and manually clustering? Would that actually be more work to maintain than k8s? (may be getting off my own topic here) (also just ferociously edited so sry bout that : )
k8s between PaaS and bare metal. I find deploying to k8s less of a headache than bare metal because you’re just building docker images for the most part.
And yeah clustering is a bit more work on baremetal than k8s but not noticeably different. It’s “automatic” on k8s though.
I have done bare metal in the past but these days with the quality of PaaS available I’d rather outsource the admin side to someone else.
Thanks for sharing. I need wildcard support for my one project too, so that’s good to know.
Hey @sanswork, @zorn, thanks for the great post! We (gigalixir.com) can do wildcard domains, but you have to bring your own wildcard certificate and have us install it for you manually. We’ve done this for a few customers now so let us know if you need any help with that. See the note here that mentions wildcards.
You are right I remember now we chatted about it. I can’t edit my post anymore to correct that sorry. But I’ll ask the mods to add a note to “wildcard available but not available through the UI” which is more correct but still a con for me.
I ended up moving apps that needed it to render though since I didn’t want the overhead of self managing certs though tbh.
Edit: it’s been updated now.