Хостинг ASP.NET на виртуальных серверах, работающих на VMWare

Моя компания управляет несколькими международными веб-сайтами по продаже страховых продуктов. Наша текущая установка - это веб-ферма с несколькими веб-серверами с балансировкой нагрузки, на которых размещены наши приложения ASP.NET. Бэкэнд - это единственный, но мощный SQL Server. (все в одном дата-центре)

Наши сетевые администраторы хотят перейти на виртуальные серверы, работающие на VMWare.

Сценарии могут быть

  1. Веб-ферма: несколько стандартных веб-серверов, балансировка нагрузки (текущая настройка), состояние сеанса на SQL Server
  2. Виртуальная веб-ферма: несколько виртуальных серверов, балансировка нагрузки на одном физическом хосте VMWare, состояние сеанса на SQL Server 2.a, как указано выше, но с несколькими физическими хостами.
  3. Единый виртуальный веб-сервер: один большой мощный виртуальный веб-сервер, балансировка нагрузки не требуется, состояние сеанса может сохраняться в процессе.

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

  • Есть ли у кого-нибудь опыт работы с такой виртуальной настройкой?
  • Какие общие рекомендации?

Я склоняюсь к 2а. Я боюсь, что все веб-серверы будут на одной физической машине.

Заранее большое спасибо, что поделитесь своими мыслями.


person PeterFromCologne    schedule 03.02.2009    source источник
comment
Виртуализирован ли SQL Server? Подробности об этом?   -  person andyhky    schedule 04.02.2009
comment
Предполагается, что SQL Server также будет виртуализирован. У меня нет точных сведений об оборудовании, но я отправил это сообщение stackoverflow.com/questions/211409/   -  person PeterFromCologne    schedule 04.02.2009
comment
Существует ряд статей, посвященных SQL-серверу, посвященных VMware. Убедитесь, что ваша команда просматривает их vmware.com/technology/virtual- инфраструктура-приложения / microsoft / vmware.com/pdf/SQL_Server_consolidation.pdf - во многих случаях неиспользование передового опыта повредит.   -  person andyhky    schedule 04.02.2009


Ответы (5)


Есть три причины использовать более одного веб-сервера для приложения:

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

Женитьба на сценариях на ваше усмотрение:

Сценарий 1 обеспечивает 1, 2, 3 Сценарий 2 предоставляет 2b (возможно, 2a, если он полностью аппаратно избыточен (сомневаюсь)) Сценарий 2a предоставляет 1, 2 Сценарий 3 не обеспечивает ни одного из вышеперечисленных

Преимущества виртуального хостинга:

  • Снижение совокупной стоимости владения (TCO) в большом кластере, обслуживающем несколько целей, является экономически эффективным
  • При необходимости можно быстро создать новые серверы.
  • Избыточное оборудование легче оправдать, если затраты распределяются между многими приложениями.

Недостатки:

  • Другие виртуальные машины могут лишить вашего ЦП / дискового ввода-вывода

ИМХО нет смысла балансировать нагрузку на несколько виртуальных машин на одном виртуальном сервере.

person Robert Wagner    schedule 03.02.2009
comment
Более низкая совокупная стоимость владения - главный аргумент в пользу перехода на VMWare. Мы планируем запустить нагрузочные тесты перед переключением. Меня немного не устраивает переход на VMWare, но, кажется, я не могу его остановить .... :-) - person PeterFromCologne; 08.02.2009

Роберт в значительной степени охватил все это, в основном я просто добавляю примечание, чтобы сказать, что по крайней мере один из наших клиентов в настоящее время работает с вариантом 2a.

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

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

person Zhaph - Ben Duguid    schedule 03.02.2009

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

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

or

  • Распределение нагрузки приложений (уже поздно, поэтому я не могу придумать лучшего имени): ваш трафик диктует, что у вас есть несколько серверов приложений, поскольку все ваши пользователи вылезут из строя на одном сервере приложений.

Если причина №1, то переход на VMWare лишает цели, так как у вас есть только один сервер, поддерживающий все, а в случае сбоя жесткого диска и т. Д. Вы не работаете, пока он ремонтируется. Если причина №2, то решение на основе VMWare МОЖЕТ работать, однако имейте в виду, что оборудование, которое вы будете использовать, почти обязательно будет более высокого уровня, чем то, что вы используете в настоящее время. Таким образом, вы, возможно, получите больше отдачи от затраченных средств, но вы все равно потеряете избыточность, которую вам дали несколько физических машин.

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

person user62793    schedule 05.02.2009
comment
Спасибо за Ваш ответ. Мы используем текущую настройку как для распределения нагрузки, так и для резервирования оборудования. Состояние сеанса сохраняется в SQL Server, веб-запросы распределяются балансировщиком нагрузки на машины. Таким образом, если один веб-сервер выходит из строя, в идеале клиент даже ничего не замечает и не теряет. - person PeterFromCologne; 08.02.2009

Не похоже, что будет какая-то ощутимая выгода от запуска нескольких виртуальных серверов на одном физическом хосте, вы просто добавляете накладные расходы. Если мне не чего-то не хватает в том, как вы описали установку, от перехода на VMware не было бы никакой пользы - если только вы не собираетесь воспользоваться такими функциями, как VMotion

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

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

person saschabeaumont    schedule 03.02.2009

Вы должны иметь возможность использовать хосты виртуальных машин с несколькими виртуальными машинами на хост и балансировать нагрузку на всех из них.

Microsoft делает это с помощью msdn и technet http://virtualization.info/en/news/2008/05/microsoft-migrates-msdn-and-technet-on.html.

person Joshua Barker    schedule 11.02.2012