среда, 13 мая 2009 г.

Облака - белогривые лошадки

Модный термин в последнее время, так что же это? Частично я уже писал об этом, но хочется вынести тему в отдельный пост и раскрыть шире.

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

Облако - это тот уровень абстракции, который необходим для воплощения понятия computing as a service, он же utility computing. На облачном уровне у нас больше нет сервера1, сервера2 и т.д... У нас есть объединенные вычислительные ресурсы, которые мы можем как-то делить между задачами.

В принципе, облака можно разделить на два типа - облака для приложений и облака для машин. В чем же между ними разница?

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

Облака для машин предоставляют ресурсы виртуальным машинам, и по сути являются более низкоуровневыми облаками или в каком-то смысле менее облачными :)
Атомарная единица здесь не приложение, а виртуальная машина. На которую можно установить любую ОС и вообще обращаться как с обыкновенным сервером.

В чем же здесь облачность? В том, что нас снова не волнует на каком именно физическом сервере исполняется ВМ, степени загрузки физических процессоров и тому подобное. Мы заказали столько-то мегагерц мощности, и мегабайт памяти - мы их получим. Не хватает - добавим без долгих заказов новых процессоров или модулей памяти. Выгодное отличие от облаков приложений в том, что не требуется переписывать уже существующие приложения. Минус - необходимость администрирования дополнительных инфраструктурных слоев.

Простейший пример подобного облака - большой Fully automated DRS кластер ESX. Но при одном условии - каждая ВМ требует ресурсов, значительно меньших, чем ресурсы одного хоста. Как только уровень ресурсов становится сравним, облако рассеивается на отдельно стоящие хосты.

Облака - это не пустое понятие, у нас с вами уже есть в серверных свои собственные маленькие белогривые лошадки :)

1 комментарий:

  1. Браво! Аналогичный угол позрения этого детища.

    ОтветитьУдалить