Виртуальное устройство — это предварительно настроенный образ виртуальной машины , готовый к запуску на гипервизоре ; виртуальные устройства — это подмножество более широкого класса программных устройств . Установка программного устройства на виртуальную машину и упаковка его в образ создает виртуальное устройство. Как и программные устройства, виртуальные устройства предназначены для устранения затрат на установку, настройку и обслуживание, связанных с запуском сложных стеков программного обеспечения.
Виртуальное устройство — это не полноценная платформа виртуальной машины, а скорее образ программного обеспечения, содержащий программный стек, предназначенный для работы на платформе виртуальной машины, которая может быть гипервизором типа 1 или типа 2.
Виртуальные устройства предоставляются пользователю или заказчику в виде файлов, либо посредством электронных загрузок, либо физического распространения. Наиболее часто используемый формат файла — Open Virtualization Format (OVF). Он также может распространяться как Open Virtual Appliance (OVA), формат файла .ova взаимозаменяем с .ovf. Distributed Management Task Force (DMTF) публикует документацию спецификации OVF. [1] Большинство платформ виртуализации, включая платформы VMware, Microsoft, Oracle и Citrix, могут устанавливать виртуальные устройства из файла OVF. [2]
Виртуализация решает ключевую проблему в области сетевых вычислений , а именно, тот факт, что любая достаточно большая сетка неизбежно будет состоять из широкого спектра разнородных конфигураций оборудования и операционных систем. Добавление виртуальных устройств в картину позволяет чрезвычайно быстро предоставлять узлы сетки и, что важно, чисто отделяет оператора сетки от потребителя сетки, инкапсулируя все знания приложения в виртуальном устройстве.
Виртуальные устройства являются критически важными ресурсами в инфраструктуре как облачных вычислениях . Формат файла виртуального устройства является заботой облачного провайдера и обычно не имеет значения для пользователя облака, даже если пользователь облака может быть владельцем виртуального устройства. Однако могут возникнуть проблемы с передачей права собственности на виртуальное устройство или передачей виртуальных устройств между облачными центрами обработки данных. В этом случае для решения этой проблемы можно использовать функции копирования или экспорта/импорта виртуального устройства. [3]
С ростом виртуализации как платформы для предоставления размещенных услуг виртуальные устройства стали предоставлять прямой маршрут для традиционных локальных приложений, которые можно быстро переразвернуть в режиме программного обеспечения как услуги (SaaS) — без необходимости серьезной перестройки архитектуры приложений для многопользовательской среды . Разделяя поставщика инфраструктуры оборудования и операционной системы от поставщика стека приложений, виртуальные устройства позволяют экономить на масштабе, с одной стороны, за счет экономии простоты, с другой. Традиционные подходы к SaaS, такие как тот, который рекламируется Salesforce.com, используют общую инфраструктуру, вызывая масштабные изменения и увеличивая сложность в стеке программного обеспечения.
Конкретным примером подхода виртуальных устройств к предоставлению SaaS является Amazon Elastic Compute Cloud (EC2) — сетка узлов гипервизора Xen в сочетании с доступностью предварительно упакованных виртуальных устройств в формате Amazon Machine Image . Amazon EC2 снижает ценовой барьер до такой степени, что становится возможным предоставить каждому клиенту размещенного сервиса собственный экземпляр(ы) виртуального устройства, а не заставлять их совместно использовать общие экземпляры. До EC2 модели с размещением на одном арендаторе были слишком дорогими, что приводило к провалу многих ранних предложений ASP .
Кроме того, в отличие от многопользовательских подходов к SaaS, виртуальное устройство также может быть развернуто локально для клиентов, которым необходим доступ к локальной сети для запущенного приложения или которые имеют требования безопасности, которым не соответствует сторонняя модель хостинга. Базовая технология виртуализации также позволяет быстро перемещать экземпляры виртуальных устройств между физическими средами выполнения. Традиционные подходы к SaaS фиксируют приложение на месте в размещенной инфраструктуре.