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

Несколько лет назад мысль о том, что вычислительные ресурсы можно доставлять до пользователя на «коммунальном уровне», подобно электрической энергии или воде, захватила большинство ведущих производителей. Но при этом никто из них так толком не объяснил, что же именно является объектом транспортировки и распространения. И только небольшая компания VMware в июне 2005 года дала простое и понятное определение utility computing, введя для этой цели дополнительную, особую категорию виртуальных машин — программных модулей, которые можно распространять по сетям. Предложенные VMware собственные виртуальные прикладные устройства (virtual appliance) представляют собой именно тот функционал, который можно получить как коммунальную услугу.

В словаре Merriam-Webster слово appliance трактуется как «элемент оборудования, адаптирующий машину или инструмент для специальной цели» или как «устройство или инструмент, предназначенный для выполнения определенной функции» *. Остановимся на «специализированном устройстве», а virtual appliance для краткости будем обозначать VA.

Вообще говоря, прикладные специализированные устройства стали знаком нынешнего этапа в развитии компьютерных систем. Это и специализированные накопители NAS от компании NetApp, и специализированные устройства для работы с хранилищами данных от Netezza и DATAllegro, и даже набирающие популярность бытовые накопители TiVo на базе ПК для хранения на дисках телевизионных программ. Последний пример демонстрирует различие в использовании универсального устройства и устройства специализированного. Да, можно вместо TiVo использовать обычный компьютер, но подключенное к сети устройство TiVo лучше адаптировано к нуждам пользователя, оно может само вносить обновление в свое программное обеспечение, добавлять новые функции (если бы на нем стояли универсальные операционные системы Windows или Linux, все бы это приходилось делать вручную).

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

  • Устройства, построенные на основе специализированных ASIC-микросхем, не имеющие операционной системы; в эту категорию попадают DSL-маршрутизаторы, кабельные модемы, а также музыкальные устройства типа iPod.
  • Универсальные компьютеры со специализированной операционной системой; типичные примеры — маршрутизаторы Cisco, оснащенные программным обеспечением IOS, и специализированные вычислительные приставки (Network Attached Processing Appliance), производимые компанией Azul Systems.
  • Универсальные компьютеры с универсальной операционной системой, но настроенные на выполнение определенных функций; таковы Google Search Appliance или Barracuda Anti-SPAM Appliance.

Несмотря на функциональное разнообразие специализированных устройств, они, в основном, представляют собой универсальные компьютеры, адаптированные для выполнения ограниченного подмножества функций. Как следствие, наблюдается общая закономерность: по мере удешевления серверов и их коммодитизации самое разнообразное специализированное оборудование постепенно заменяется компьютерами универсальными, но при этом оснащенными специализированным системным и прикладным программным обеспечением, а ИТ-компании из производителей «железа» в массе своей превращаются в производителей «софта».

И все же идея множественности специализированных устройств противоречит универсальной сути компьютеров, поэтому вполне логично представить специализированное устройство в качестве виртуальной машины. Результат такого преобразования и есть VA, а возможность материализовать и выполнять его возникает с появлением стандартного гипервизора или монитора виртуальных машин (Virtual Machine Monitor, VMM) на стандартном физическом сервере. Вся специфическая функциональность концентрируется в VA, а VMM и физический компьютер, на котором выполняется VA, остаются универсальными. Примечательно следующее: поскольку виртуальная машина — это всего лишь набор данных, ее можно транспортировать по сети. Таким образом, может быть решена задача utility computing. В этом и состоит гениальная догадка, сделанная специалистами VMware. Далее, используя универсальный монитор VMM (скажем, VMware GSX Server) в качестве площадки для развертывания, можно выполнять несколько VA на одном компьютере, благодаря этому сокращаются затраты, в том числе и на энергопотребление, экономится пространство и т.п.

VA отличается от настоящего специализированного устройства только тем, что оно встроено в виртуальную машину, которая может быть организована с использованием приложений VMware (в том числе VMware Player, VMware Workstation, VMware GSX Server или VMware ESX Server). В состав VA входят предварительно установленные и сконфигурированные операционная система и соответствующее приложение.

Практическим примером VA может служить Browser Appliance, решение, позволяющее пользователю абсолютно безопасно осуществлять серфинг в Internet, применяя Mozilla Firefox. Браузер выполняется на изолированной виртуальной машине, поэтому тот компьютер, на котором установлен монитор VMM, полностью защищен от проникновения вирусов и любого иного злокозненного программного обеспечения. Плюс к тому, в Browser Appliance не хранится никакая информация о пользователе, поэтому он защищен еще и от хищения паролей, адресов и, как следствие, от возможных хакерских или спамерских атак.

Рис. 1. Современная архитектура информационной системы
Превращение приложения в VA не представляет особой сложности. Для этого нужно загрузить копию VMware Workstation, создать на ней новую Virtual Machine, требуемым образом сконфигурировать ее и инсталлировать в ней VMware Tools, а затем, используя этот инструментарий, установить приложение и создать нужную документацию. После этого остается создать загрузочный пакет, используя архиваторы ZIP, TAR, или GZIP.

Простота создания VA и массовый интерес к этой идее позволили VMware организовать в начале прошлого года соревнование Ultimate Virtual Appliances Challenge, в котором участвовали создатели специализированных виртуальных устройств. На конкурс было представлено более 300 работ. Успех мероприятия позволил аналитикам утверждать, что VMware начала формировать рынок предварительно упакованного программного обеспечения (prepackaged software) в варианте, который получил название Virtual Appliances Marketplace.

Рис. 2. Сеть из специализированных виртуальных устройств
Следует отметить, что руководители VMware проявляют достойную похвалы сдержанность в оценке нынешнего состояния VA— особенно в том, что относится к обеспечению безопасности. Показательно, что свою статью, посвященную решениям данной категории, основатель и технический руководитель компании Мендель Розенблюм озаглавил «Когда виртуальное сложнее реального» [1]. Самое серьезное внимание VA уделяется и в фундаментальных исследованиях. Одно из них, проект Collective [2], в рамках которого исследуются возможности построения виртуальных сетей из виртуальных специализированных устройств.

На рис. 1 представлена классическая многоуровневая информационная система, а на рис. 2 она же, но в виде сети специализированных виртуальных устройств.

Литература

  1. Tal Garfinkel, Mendel Rosenblum, When Virtual is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments. Stanford University Department of Computer Science, www.stanford.edu/~talg/papers/HOTOS05/virtual-harder-hotos05.pdf.
  2. Constantine Sapuntzakis, Monica Lam, Virtual Appliances in the Collective: A Road to Hassle-Free Computing. Computer Systems Laboratory Stanford University, suif.stanford.edu/collective/hotos03-virtual-app.pdf.

* Очевидно, именно эта трактовка дает основание достаточно широко использовать в качестве перевода слово «приставка». — Прим. ред.