Я живу в безвыходном положении последние 5–8 лет и только сейчас начинаю работать с виртуализацией, виртуальными машинами и платформами, такими как VMware или VirtualBox. Я думаю, что начинаю их получать, но есть две концепции о виртуальных машинах, которые я почему-то задыхаюсь; один связан с их внутренней выгодой для предприятия, а другой - с их практичностью при использовании.
Итак, я понимаю, что вы можете иметь несколько виртуальных машин, работающих на одном физическом компьютере, и все они будут выполнять свои собственные функции, как если бы они были отдельными машинами. Допустим, я хочу создать небольшую виртуальную сеть серверов в моем домашнем офисе, чтобы у меня была большая песочница для всех моих проектов. Я настроил 2 физических машины в качестве серверов, и на каждой из них, скажем, по 4 виртуальных машины работают (одна может быть сервером приложений, другая может быть СУБД, другая может быть брокером сообщений и т.д.).
Помимо экономии денег (так как мне нужно только предоставить 2 физических машины вместо покупки 8 серверов), какую внутреннюю выгоду / цель служат этим ВМ? Мне все равно, насколько умны виртуальные машины, если на моем компьютере всего 8 ГБ ОЗУ, и у меня на нем 4 виртуальных машины, эти виртуальные машины получают только 8 ГБ ОЗУ для совместного использования между ними. Размещение 4 виртуальных машин на моем сервере не дает в 4 раза больше оперативной памяти! Так что, насколько я понимаю, виртуальные машины экономят ваши деньги на оборудовании, но в конечном итоге просто заваливают это оборудование, поскольку у вас есть несколько машин, конкурирующих за один и тот же пул ресурсов. Что мне здесь не хватает?
Могут ли виртуальные машины взаимодействовать друг с другом по вашей сети, используя протоколы высокого уровня, такие как TCP / IP, HTTP, FTP и т.д.? В противном случае просто не имеет смысла внедрять все эти виртуальные машины, если вам нужно передавать их отдельным и независимым частям данных / запросов для обработки.