В наши дни лидерами рынка виртуализации являются VMware, Microsoft, Citrix и Red Hat, однако эти компании не стояли у истоков технологии. В 1960-х годах прошлого века все начиналось с разработок специалистов таких компаний, как General Electric (GE), Bell Labs, IBM и др.
За более чем полвека область виртуализации прошла значительный путь. Сегодня мы поговорим об её истории, текущем положении и прогнозах развития технологий на ближайшее будущее.
На заре
Виртуализация зародилась в качестве средства для расширения размеров оперативной памяти компьютеров в 60-х годах прошлого века.
В те времена речь шла о том, чтобы добиться возможности исполнения нескольких программ — первым суперкомпьютером, в котором процессы операционной системы были разделены, стал проект департамента электротехники Университета Манчестера под названием Atlas (финансировался компанией Ferranti Limited).
Суперкомпьютер Atlas
Atlas был самым быстрым суперкомпьютером своего времени. Частично это достигалось благодаря разделению системных процессов с помощью суперзвизора (компонент, отвечающий за контроль ключевых ресурсов — процессорного времени и т.д.) и компонента, осуществлявшего исполнение пользовательских программ.
Впервые в Atlas была использована виртуальная память (one-level store) — системное хранилище памяти было отделено от использовавшегося пользовательскими программами. Данные разработки стали первыми шагами по направлению к созданию уровня абстракции, использованного в дальнейшем во всех основных технологиях виртуализации.
Проект M44/44X
Следующим шагом в развитии технологий виртуализации стал проект корпорации IBM. Американские исследователи пошли дальше британских коллег и разработали концепцию «виртуальной машины», попытавшись разделить компьютер на отдельные небольшие части.
Основным компьютером был «научный» IBM 7044 (M44), на котором запускались виртуальные машины 7044 (40X) — на данном этапе виртуальные машины не симулировали полностью работу «железа».
CP/CMS
IBM работала над мейнфреймом S/360 — планировалось, что этот продукт станет заменой предыдущим разработкам корпорации. S/360 была однопользовательской системой, которая могла запускать несколько процессов одновременно.
Фокус деятельности корпорации начал меняться после 1 июля 1963 года, когда ученые Массачусетского технологического института (MIT) запустили проект MAC. Изначально сокращение системы было образовано от фразы Mathematics and Computation, показывая направленность разработки, но позднее под MAC стали понимать Multiple Access Computer («компьютер множественного доступа»).
Проект MAC получил грант от американского оборонного агентства DARPA в размере $2 млн — среди поставленных задач было проведение исследований в области операционных систем, искусственного интеллекта и теории вычислений.
Для решения некоторых из этих задач ученым MIT понадобилось компьютерное «железо», с помощью которого могли бы работать несколько пользователей одновременно. Запросы о возможности создания таких систем были отправлены в IBM, General Electric и некоторым другим вендорам.
IBM в то время не была заинтересована в создании подобного компьютера — в руководстве корпорации считали, что на рынке отсутствует спрос на такие устройства. В MIT, в свою очередь, не захотели использовать для исследований модифицированную версию S/360.
Потеря контракта стала настоящим ударом для IBM — особенно после того, как в корпорации узнали об интересе к многозадачным компьютерам со стороны Bell Labs.
Для удовлетворения нужд MIT и Bell Labs был создан мейнфрейм CP-40. Частным клиентам этот компьютер никогда не продавался и использовался лишь учеными, однако данная разработка является крайне важной вехой в истории виртуализации, поскольку именно она позднее эволюционировала в систему CP-67, которая стала первым коммерческим мейнфреймом с поддержкой виртуализации.
Операционная система CP-67 называлась CP/CMS — первые две буквы были сокращением от Control Program, а CMS — сокращением фразы Console Monitor System.
CMS была однопользовательской интерактивной операционной системой, а CP была программой, которая создавала виртуальные машины. Суть системы заключалась в запуске модуля CP на мейнфрейме — на нем запускались виртуальные машины, работающие на операционной системе CMS, с которой, в свою очередь, уже работали пользователи.
В данном проекте была впервые реализована интерактивность — ранее системы IBM могли только «съедать» поданные на вход программы и печатать результаты вычислений, в CMS появилась возможность взаимодействия с программами во время их работы.
Публичный релиз CP/CMS состоялась в 1968 году. В дальнейшем IBM создала многопользовательскую операционную среду на компьютерах IBM System 370 (1972 году) и System 390 (операционная система VM/ESA).
Проекты IBM оказали наибольшее влияние на развитие технологий виртуализации, однако были не единственными разработками в данном направлении. Среди подобных проектов были:
- Livermore Time-Sharing System (LTSS) — разработка лаборатории Лоуренса Ливермора. Исследователи создавали операционную систему для суперкомпьютеров Control Data CDC 7600, которые отобрали звание самых быстрых суперкомпьютеров у проекта Atlas.
- Cray Time-Sharing System (CTSS — ранние разработки IBM также скрывались за аналогичной аббревиатурой, не стоит их путать) — система для первых суперкомпьютеров Cray, созданная научной лабораторией Лос-Аламоса в сотрудничестве с лабораторией Ливермора. Компьютеры Cray X-MP с операционной системой CTSS использовались министерством энергетики США для проведения ядерных исследований.
- New Livermore Time-Sharing System (NLTSS). Новейшая версия CTSS, поддерживавшая самые передовые технологии своего времени (например, TCP/IP и LINCS). Проект был свернут в конце 80-х годов.
Виртуализация в СССР
В СССР аналогом IBM System/370 являлся проект СВМ (Система Виртуальных Машин), запущенный в 1969 году. Одной из главных задач проекта была адаптация системы IBM VM/370 Release 5 (её более ранняя версия CP/CMS). В СВМ была реализована последовательная и полная виртуализация (на виртуальной машине можно было запустить другую копию СВМ и т.д.).
SoftPC, Virtual PC и VMware
В 1988 году компания Insignia Solutions представила эмулятор программного обеспечения SoftPC, с помощью которого можно было запускать приложения DOS на рабочих станциях Unix — функциональность, которая ранее была недоступна. В то время PC с возможностью запуска MS DOS стоил около $1500, а рабочая UNIX-станция с SoftPC обошелся бы всего в $500.
В 1989 году была выпущена Mac-версия SoftPC — пользователи этой ОС смогли не только запускать приложения DOS, но и Windows-программы.
Успех SoftPC сподвиг другие компании к выпуску аналогичных продуктов. В 1997 году Apple создала программу Virtual PC (продавалась через компанию Connectix). С помощью этого продукта пользователи Mac получили возможность запускать ОС Windows, что позволило сгладить недостаток софта под Mac.
В 1998 года была основана компания VMware, которая в 1999 году вывела на рынок аналогичный продукт под названием VMware Workstation. Первоначально программа работала только на Windows, однако позднее была добавлена поддержка других операционных систем. В этом же году компания выпустила первое средство виртуализации для платформы x86 под названием VMware Virtual Platform.
Развитие рынка в 2000-х
В 2001 году VMware выпуcтила два новых продукта, которые позволили компании выйти на корпоративный рынок — ESX Server и GSX Server. GSX позволил пользователям запускать виртуальные машины внутри операционных систем вроде MS Windows (данная технология является гипервизором второго типа — Type-2 Hypervisor). ESX Server относится к гипервизорам первого типа (Type-1 Hypervizor) и не требует наличия домашней операционной системы для запуска виртуальных машин.
Гипервизоры первого типа гораздо эффективнее, поскольку обладают большими возможностями по оптимизации и не требуют траты ресурсов на запуск и поддержание работы операционной системы.
После выпуска ESX Server компания VMware стремительными темпами захватила корпоративный рынок, опередив конкурентов.
Вслед за VMware на данный рынок вышли и другие игроки — в 2003 году Microsoft купила Connectix и перезапустила продукт Virtual PC, а затем, в 2005 году выпустила и энтерпрайз-решение Microsoft Virtual Server.
В 2007 году на рынок корпоративной виртуализации вышла корпорация Citrix, купившая open source платформу для виртуализации под названием Xensource. Этот продукт затем был переименован в Citrix XenServer.
Общая история развития технологий виртуализации представлена на инфографике ресурса CloudTweaks:
Текущее положение дел на рынке
В настоящий момент существует несколько разновидностей виртуализации (серверная, сетевая, десктоп-виртуализация, виртуализация памяти, виртуализация приложений). Наиболее активно развивается сегмент серверной виртуализации.
По данным аналитической компании IT Candor, объём рынка серверов в 2013 году оценивался в $56 млрд ($31 млрд пришелся на физические сервера, а еще $25 на виртуальные). Лидерство VMware на рынке виртуальных серверов на тот момент времени не подвергалось сомнению:
Тем не менее, у флагманского продукта VMware vSphere Hypervisor, есть конкуренты — Microsoft Hyper-V, Citrix XenServer, Oracle VirtualBox, Red Hat Enterprise Virtualization Hypervisor (REVH). Продажи этих продуктов растут, а доля VMware на рынке снижается.
Аналитики американской биржи NASDAQ предсказывают снижение доли компании на общем рынке виртуализации до чуть более 40% к 2020 году.
Тренды
По мнению некоторых аналитиков из крупных компаний, ключевыми точками роста для технологий виртуализации станут инфраструктурная виртуализация, виртуализация хранилищ, мобильная виртуализация, а область виртуализации десктопов будет постепенно отмирать.
Кроме того называются следующие перспективные сферы и области, связанные с технологиями виртуализации:
Микровиртуализация
Корпоративные серверы обычно хорошо защищены от внешних вторжений, поэтому злоумышленники часто проникают в корпоративные сети через рабочие машины сотрудников. В результате такие десктопы внутри сети становятся плацдармом для дальнейшего развития атаки на организацию.
Компания Bromium создала технологию защиты десктоп-компьютеров, построенную на технологиях виртуализации. Это средство умеет создавать микро-виртуальные машины, «внутри» которых запускаются обычные пользовательские процессы (например, открытие веб-страниц или документов). После закрытия документа или окна браузера микро-виртуальная машина уничтожается.
В следствие того, что такие виртуальные машины изолированы от операционной системе, то хакерам не удастся проникнуть в неё с помощью зловредных файлов — даже если вредоносный софт устанавливается в микро-виртуальную машину, он будет уничтожен с её неизбежным закрытием.
Сети хранения данных (Storage Area Network, VSAN) позволяют организациям более эффективно использовать свою, в том числе, виртуальную инфраструктуру. Однако подобные продукты для подключения внешних устройств хранения (оптические приводы, дисковые массивы и т.п.) часто стоят слишком дорого для небольших компаний.
С появлением продукта Virtual SAN от VMware возможности обычных SAN стали доступны более маленьким бизнесам. Преимуществам этого проекта является тот факт, что Virtual SAN VMware встроен прямо в основной гипервизор компании.