2009-02-19 4 views
2

Моя компания размещает несколько отдельных, но связанных, умеренно удаленных веб-сайтов. Соответственно, необходим сервер производственной базы данных, сервер промежуточной базы данных, веб-сервер производства, веб-сервер постановки и т. Д. Мой вопрос заключается в том, должны ли мы инвестировать в физически отдельные серверы для каждой из наших потребностей, или мы должны объединить эти деньги и инвестировать в гораздо более высокий конечный сервер и виртуализировать все вышеупомянутые серверы? На каком пути вы, ребята, решаете, и почему?Разделенные серверы или виртуализация, что более эффективно?

+0

, а не _directly_, отвечая на ваш вопрос, многое из того, что можно найти в ответах на http://stackoverflow.com/questions/9749/what-kind-of-servers-did-you-virtualize-lately – hometoast

ответ

2

Это зависит от множества вещей, вот основные соображения.

Если у вас есть много серверов с низким и средним уровнем использования, виртуализация должна, как правило, экономить ваши деньги на оборудовании, мощности и в помещении. Однако есть переломный момент, основанный на накладных расходах самого VM-уровня. Честно говоря, вам придется поэкспериментировать, чтобы найти правильный баланс затрат/производительности. Я уверен, что поставщики VM будут рады помочь вам с математикой.

Недостатком является то, что виртуализация создает единую точку отказа. Если это окно терпит неудачу, у вас есть время простоя для всех ваших серверов. Наличие их раздельных дает гораздо меньше шансов на то, чтобы все сразу погрузилось.

0

Вы, безусловно, хотите физическое разделение между серверами разработки и производства. Вам никогда не придется беспокоиться о том, что что-то, что вы делаете в dev, может сбить машину, на которой размещено производство. И есть некоторые проблемы в разработке, которые действительно требуют либо жесткого сброса физической машины, либо смехотворной работы, чтобы избежать жесткого сброса.

Что касается производственного веб-сервера и производственной базы данных, вы не вводите новые точки отказа, виртуализируя их на одном компьютере, особенно если вы можете размещать статическую версию сайта на другом сервере. Для любого современного веб-сайта даже с умеренной сложностью, сбой базы данных - это сбой веб-сайта в любом случае.

+0

Дополнительно , используя виртуальные серверы, вы можете легко принимать и восстанавливать моментальные снимки, если вы загружаете среду разработки (или производства!), не перестраивая ОС, не переустанавливаете серверное программное обеспечение, не переустанавливаете приложения и т. д. и т. д. – HardCode

0

По моему опыту, для использования в условиях низкой или средней продолжительности использования виртуальной машины - путь, который вы можете использовать - если на нескольких умеренно мощных серверах вы получаете только один очень мощный сервер, вы сэкономите деньги, мощность и пространство и сделаете приложение быстрее на одном и том же потому что он работает на более быстром оборудовании.

У VM также есть те же самые приятные преимущества, если аппаратное сбое сервера не удается загрузить одну и ту же виртуальную машину на другом физическом оборудовании и продолжать работать, как ничего не произошло (у вас есть полные резервные копии, не так ли?), И вы можете возьмите копию фактического производственного сервера и запустите его отдельно на машине разработки, чтобы отладить эту досадную ошибку, которая появляется только в процессе производства.

Но я бы поставил серверы разработки (и, возможно, тестирование) на другую физическую машину, чем производство, вам нужно убедиться, что независимо от того, какую глупую ошибку вы делали в процессе разработки, она не снимает производственный сервер.

Смежные вопросы