Я смотрю на те же две альтернативы, что и вы, для нескольких проектов.
Пока что лучшая бритва, которую я придумал, чтобы выбрать между ними для конкретного проекта, - это то, нужно ли мне использовать Javascript. Одна существующая система, которую я хочу перенести, уже написана на Javascript, поэтому ее следующая версия, вероятно, будет создана в node.js. Другие проекты будут реализованы в некоторой веб-платформе Erlang, потому что нет существующей базы кода для миграции.
Другое соображение заключается в том, что Erlang масштабируется не только на несколько ядер, он может масштабироваться до всего центра обработки данных. Я не вижу встроенного механизма в node.js, который позволяет мне отправлять другому JS-процессу сообщение, не заботясь о том, на какой машине он находится, но он встроен прямо в Erlang на самых низких уровнях. Если ваша проблема недостаточно велика, чтобы требовать нескольких машин, или если она не требует нескольких взаимодействующих процессов, это преимущество вряд ли будет иметь значение, поэтому вам следует игнорировать его.
Erlang - действительно глубокий бассейн, в который стоит погрузиться. Я бы предложил сначала написать автономную функциональную программу, прежде чем вы начнете создавать веб-приложения. Еще более простой первый шаг, поскольку вам кажется, что вам комфортно работать с Javascript, - это попробовать программировать JS в более функциональном стиле. Если вы используете jQuery или Prototype, вы уже пошли по этому пути. Попробуйте переключаться между чисто функциональным программированием на Erlang или одном из его аналогов (Haskell, F #, Scala ...) и функциональным JS.
Когда вы освоитесь с функциональным программированием, поищите одну из многих веб-фреймворков Erlang; вам, вероятно, не следует писать свое приложение напрямую для чего-то низкого уровня, например, inets
на этой поздней стадии. Взгляните, например, на что-нибудь вроде азота .