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