Программное обеспечение представляет собой программное приложение, объединенное с операционной системой (JeOS), достаточной для оптимальной работы на стандартном оборудовании (обычно на сервере ) или на виртуальной машине . [1] Это дистрибутив программного обеспечения или встроенное ПО , реализующее компьютерное устройство . [2] [3]
Виртуальные устройства являются подмножеством программных устройств. Главное отличие заключается в формате упаковки и специфике целевой платформы. Виртуальное устройство представляет собой образ виртуальной машины , разработанный для работы на определенной платформе виртуализации , в то время как программное устройство часто упаковывается в более общеприменимый формат образа (например, Live CD ), который поддерживает установку на физические машины и несколько типов виртуальных машин. [4] [5] [6]
Установка программного устройства на виртуальную машину и упаковка его в образ создает виртуальное устройство.
Программные устройства имеют ряд преимуществ по сравнению с традиционными программными приложениями, которые устанавливаются поверх операционной системы :
n
экземпляры программного устройства (ОС + программное приложение) будут потреблять больше аппаратных ресурсов, чем запущенные n
экземпляры программного приложения на 1
экземпляре операционной системы из-за накладных расходов на запуск n - 1
большего количества экземпляров операционной системы.Программное обеспечение может быть упаковано в формат виртуальной машины как виртуальное устройство , что позволяет запускать его в контейнере виртуальной машины.
Виртуальное устройство может быть создано с использованием либо стандартного формата виртуальной машины, такого как Open Virtualization Format (OVF) , либо формата, специфичного для конкретного контейнера виртуальной машины (например, VMware, VirtualBox или Amazon EC2).
Контейнеры и их образы (например, предоставляемые Docker и Docker Hub) можно рассматривать как реализацию программных устройств.
Программное обеспечение может быть упаковано в виде образа Live CD , что позволяет запускать его на реальном оборудовании в дополнение к большинству типов виртуальных машин.
Это позволяет разработчикам избежать сложностей, связанных с поддержкой нескольких несовместимых форматов образов виртуальных машин, и вместо этого сосредоточиться на наименьшем общем знаменателе (т. е. образы ISO поддерживаются большинством платформ виртуальных машин).
Коммерческие программные устройства обычно продаются по подписке (с оплатой по факту использования) и представляют собой альтернативный подход к программному обеспечению как услуге .
Клиенты могут получать все услуги и обслуживание от поставщика приложения, что устраняет необходимость управления несколькими потоками обслуживания, лицензиями и контрактами на обслуживание.
В некоторых случаях поставщик приложения может установить программное обеспечение на часть оборудования перед поставкой заказчику, тем самым создавая компьютерное устройство . В обоих случаях основной ценностью для заказчика остается простота покупки, развертывания и обслуживания.