It's also interesting to see how much traffic being on the front of HN sends. So far it hasn't broken 200 requests in a minute (https://pbs.twimg.com/media/ECJVktXUEAE9kVN?format=jpg&name=...)
This is about 1/100th the traffic I load tested it to handle on a $5 Digital Ocean droplet (which I later upgraded to $10 due to TypeScript compilation using too much memory a different project).
Also, I completely forgot to set up any caching or any rate limiting on "articles" which are a new kind of thing on my site. Of course, it could easily be taken down with a DDOS.
But in the big scheme of things, this validates my belief that most people (including me) spend way too much time worrying about scalability in early stage projects!
(ps: bad grammar, on mobile)
I’ve dabbled in Django and it seems to solve some of those problems, but I also feel like web programming in an OO dynamic scripting language isn’t that far away from doing it in JS so I might as well learn something mind-blowingly new...
I’ve been exposed to functional programming in OCaml in a rigorous college course and absolutely loved it, how would you guys rate learning Phoenix + Elixir in my case?
I spent many years doing Python before getting talked into learning Clojure and it was incredibly eye-opening and made me a much better developer, so there is no bigger partisan than me for trying something completely different to your current skill-set. Give it a go!
I learned Phoenix + Elixir not too long ago and I felt quite productive with it after a few weeks with no formal functional programming experience. I started building a non-trivial app right from the start.
Here's how I tackled learning it in my spare time: https://nickjanetakis.com/blog/learning-a-new-web-framework-...
Especially if you've used ImmutableJS, I don't think you'll have a hard time with Elixir.
One thing I don't miss about Node is that there are a lot of choices different teams make differently. In Rails or Phoenix (and I'd assume Django), it's a lot more likely that you can jump into an existing project and mostly know where everything is.
Courtland has said before that he regrets going all in on making it a SPA instead of a more traditional back-end MVC. But he wanted to learn Ember and I can totally get that.
The name makes it quite hard to google for, without immediately diving into some React documentation :)
Between arbitrary individual functions you might encounter, there can be differences, but only in the sense that it could happen between Erlang and Erlang if the functions had different implementations or degrees of optimization or optimization choices.
Worth noting for prospective adopters is that you can seamlessly call Erlang functions from Elixir by adding a : prefix, such as :random.uniform(), and there's no weird overhead or surprises involved.
- all uppercase elixir atoms / module names adding "Elixir." prefix
- idiomatic Elixir code uses structs (sugar over maps), where Erlang uses records (sugar over tuples)
- some other idiomatic Elixir code has overhead over Erlang, for example access operator 
Is it possible to use (peerage)[https://github.com/mrluc/peerage] to setup autodiscovery between vms like you can in gcp?