Поскольку Amazon дает клиентам возможность работать со всеми видами программ, установленных на компьютерах компании, она не может адаптировать свою систему к работе с ограниченным набором приложений, как это сделала компания Google. Ей необходимо быть более гибкой. По этой причине принцип работы системы Amazon отличается от принципа работы системы Google. В ее основе заложена не технология параллельной обработки, а так называемая виртуализация – технология, которая будет иметь решающее значение для дальнейшего развития сферы коммунальных вычислений. Действительно, без виртуализации крупномасштабные сервисы коммунальных вычислений просто немыслимы.
Как и многие другие компьютерные термины, понятие «виртуализация» не так сложно, как кажется на первый взгляд. Оно имеет отношение к программному обеспечению для моделирования аппаратных средств. В качестве простого примера вспомним, как за прошедшие годы изменился телефонный автоответчик. Вначале он представлял собой громоздкий автономный аппарат, записывающий голоса в виде аналоговых сигналов на магнитную ленту. Однако по мере того как начали появляться все более продвинутые компьютерные чипы, автоответчик превратился в крошечное цифровое устройство, часто встроенное в телефон. Сообщения больше не записывались на пленку: они хранились в виде строк двоичных разрядов в памяти устройства. Однако как только машина стала полностью цифровой, она перестала быть собственно машиной. Все ее функции могли выполняться с помощью программного кода. Именно это и произошло. Аппарат исчез. Физическая машина превратилась в виртуальную – в чистое программное обеспечение, работающее где-то в системе телефонной компании. Когда-то вам нужно было покупать автоответчик. Теперь достаточно просто подключить соответствующую услугу. В этом и заключается суть виртуализации.
Поскольку все компоненты компьютерных систем – от микропроцессоров и накопителей до такого сетевого оборудования, как маршрутизаторы, брандмауэры и устройства балансировки нагрузки, – работают в цифровом режиме, они тоже могут быть заменены программным обеспечением. К ним тоже применима виртуализация. Когда вы арендуете компьютер или тысячу компьютеров через сервис EC2 компании Amazon, вы арендуете не настоящие компьютеры. Вы арендуете виртуальные машины, которые существуют только в памяти физических компьютеров Amazon. Благодаря виртуализации один компьютер Amazon можно запрограммировать так, чтобы он работал как несколько разных компьютеров, каждый из которых управляется разными клиентами.
Виртуализация давно стала важной частью процесса вычислений. Это одна из технологий, которые позволили мейнфреймам одновременно обрабатывать множество различных задач. Однако сегодня она стала поистине революционной благодаря взрывному росту производительности компьютерных чипов. Поскольку работа виртуальной машины ничем не отличается от работы приложения, она использует значительную часть мощности микропроцессора. До недавнего времени это ограничивало полезность виртуализации. Запуск одной или двух виртуальных машин настолько замедлял скорость работы компьютера, что его вычислительных мощностей не хватало больше ни на что. Однако микропроцессоры стали такими мощными, что теперь могут поддерживать одновременную работу нескольких виртуальных машин и при этом иметь достаточную мощность для запуска сложных бизнес-приложений на каждой из них.