В настоящее время у меня есть VPS на HostingRails.com, и я довольно разочарован сервисом, поэтому я подумываю о переходе на linode. У меня есть три приложения rails (мое живое приложение, версия QA живого приложения и одноредмайн), работающий на Passenger на Apache, установленном phpbb и одной базе данных mysql, которая в настоящее время работает на моем VPS, что в общей сложности занимает около 400 МБ оперативной памяти.
Я пытаюсь понять, будет ли лучше получить узел на 720 МБ и просто засунуть все туда, или получить два узла по 360 МБ и иметь рабочий сайт на одном, а сайт QA и Redmine на другом (в таком случае, могли бы вы предложить две отдельные базы данных, по одной для каждого узла)? Мне предложили разделить мои приложения, но я не знаю, правда ли это; я полагаю, что если у меня есть один узел, если рабочему приложению нужно больше памяти, оно может взять 360 МБ, которые, вероятно, не будут полностью использованы моей установкой QA и Redmine.
Кроме того, в настоящее время мой SVN (1 активный проект, пара неактивных, два пользователя) размещен на Dreamhost, потому что я заранее оплатил план и оставил свой SVN там, вместо того чтобы перенести его на свой VPS. Повлияет ли перенос SVN на linode на ваш ответ?
решение1
С двумя узлами, хотя вы получаете тот же объем памяти, вы также получаете вдвое больше процессорного времени и токенов ввода-вывода.
SVN может работать в том же экземпляре Apache, что и Passenger, не сильно снижая производительность.
Также, вы можете рассмотреть другую настройку: один узел базы данных и один узел веб-сервера. Ни один из них не будет недоиспользован (в конце концов, Apache довольно тяжелый), и, если бы они находились в одном центре обработки данных, вы могли бы указать оба публичных IP-адреса на узел веб-сервера (Linode позволяет это), и позволить ему взаимодействовать с узлом базы данных через локальную сеть Linode (избегая квот передачи).
решение2
Из опыта предоставления управляемого хостинга для нескольких компаний на базе Rails, разделение базы данных и приложения всегда оказывалось успешным (как отмечает Фахадсадах).
Однако я бы не стал запускать Apacheиnginx на той же машине, особенно в среде vps с ограниченными ресурсами. Как уже было сказано, Apache сам по себе довольно тяжелый, но он может справиться со всеми вашими потребностями в Passenger, SVN, PHP. Поэтому я бы не стал добавлять nginx в этот микс. В конце концов, это еще одна часть программного обеспечения, которую нужно поддерживать (настраивать, обновлять/патчить и т. д.).
Кроме того, я лично склоненнетразмещать мой исходный код в той же установке, в которой работает мое приложение. Я вполне уверен в надежности и безопасности нашего кода, но если кто-то когда-нибудь сможет найти способ пройти через приложение и на сервере, у него будет полный доступ и к нашему исходному коду. И ваши данныеиВаши изменения кода — это, возможно, последнее, что вы хотели бы отдать в руки взломщикам...
Я знаю, что это бесстыдная реклама, но моя компания предлагает объединенный хостинг Redmine и SVN под брендомПланио. Должны быть и другие сервисы, такие как Planio, чтобы вы могли сделать выбор. Мой главный совет: попробуйте делегировать хостинг систем поддержки доверенным внешним сторонам и сосредоточьте свои усилия по хостингу на вашей основной вещи (т. е. вашем приложении).