Alright, so I took a bit of time to setup a sample Phoenix app and build out basic authentication and setup an Elm frontend just to push things a bit more. I found the setup itself relatively easy, and the microseconds service time is indeed true and as advertised. That being said, despite it's comparison to Ruby and Rails, I have not found Elixir and Phoenix very easy to grok. While Phoenix resembles rails in many ways, I did not find Elixir to be the easiest thing to just fumble around in for a while the way Ruby lends itself so nicely to.
So that being said, how do you resist the urge to fall back on what you know? I didn't I'm going to be moving forward with node since I have less time than I would like to make this project. When it comes to Elixir I will need to have some time to sit down and really learn the language for this one. Some languages lend themselves well to learning as you go, like Ruby, but Elixir development without understanding the fundamentals was moving painfully slow for me.
One other strike against Elixir that I found in my research was that the deployment and hosting of Elixir apps can be notoriously painful. This scared me quite a bit as I find nothing more frustrating that building an entire app locally and then needing to spend two or more hours working out a deployment pipeline.
In the end the problem of dealing with millions of concurrent connections is a problem I do not have at a projects outset. And at the point that my application reaches this need I'm probably going to be a very happy camper and be able to get some help scaling things up. Too many users is a good problem to have, and can be planned for at a later time. Best not to outrun your headlights. That and there are many many examples of software built in Node that scales just fine.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.