Моя компания размещает несколько отдельных, но связанных, умеренно удаленных веб-сайтов. Соответственно, необходим сервер производственной базы данных, сервер промежуточной базы данных, веб-сервер производства, веб-сервер постановки и т. Д. Мой вопрос заключается в том, должны ли мы инвестировать в физически отдельные серверы для каждой из наших потребностей, или мы должны объединить эти деньги и инвестировать в гораздо более высокий конечный сервер и виртуализировать все вышеупомянутые серверы? На каком пути вы, ребята, решаете, и почему?Разделенные серверы или виртуализация, что более эффективно?
ответ
Это зависит от множества вещей, вот основные соображения.
Если у вас есть много серверов с низким и средним уровнем использования, виртуализация должна, как правило, экономить ваши деньги на оборудовании, мощности и в помещении. Однако есть переломный момент, основанный на накладных расходах самого VM-уровня. Честно говоря, вам придется поэкспериментировать, чтобы найти правильный баланс затрат/производительности. Я уверен, что поставщики VM будут рады помочь вам с математикой.
Недостатком является то, что виртуализация создает единую точку отказа. Если это окно терпит неудачу, у вас есть время простоя для всех ваших серверов. Наличие их раздельных дает гораздо меньше шансов на то, чтобы все сразу погрузилось.
Вы, безусловно, хотите физическое разделение между серверами разработки и производства. Вам никогда не придется беспокоиться о том, что что-то, что вы делаете в dev, может сбить машину, на которой размещено производство. И есть некоторые проблемы в разработке, которые действительно требуют либо жесткого сброса физической машины, либо смехотворной работы, чтобы избежать жесткого сброса.
Что касается производственного веб-сервера и производственной базы данных, вы не вводите новые точки отказа, виртуализируя их на одном компьютере, особенно если вы можете размещать статическую версию сайта на другом сервере. Для любого современного веб-сайта даже с умеренной сложностью, сбой базы данных - это сбой веб-сайта в любом случае.
Дополнительно , используя виртуальные серверы, вы можете легко принимать и восстанавливать моментальные снимки, если вы загружаете среду разработки (или производства!), не перестраивая ОС, не переустанавливаете серверное программное обеспечение, не переустанавливаете приложения и т. д. и т. д. – HardCode
По моему опыту, для использования в условиях низкой или средней продолжительности использования виртуальной машины - путь, который вы можете использовать - если на нескольких умеренно мощных серверах вы получаете только один очень мощный сервер, вы сэкономите деньги, мощность и пространство и сделаете приложение быстрее на одном и том же потому что он работает на более быстром оборудовании.
У VM также есть те же самые приятные преимущества, если аппаратное сбое сервера не удается загрузить одну и ту же виртуальную машину на другом физическом оборудовании и продолжать работать, как ничего не произошло (у вас есть полные резервные копии, не так ли?), И вы можете возьмите копию фактического производственного сервера и запустите его отдельно на машине разработки, чтобы отладить эту досадную ошибку, которая появляется только в процессе производства.
Но я бы поставил серверы разработки (и, возможно, тестирование) на другую физическую машину, чем производство, вам нужно убедиться, что независимо от того, какую глупую ошибку вы делали в процессе разработки, она не снимает производственный сервер.
- 1. Что более эффективно, atan2 или sqrt?
- 2. Умножение или если: что более эффективно?
- 3. Что более эффективно: двоичный или логический &&
- 4. Что более эффективно: конкатенация строк или замена?
- 5. Содержит или для петли, что более эффективно?
- 6. Запросы LINQ или SQL. Что более эффективно?
- 7. Что более эффективно, побитово или проверка равенства?
- 8. Что более эффективно: myType.GetType() или typeof (MyType)?
- 9. Что более эффективно i ++ или ++ i?
- 10. Android - Что более эффективно?
- 11. Что более эффективно/элегантно?
- 12. Что более эффективно? (веб-дизайн)
- 13. Что более эффективно? если заявление
- 14. Что более эффективно и почему?
- 15. Что более эффективно? «Если что-то» или «Хэш-карта»?
- 16. Управление контуром, что более эффективно
- 17. Локальная переменная функции или внешняя глобальная переменная: что более эффективно?
- 18. В python, что более эффективно? Изменение списков или строк?
- 19. Что более эффективно, SQL или плоский доступ к файлам?
- 20. Сохранение значений в web.config - appSettings или configSection - что более эффективно?
- 21. Что более эффективно, добавив односимвольную строку или символ?
- 22. Что более эффективно в этом случае? LINQ Query или FOREACH?
- 23. MYSQL Несколько запросов или один запрос - что более эффективно
- 24. Что более эффективно/дешевле, кастинг или вызов метода?
- 25. Что более эффективно? Больше ядер или больше процессоров
- 26. Что более эффективно? Сгенерировать каждый tr в javascript или php?
- 27. Что более эффективно: Словарь TryGetValue или ContainsKey + Item?
- 28. Что более эффективно: vector.clear() или if (vector.empty()) clear() ;?
- 29. Что более эффективно? mysql subselect или php-переключатель?
- 30. Что более эффективно: char str [] или char * str?
, а не _directly_, отвечая на ваш вопрос, многое из того, что можно найти в ответах на http://stackoverflow.com/questions/9749/what-kind-of-servers-did-you-virtualize-lately – hometoast