We're starting a new project, version 2 of an application. Number of online users grows upto 8K at night.
The application is a social networking application with things like viewing other users profiles, liking photos, sending messages, live chat, etc. We'll deploy this application to a single dedicated server, or Linode VPS.
We have two options, Rails and Phoenix. Rest of the team (3 back-end guys) is equally familiar with both, only I'm a bit inclined towards Rails.
Which one of the two frameworks do you recommend?
I will give both sides but my answer over all is Phoenix hands down(my opinion).
Rails has more people using it and has more developed open source tools to work with. Ruby is a robust language with many great features but I find myself doing the can I fit this in one line dance too often. However Rails is the real issue since it has problems on the back end with user connections. If you plan on having server rendered I would stay away from Rails because it sounds like with a single server you might want to have the ability to have better load balancing.
Phoenix is new, it does not have all tons of open source projects that fix all the issues. However, it uses Elixir, a language that also makes use of Erlang. If you didn't know Erlang was invented by Ericsson a telecommunications compony so keeping open feed was most important. Also it runs on BEAM and you can easily implement multi core processing with elixir. It is definitely a language I would choose for a project that is about to go big and get many users. However I would use Scala for something like financial stuff for banks or stocks or ML. Elixir still does not have a "great" open source ML lib yet.
I hope this helps. If you would like to learn more about Elixir and BEAM let me know. BEAM and Erlang OTP really out class other languages in this realm. Also Elixir was created to be a smooth transition for Ruby programmers.