При организации серверной инфраструктуры выделяют для каждого приложения отдельный физический сервер. Это дает приложению необходимые вычислительные ресурсы при пиковой нагрузке и изолирует от других приложений, чтобы потенциальный сбой не влиял на работу остальных. Однако это приводит к увеличению числа физических серверов, повышению затрат на приобретение и эксплуатацию оборудования. При этом средняя загрузка вычислительных мощностей не превышает 10%. Решение проблемы – виртуализация серверной инфраструктуры. На физический сервер устанавливают гипервизор или ОС Windows Server с функцией Hyper-V. Внутри гипервизора устанавливают гостевые ОС, в каждой из которых развернуто свое приложение.
С точки зрения гостевой ОС, сервер с гипервизором выглядит как сервер из «виртуальных» стандартизованных серверных компонентов (процессоры, память, контроллеры дисковой подсистемы, жесткие диски), хотя компоненты физического сервера могут быть какими угодно. Работа гипервизора требует 3% вычислительных ресурсов и увеличивает КПД сервера с 10 до 70%. Виртуализация бизнес приложений запускает несколько приложений на одном физическом сервере – процесс называется консолидацией серверов и снижает затраты на содержание серверной инфраструктуры на 50-60%.
Виртуализация повышает High Availability и Fault Tolerance бизнес приложений. При отказе сервера, виртуальные машины автоматически перезапускаются на другом сервере и продолжают работу. Так обеспечивают высокую доступность в том числе и для таких приложений, которые «не поддаются» традиционной кластеризации средствами ОС. Для критически важных приложений, работающих в непрерывном режиме, создают на разных серверах две виртуальные машины — основную и зеркальную копию. Несколько физических серверов объединяют в кластер. Аппаратные ресурсы серверов кластера образуют пул ресурсов, который совместно используют виртуальные машины кластера. ПО виртуализации автоматически балансирует нагрузки на серверы – перемещает работающие виртуальные машины с загруженных серверов на менее загруженные. Если общая нагрузка на кластер сильно снижается, виртуальные машины автоматически «собираются» на меньшем числе серверов. Свободные серверы выключаются.