Главная > Open Source, web2.0, Высокопроизводительная архитектура, Разное, Стартапы > Eucalyptus — ваша открытая платформа для создания Elastic Cloud Platform

Eucalyptus — ваша открытая платформа для создания Elastic Cloud Platform

19 июня 2008

Приветствуем наших читателей. Сейчас в области хостинга, особенно если дело касается высоконагруженных и требующих масштабирование систем, не так и много вариантов. Одним из решений, альтернативных обычным кластерам или просто многосервернным решениям, является использование системы Elastic Clouds - по-сути, виртуального облака вычислительных ресурсов, которое исполняется на распределённом кластере, а внутри предоставляет ресурсы процессора и хранения данных, а также ввод-вывод, при этом масштабирование вашей системы может быть практически неограниченным и незаметным. Это и есть значение слова Elastic в определении - мы можем в любой момент гибко масштабировать систему, исходя из наших потребностей, при этом не зависим от конкретного железа или других ресурсов.

На рынке хостинга сейчас основными игроками являются, без сомнения, Amazon с его сервисами (в данном контексте мы имеем ввиду его платформу EC2), недавно вышедший Google App Engine и анонсированный, но ещё закрытый для участия Aptana Cloud (впрочем, первые обзоры уже есть и мы о них писали). Каждый проект по своему подходит  к реализации концепции "облачности", но вероятно самым универсальным и полным решением пока является именно Amazon EC2. Кстати, на русском уже есть несколько обзоров-введений в тему, поэтому я только дам ссылки (например, эта или эта). Если поверхностно и кратко - то Amazon предоставляет полную виртуализацию для исполнения пользовательских задач, то есть вы развёртываете в облаке не свои скрипты (как предлагает Google App Engine, кстати и про его плюсы и минусы обзор краткий есть), а специальным образом собранные образы виртуальных машин, которые вы можете подготовить у себя, а потом развернуть для исполнения на серверах Amazon. Такой подход очень гибкий и никак не ограничивает пользователей в применяемых наборах приложений и библиотек, позволят сосредоточится на том ЧТО делать, а не бороться с ограничениями и пасть в попытках решить КАК.

Однако. Вы думаете, что Amazon и только есть? Нет, оказалось, что теперь появилось и решение, позволяющие самостоятельно развернуть у себя не только виртуализацию такого уровня, но и построить свою собственную полностью открытую платформу Elastic Cloud.

Проект EUCALYPTUS - Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems предоставляет открытую реализацию платформы облака, которая, кстати, совместима с форматом образов для Amazon EC2, таким образом сравнить обе системы можно очень просто, как и переносить приложения, если вы вдруг заведёте собственный хостинг.

Технологически EUCALYPTUS работает поверх кластера под управлением системы Rock Cluster (он требуется для установки системы, в будущем выйдет релиз не требующий дополнительных инструментов) и требует для развёртывания платформы виртуализации Xen 3.0.2. Сейчас система распространяется в виде двух образов для развёртывания через Rock на всех узлах кластера (интересно, можно ли развернуть эту систему на одном физическом сервере, например, в двух виртуальных машинах VirtualBox, для тестирования). Для управления нашим облаком доступен веб-интерфейс, в котором мы можем раздавать права другим пользователям, которые и будут размещать свои виртуальные машины для исполнения в среде облака. Кстати, мы уже упоминали, что образы совместимы с теми, что используются в Amazon-е, и создавать их можно с помощью тех же инструментов, и такой ход выглядит самым разумным - создатели EUCALYPTUS-а убили, как говорится, сразу двух зайцев. Они сэкономили и своё время, на создание собственного формата образов и поддержки его, сэкономили время пользователей, им не нужно создавать различные образы одного и того же, а также получили сразу всю развитую инфраструктуру для создания образов, которую подготовила Amazon для себя. И тестировать такое решение теперь гораздо легче, хотя, конечно, на данном этапе не вся функциональность поддерживается.

Пока исходные коды проекта недоступны, хотя он полностью открыт (под BSD-лицензией) и декларируется как open source. В частности, в документации сказано, что развёртывание такой системы из исходных кодов сейчас является очень сложным и "неправильным" делом, поэтому пока доступны только уже собранные образы (в оригинале это звучит следующим образом: We have not released the code of version 1.0 because building and deploying this distributed system from source is too error-prone in its current state).

Несмотря на молодость проекта (29 мая первая версия, правда, сразу под номером 1.0) и не весь функционал, система уже представляет собой и исследовательский интерес, и даже коммерческий - вполне реально её развернуть на небольшом кластере и предоставлять услуги хостинга для тестовых проектов, например, в процессе разработки тестировать системы, которые в production потом будут развёрнуты на сервисах Amazon EC2. Будем ждать появления доступных платформ и на нашем рынке!

  • Было бы неплохо пару теоретически вероятных примеров применения привести… в каком случае необходимо использовать такие сложные архитектуры?

  • Руслан, какие примеры то 🙂 для любого проекта, где требуется прозрачное и линейное мастабирование веб-хостинга без остановок и ограничений, где можно доставлять сервера и датацентры и ресурсы сразу используются. для обеспечения максимальной доступности и отказоустойчивости.

  • Врятли тебе здесь ответят на интерисующий вопрос, тебе надо искать специальную литературу.

  • Если вдруг найдёте ответ, не поленитесь сюда написать. Я в свою очередь тоже подключусь.

  • что именно искать то?

  • точно иди в книжный и ищи умную книгу

  • А электронные библиотеки? В них полно книг по этому делу.

  • Pingback: Alpha-Beta-Release Blog()

  • Что далеко ходить-то? Вот допустим задумали вы сделать блог-платформу аналогичную LI или LJ. При этом вы одиночка, или небольшая группа разработчиков. Вы же не будете сразу закупать кучу-серверов чтобы обслуживать несколько десятков миллионов пользователей?

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

  • Pingback: AppScale - а построй ка мне Google AppEngine сам? Будет сделано!Alpha-Beta-Release Blog » Архив блога()

  • Pingback: Верхом на облаке в 21 век. Статья для журнала Хакер. | Alpha-Beta-Release Blog()

Developers.org.ua