Представлен шестой релиз платформы OpenStack, выпущенный под кодовым именем "Folsom". В подготовке нового выпуска приняли участие более 330 разработчиков из 50 различных компаний, силами которых реализовано 185 новых возможностей.
Платформа OpenStack представляет собой набор взаимосвязанных компонентов, нацеленных на создание как публичных cloud-сервисов, подобных Amazon EC2, так и приватных cloud-окружений, работающих на собственном оборудовании и полностью подконтрольных компании. Среди поддерживаемых систем виртуализации: KVM, QEMU, UML, Xen, Microsoft Hyper-V, Citrix XenServer, контейнеры LXC и VMWare/vSphere ESX / ESXi. В отличие от существующих аналогов, OpenStack обладает превосходной масштабируемостью и способен обслуживать инфраструктуру из сотен тысяч виртуальных серверов.
Изначально платформа OpenStack была разработана и открыта под лицензией Apache компанией Rackspace и космическим агентством NASA. Неделю назад было завершено формирование независимой некоммерческой организации OpenStack Foundation, которой были переданы ранее принадлежащая компании Rackspace интеллектуальная собственность, связанная с OpenStack. На данный момент к разработке OpenStack присоединилось 180 компаний и более 6000 независимых разработчиков.
Среди принимающих участие в развитии OpenStack компаний присутствуют такие лидеры индустрии, как Citrix, Cisco, Dell, Cloud.com, HP, Red Hat, VMware, Puppet Lab, AMD, Intel, rPath, Vyatta, EnterpriseDB, NTT, NEC, NetApp, AT&T, Canonical, IBM и SUSE. Продукты для развёртывания облачных инфраструктур на базе OpenStack развиваются такими компаниями, как Rackspace, Red Hat, SUSE, Canonical, Dell и HP. Готовые пакеты c OpenStack "Folsom" подготовлены для Fedora 17/18, EPEL 6, Ubuntu 12.04/12.10.
Из входящих в состав релиза Folsom компонентов и реализованных в них новшествах можно отметить (по сравнению с прошлым выпуском добавлено два новых компонента - Networking (Quantum) и Block Storage (Cinder)):
- OpenStack Object Storage (Swift) - распределенное, отказоустойчивое и высоконадежное хранилище объектов. Хранимые объекты сохраняются одновременно на несколько узлов кластера в дата центре, при этом обеспечивается автоматический контроль целостности и репликация при отключении/добавлении узлов. Хранилище масштабируется горизонтально, т.е. для увеличения размера достаточно просто добавить новые узлы, конфигурация которых производится автоматически. При выходе узла из строя, его содержимое воспроизводится на других узлах сети для обеспечения должной избыточности. Дублирование информации позволяет использовать для формирования кластера типичные недорогие серверы, не заботясь о надежности каждого из них в отдельности.
- В новой версии добавлена возможность подсоединения хранилища OpenStack Object Storage к серверу statsd для получения в режиме реального времени сотен метрик о работе кластера, которые позволяют оперативно решать и диагностировать возникающие проблемы. Добавлена поддержка ускорения операции записи данных за счёт задействования быстрых SSD-накопителей для хранения метаданных, что позволяет существенно снизить накладные расходы на дисковую систему. Реализовано распределение данных по узлам кластера в режиме с максимально возможной уникальностью, что упрощает развёртывание небольших кластеров и повышает надёжность в ситуации сбоев оборудования.
- OpenStack Compute (Nova) - инструментарий, позволяющий автоматически создавать и управлять работой больших групп VPS-серверов. Система основана на технологии NASA Nebula и наработках, применяемых для оказания услуги Rackspace Cloud Servers. OpenStack Compute написан на языке Python с использованием фреймворков Tornado и Twisted, для обмена сообщениями используется протокол AMQP, для хранения данных задействована БД Redis.
- В новой версии добавлены дополнительные средства для упрощения обслуживания операторами процесса настройки больших наборов виртуальных машин. Новая функция "config drive" позволяет сохранять информацию о конфигурации сети, позволяя избежать использования для настройки сети таких систем как DHCP. Другая новая функция "host aggregation" позволяет выделить наиболее оптимальный для решения задачи пул ресурсов, например, сформировать GPU-кластер для решения вычислительных задач. Проведена работа по оптимизации производительности и усиления безопасности, например, интегрирована поддержка Trusted Computing для задействования специального оборудования для верификации состояния виртуальных машин.
- OpenStack Image Service (Glance) - реестр образов виртуальных машин, позволяющий регистрировать новые образы виртуальных машин и обеспечивать их доставку на нужные узлы перед выполнением. Обеспечивает функционирование хранилища образов виртуальных машин, представленных в широком спектре форматов: Raw, AMI, VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK (VMWare) и OVF (VMWare). Для унификации операций по получению информации, добавлению и доставке образов виртуальных машин используется специальный Glance REST-ful API;
- В новой версии существенно расширена функциональность и улучшено удобство работы. Добавлена поддержка прямого импорта шаблонов и образов виртуальных машин в различных форматах, что позволяет легко подключить уже ранее используемое в других системах виртуализации окружения. Представлен новый API и новая клиентская библиотека. Добавлены новые опции управления репликацией, позволяющие добиться увеличения производительности. Усилена безопасность.
- OpenStack Identity (Keystone) - пакет для унификации средств аутентификации и обеспечения интеграции компонентов OpenStack с существующими системами аутентификации, в том числе построенными на базе Active Directory и LDAP. Возможно использование и обычных средств входа с использованием логина/пароля или AWS. На плечи Keystone вынесены такие операции, как управление пользователями, проектами и правами доступа;
- В новой версии улучшена поддержка PKI-аутентификации (Public Key Infrastructure), расширены средства управления и интеграции с другими сервисами OpenStack.
- OpenStack Dashboard (Horizon) - web-интерфейс для управления системой, построенный на основе web-фреймворка Django и приложения django-openstack. Интерфейс представлен как для администраторов, так и для пользователей. Поддерживается широкий спектр средств для управления ресурсами, созданием и запуском окружений, установкой лимитов. Возможно подключение плагинов, например, с реализацией средств мониторинга.
- В новой версии повышено удобство работы в интерфейсах запуска новых окружений, работы с ресурсами хранилища, управления проектами и пользователями. Добавлена поддержка загрузки публичных и приватных образов. Расширены средства конфигурации сети. Улучшена поддержка web-браузеров. Проведена оптимизация производительности. Обеспечено динамическое отображений состояния квот. Улучшена обработка ошибок.
Добавлена поддержка сервиса самообеспечения, который позволяет администраторам облачных систем делегировать пользователям возможность самостоятельно управлять выделением новых ресурсов и изменять лимиты (в рамках заданных пределов). Пользователи также получили расширенные средства кастомизации аспектов работы виртуальных серверов на этапе их запуска, в том числе возможность прямой загрузки с совместно используемого блочного устройства;
- В новой версии повышено удобство работы в интерфейсах запуска новых окружений, работы с ресурсами хранилища, управления проектами и пользователями. Добавлена поддержка загрузки публичных и приватных образов. Расширены средства конфигурации сети. Улучшена поддержка web-браузеров. Проведена оптимизация производительности. Обеспечено динамическое отображений состояния квот. Улучшена обработка ошибок.
- Networking (Quantum) - фреймворк для выполнения задач, связанных с созданием, конфигурированием и сопровождением сетей внутри дата-центров. Quantum поддерживает динамическую конфигурацию сети и может быть использован для настройки как виртуальных сетей, так и физических хостов. Quantum поддерживает расширение функциональности через плагины и может решать различные административные задачи, от создания портов до настройки маршрутов и VLAN.
- Block Storage (Cinder) - многофункциональное и расширяемое хранилище блочных устройств и дисковых разделов, поддерживающее также работу с ранее созданными разделами, развёрнутыми в процессе использования прошлых выпусков OpenStack. Ранее Cinder был реализован как подпроект к рамках сервиса OpenStack Compute, но отныны выделен в обообленную подсистему, развиваемую отдельной командой разработчиков.