4 ms·
Not a perfect choice of terms I freely admit. In my own experience, I last used non-virtual, mutable, long-lived servers over 8 years ago. Since then it's been
by jelder 9y ago
Not a perfect choice of terms I freely admit. In my own experience, I last used non-virtual, mutable, long-lived servers over 8 years ago. Since then it's been a progression further away from that style: PaaS, immutable infrastructure, Heroku, and currently a mix of AWS Lambda and Docker.
I'm excited to try Elixir but from what I've read (e.g. https://medium.com/mint-digital/elixir-deployments-on-aws-ee787aa02a9d https://medium.com/mint-digital/elixir-deployments-on-aws-ee..., http://engineering.pivotal.io/post/how-to-set-up-an-elixir-cluster-on-amazon-ec2/ http://engineering.pivotal.io/post/how-to-set-up-an-elixir-c...), much of my recent experience in running production apps at scale won't apply to Elixir/Phoenix.
- brightball 9y agoYou can deploy it exactly the same way as anything else, it's just a matter of being willing to sacrifice some of the features if necessary. You don't necessarily even need each of the features on each project so it's entirely reasonable to deploy exactly like you would anything else. There's a Redis adapter for Phoenix channels that you can use in environments like Heroku where clustering might not be an option. If you want to use built in Mnesia database on an immutable or cluster, attach block storage and configure it to store to that disk so you can remount when you deploy your immutable image. Hot reloading is the only one where you NEED mutable servers.