Как развернуть сайт [Ruby on Rails] масштабируемым способом?

Я работаю над своим [первым] стартапом уже месяц, и пока он ' Возможно, до альфа-релиза останется хотя бы месяц, и я хочу знать, как правильно его развернуть. На сайте будет начальная высокая нагрузка (сеть + ЦП) для нового пользователя, поэтому я думаю о создании отдельного сервера / очереди для этого начального процесса, чтобы он не замедлял работу сайта для существующих пользователей.

На основании моих исследований, я сейчас склоняюсь к nginx + haproxy + unicorn / thin + memcached + mysql и развертываю его на Linode. Однако у меня нет предшествующего опыта ни в одном из вышеперечисленных; поэтому я надеюсь использовать опыт сообщества.

  • Кажется ли вышеупомянутая архитектура разумной? Любые предложения / статьи / книги, которые вы бы порекомендовали?
  • Линод - хороший выбор? Heroku / EY кажутся мне слишком дорогими (по крайней мере, пока у меня не будет достаточно доходов), но мне не хватает другого лучшего варианта? MediaTemple?
  • Есть ли хорошие предложения по архитектуре балансировки нагрузки? Я все еще читаю об этом.
  • Что лучше: иметь два отдельных экземпляра сервера Rails на двух разных линодах или запускать один экземпляр на линоде с удвоенной емкостью (с точки зрения ОЗУ / хранилища / пропускной способности)? С какого количества Linodes мне следует начать?
  • Какой дистрибутив Linux мне выбрать? (Linode предлагает 8 различных вариантов - http://www.linode.com/faq.cfm ) Есть ли какие-либо относительные преимущества / недостатки между ними для сайта Rails?

Прошу прощения, если любой из моих вопросы глупые или противоречивые; объясните это моей неопытностью.

14
задан Asif Sheikh 1 October 2010 в 15:35
поделиться