Open SimonLab opened 6 years ago
Hi @SimonLab, great Question! 👍
Agree 100% that Heroku is definitely not our "long term" solution for deploying the app. (this is based on the excessive cost of their PostgreSQL and "Web Dynos" ...) In the short-run, we don't need "lots of connections", clustering or ETS. We've "survived" without SSH access to dynos in the past, no reason it should stop us now ...
https://gigalixir.com created by Jesse Shieh @jesseshieh https://www.linkedin.com/in/jesseshieh
is (as it's name suggests) focussed on Elixir app deployments and
for this niche it has a compelling value proposition:
However we can already get "hot upgrades", "Phoenix Channels" and SSH Access
from any other host using Distillery for deployment.
My only "concern" is the cost:
$10 per 200mb of Memory seems expensive (on the surface...)
Also, it's unclear what the performance of their PostgreSQL DB will be. 🤔
I'm happy for a "Spike" to be done to try out Gigalixir provided we take detailed screenshots. How long do you estimate this will take? This looks like a good place to start: https://github.com/gigalixir/gigalixir-getting-started
By far the biggest advantage of using a dedicated platform like Gigalixir is the Technical Support: Having someone we can email for help when we are having trouble with our deployment is easily worth the additional cost. And, let's face it, the "servers" are going to be an "insignificant" cost during MVP.
I like the simplicity of the interface on DO. They have the two main
services we need for this App:
https://www.digitalocean.com/products/droplets/
https://www.digitalocean.com/pricing
https://www.digitalocean.com/products/spaces
I'm really not a "fan" of the complexity AWS has created with their insane number of services! However, they do have a few that I find useful, specifically:
main
costs: bandwidth) see: https://github.com/dwyl/github-backup/issues/10The only real "must" from AWS is sending emails which we will want to do to confirm the signup. But that's one of the last things we need add and we can send them from any host, so hosting on AWS is not a "requirement" for now.
Another option is Linode, which we are using for hits.dwyl.com see: https://github.com/dwyl/learn-devops#how It's cheap and has good UI but no "S3 equivalent" so I think we can "rule it out" for this project.
Hey guys, founder of gigalixir here in case you have any questions. Also we're happy to send you a pull request to get you started since you are open source. Our postgres instances are actually just Google Cloud SQL postgres instances.
@nelsonic @simonlab - what's the conclusion on this one? Are we sticking with heroku until further notice or do we want to make a change now/soon?
@Cleop we can use Heroku while we are building the MVP. 🚀
Once we feel the app is ready to be used by us and our clients we should re-visit. 👍
I like the idea of trying Gigalixir
the only "concern" is we would need to re-write some code for Google Cloud. (specifically S3 and SES code)
From an MVP perspective Heroku is an easy way to deploy application and I think for a first step we should deploy with it.
Howerver there are some limitation using Heroku with Elixir/Phoenix (https://hexdocs.pm/phoenix/heroku.html#limitations):![image](https://user-images.githubusercontent.com/6057298/36393473-a4fd7956-15a7-11e8-8df9-2f720fb2643f.png)
So when the app will be used by more users we might need to find an alternative, AWS, DigitalOcean, Gigalixir?