Сегодня мы предлагаем вернуться к истокам идеи распределения вычислительных ресурсов и рассмотреть ряд других бизнес-моделей, от которых берут свое начало IaaS- и PaaS-технологии.

1960-е: виртуальный таймшер

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

Дорогим выходило не только владение инфраструктурой, но и ее «физическая» аренда. Месячная плата за пользование «бюджетным» мейнфреймом IBM 1401 в минимальной конфигурации в те времена составляла порядка 2500 долларов в месяц (почти полтора миллиона современных рублей), а на аренду флагманского S/360 следовало закладывать суммы в десятки раз больше.

Что полвека назад, что сейчас оптимальным решением для разработки виделась модель аренды и совместного использования ресурсов. MIT и IBM впервые интегрировали time-sharing в ОС в 60-х.

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

Однако, и у этого подхода был изъян. Пользователи претендовали на одни и те же ресурсы. Своими задачами они нагружали одно и то же оборудование. В результате сбоя чьей-то программы страдали все, кто подключался к одному «железу».

Решение было предложено в рамках проекта IBM CP/CMS. С помощью него физический сервер стало возможным разделить на несколько виртуальных. Вот так к концу 60-х появились сразу два столпа современного облака — удаленный доступ и виртуализация.


1980-2000-е: виртуализация в массы

Чтобы объяснить, как виртуализация повлияла на индустрию, сравним, как IaaS-провайдеры работают сейчас и как совместное использование вычислительных ресурсов работало на заре 80-х.

Как сейчас:

  • Можно выбирать сервер под собственные нужды
  • Пользователь арендует не конкретную машину в ЦОДе, а только те ресурсы, которые нужны для решения его задач.
  • Мощности «железа» можно нарастить по мере необходимости.

Как тогда:

  • Применялся так называемый «совместный» хостинг — у всех пользователей одного сервера были в распоряжении одни и те же ресурсы.
  • Для нестандартных задач и запросов требовалась модификация всей машины, то есть от этого зависели все пользователи сразу.
  • Чтобы повысить производительность для каждого пользователя, зачастую прибегали к методу комплексной модернизации.

1980-2000-е: виртуализация в массы

Виртуализация стала тем самым шагом вперед. Пропасть между технологией и массовым пользователем отчасти заполнили первые коммерческие виртуальные машины в конце 80-х. Они все еще были несовершенны и существенные улучшения появились только в 1999-м году, когда вышел продукт под названием VMware Workstation.

ПО VMware 1.0 позволяло запускать несколько ОС на одной x86. Поддерживались виртуальные машины с объемом памяти до 2 ГБ.


2000-е: новые гипервизоры и волна свободного ПО

В 2000 году разработчики ОС FreeBSD семейства UNIX представили инструмент виртуализации под названием jails. С ним виртуальные среды получили функциональную независимость. Разные FreeBSD работали на одном «железе» и фактически «не видели» друг друга. Это был своеобразный прорыв, но уже через год Linux-сообщество дает ответ в виде Vserver, похожего по принципу работы на jails.

Совсем скоро стало известно, что VMware запускает систему полноценной серверной виртуализации для предприятий — VMware ESX Server — своевременное решение для рынка того времени.

Независимые разработчики не отставали. Например, в 2003 году сотрудники Кембриджского университета выпустили в открытый доступ гипервизор под названием Xen (его поддерживает Intel), а еще через несколько лет вышел гипервизор для платформ Linux KVM. Эти проекты — пример свободного ПО, ставшего двигателем развития виртуальной инфраструктуры. Без концепции проектов с открытым исходным кодом облако было бы совсем другим и развивалось бы иначе.


Сегодня мы обсудили лишь небольшую часть основных событий из периода становления облака. Впереди эту сферу ждала автоматизация и рождение DevOps. Расскажем об этом в следующей статье.