5 ms·
Have you tried Elixir/Phoenix framework?
by ocean3 11y ago
Have you tried Elixir/Phoenix framework?
- vegancap 11y agoNot yet, I've got as far as reading the Elixir docs start to back, I really enjoyed what I saw, I'm yet to have a play around with it though. I'm hoping to this weekend :)
- commentzorro 11y agoI looked at it a while back. Even played around with Elixir, which I liked as a language quite a lot. But the deployment and configuration for Elixir/Phoenix/Ecto was pretty horrendous. Lots of dependencies, lots of tweaking, I think even NPM was required too?! I do have fun bashing Go, but I also use it. It's too practical not to. And the Go team, above all other of the latest wave of language that are ready for production, got that 100% right. I just can't overstate how simple Go makes setup, deployment, and updates. And how complex Elixir is in comparison. I wish Elixir et al. could have a zero dependency, zero external configuration, and single/xcopy file deployment too.
- ocean3 11y agoUsing exrm its a very simple setup. You get a deployable tar file which gives you the ability to migrate up and down as well. The only issue i have is wrt to running migrations on deploy server. Go is very good for services. But i didn't find any mature libraries like Phoenix.
- commentzorro 11y agoExrm looks good for updating an already established application. Doesn't look like it does anything for the initial setup and configuration of a new system though. For me, the ultimate test is can I copy my application to a flash drive, walk it to a new clean system, and "paste" it to that new system. Go really does let me do that. > But i didn't find any mature libraries like Phoenix. Yup. But then I tend not to need larger frameworks with my Go apps. Like you allude to, Go apps tend to be less monolithic.
- IanCal 11y ago> For me, the ultimate test is can I copy my application to a flash drive, walk it to a new clean system, and "paste" it to that new system. Go really does let me do that. That used to be the case for erlang deployments that looked pretty similar, and Exrm looks like it does the same thing: https://hexdocs.pm/exrm/extra-deployment.html https://hexdocs.pm/exrm/extra-deployment.html There are five stages to creating and deploying a first release. The first is just generating it, the next three are for moving the release to a new place and the third is just decompressing it. Live upgrades/downgrades seem pretty similar: https://hexdocs.pm/exrm/extra-upgrades-and-downgrades.html https://hexdocs.pm/exrm/extra-upgrades-and-downgrades.html
- commentzorro 11y agoClearly I'm not as up to speed as I might be. How do I avoid installing and configuring Erlang, Elixir, Phoenix, etc. on each machine I want to "paste" to? How do I bundle all these into one extract and go package?
- ocean3 11y agoThe tar contains erlang runtime. It has config file as well which can edited to change the setting.
- commentzorro 11y ago