Выход свободной облачной платформы OpenStack 13 "Mitaka"
Представлен тринадцатый релиз платформы OpenStack, выпущенный под кодовым именем "Mitaka". В развитии нового выпуска приняли участие 2336 разработчиков, представляющих 345 различных компаний. Платформа OpenStack включает в себя набор взаимосвязанных компонентов, нацеленных на создание как публичных cloud-сервисов, подобных Amazon EC2, так и приватных cloud-окружений, работающих на собственном оборудовании и полностью подконтрольных компании.
Изначально платформа OpenStack была разработана и открыта под лицензией Apache компанией Rackspace и космическим агентством NASA. Впоследствии связанная с проектом интеллектуальная собственность была передана независимой некоммерческой организации OpenStack Foundation. На данный момент к разработке OpenStack присоединилось 581 компания и 38258 независимых разработчиков. Продукты для развёртывания облачных инфраструктур на базе OpenStack развиваются такими компаниями, как Rackspace, Red Hat, SUSE, Canonical, IBM, Cisco, Dell и HP. Среди поддерживаемых систем виртуализации: KVM, QEMU, Xen, Hyper-V, Citrix XenServer, контейнеры LXC и VMWare/vSphere ESX/ESXi. OpenStack обладает превосходной масштабируемостью и способен обслуживать инфраструктуру из сотен тысяч виртуальных серверов.
Из входящих в состав релиза Mitaka компонентов и реализованных в них новшеств можно отметить:
- OpenStack Compute (Nova) - инструментарий, позволяющий автоматически создавать и управлять работой больших групп VPS-серверов. Система основана на технологии NASA Nebula и наработках, применяемых для оказания услуги Rackspace Cloud Servers. OpenStack Compute написан на языке Python с использованием фреймворков Tornado и Twisted, для обмена сообщениями используется протокол AMQP, для хранения данных задействована БД Redis.
В новой версии упрощена конфигурация, представлены новые настройки по умолчанию, сокращено число обязательных для выбора опций. Удалена реализация EC2 API. Для работы теперь необходимо создание второй БД, названной "API DB". Добавлена команда "ova-manage db online_data_migrations", позволяющая выполнить все операции по миграции БД при обновлении облачного окружения. Расширены возможности драйвера VMware.
- OpenStack Image Service (Glance) - реестр образов виртуальных машин, позволяющий регистрировать новые образы виртуальных машин и обеспечивать их доставку на нужные узлы перед выполнением. Обеспечивает функционирование хранилища образов виртуальных машин, представленных в широком спектре форматов: Raw, AMI, VHD (Hyper-V), VDI (VirtualBox), qcow2 (Qemu/KVM), VMDK (VMWare) и OVF (VMWare). Для унификации операций по получению информации, добавлению и доставке образов виртуальных машин используется специальный Glance REST-ful API;
В новой версии добавлена возможность фильтрации образов по идентификатору, имени, состоянию, формату контейнера и другим свойствам. Реализована поддержка повторной аутентификации при обновлении состояния образа в реестре после завершения загрузки (полезно для больших и долго загружающихся образов).
- OpenStack Identity (Keystone) - пакет для унификации средств аутентификации и обеспечения интеграции компонентов OpenStack с существующими системами аутентификации, в том числе построенными на базе Active Directory и LDAP. Возможно использование и обычных средств входа с использованием логина/пароля или AWS. На плечи Keystone вынесены такие операции, как управление пользователями, проектами и правами доступа;
В новой версии представлен упрощённый интерфейс первичной настройки возможностей системы управления идентификацией. В API расширено число поддерживаемых операций с токенами;
- OpenStack Dashboard (Horizon) - web-интерфейс для управления системой, построенный на основе web-фреймворка Django и приложения django-openstack. Интерфейс представлен как для администраторов, так и для пользователей. Поддерживается широкий спектр средств для управления ресурсами, созданием и запуском окружений, установкой лимитов. Возможно подключение плагинов, например, с реализацией средств мониторинга.
В новой версии представлена вкладка для задания метаданных в формате ключ-значение. Панели теперь отрисовываются на стороне клиента при помощи библиотеки AngularJS. Добавлен плагин с инструментами для разработчиков. Реализована возможность предоставления пользователю выбора одной из нескольких предопределённых тем оформления.
- Networking (Neutron) - фреймворк для выполнения задач, связанных с созданием, конфигурированием и сопровождением сетей внутри дата-центров. Quantum поддерживает динамическую конфигурацию сети и может быть использован для настройки как виртуальных сетей, так и физических хостов. Quantum поддерживает расширение функциональности через плагины и может решать различные административные задачи, от создания портов до настройки маршрутов и VLAN.
В новой версии добавлена поддержка DVR (Distributed Virtual Router), расширены возможности агента третьего сетевого уровня (Layer 3), в агент LinuxBridge добавлена возможность ограничения полосы пропускания, реализована функция привязки тегов к сетевым ресурсам, появилась поддержка выбора MTU. Добавлена функция "get me a network", позволяющая в один шаг создать сеть, подключить к ней сервер, назначить IP и запустить сеть.
- Block Storage (Cinder) - многофункциональное и расширяемое хранилище блочных устройств и дисковых разделов, поддерживающее также работу с ранее созданными разделами, развёрнутыми в процессе использования прошлых выпусков OpenStack. Ранее Cinder был реализован как подпроект к рамках сервиса OpenStack Compute, но отныне выделен в обособленную подсистему, развиваемую отдельной командой разработчиков.
В новой версии представлена порция новых драйверов (Fujitsu ETERNUS, Nexenta Edge, r NexentaStor5, Coho Data, Tegile IntelliFlash), добавлена поддержка репликации для различных драйверов (Dell Storage Center, Huawei Cinder, HPE 3PAR, HPE LeftHand, IBM Storwize), добавлена поддержка резервного копирования снапшотов, добавлена драйвер для сохранения бэкапов в Google Cloud Storage.
- OpenStack Metering (Ceilometer) - нацелен на сбор данных о работе системы и проведение мониторинга, предоставляя пользователям единый источник данных об использовании всех сервисов OpenStack;
В новой версии добавлена поддержка пакетной обработки сообщений из очереди, добавлена поддержка CORS (Cross Origin Resource Sharing), в Gnocchi реализовано кэширование ресурсов.
- OpenStack Orchestration (Heat) - обеспечивает работу сервиса для управления жизненным циклом работающих в облаке приложений и автоматизации распределения для приложений вычислительных ресурсов, сетевой пропускной способности и места в хранилище.
В новой версии расширены возможности движка convergence, который адаптирован для более высокой нагрузки и теперь поддерживает горизонтальное масштабирование.
- OpenStack Database Service (Trove) - система для поддержания сервиса облачных баз данных (Database as a Service), на базе как реляционных, так и не реляционных СУБД. Trove позволяет упростить обслуживание нескольких экземпляров СУБД, предоставляя средства для выполнения таких операций, как развёртывание СУБД, настройка, применение патчей, резервное копирование, восстановление после сбоев и мониторинг. Полноценная поддержка обеспечена для MySQL и Percona. Экспериментальная поддержка доступна для MongoDB, Redis, Cassandra и Couchbase;
В новой версии добавлена поддержка СУБД CouchDB, значительно расширена поддержка СУБД Apache Cassandra, добавлена поддержка кластерных конфигураций на базе MariaDB, добавлена поддержка Percona XtraBackup 2.3.
- OpenStack Object Storage (Swift) - распределенное, отказоустойчивое и высоконадежное хранилище объектов. Хранимые объекты сохраняются одновременно на несколько узлов кластера в датацентре, при этом обеспечивается автоматический контроль целостности и репликация при отключении/добавлении узлов. Хранилище масштабируется горизонтально, т.е. для увеличения размера достаточно просто добавить новые узлы, конфигурация которых производится автоматически. При выходе узла из строя, его содержимое воспроизводится на других узлах сети для обеспечения должной избыточности. Дублирование информации позволяет использовать для формирования кластера типичные недорогие серверы, не заботясь о надежности каждого из них в отдельности.
- Bare Metal Provisioning Service (Ironic), компонент, позволяющий использовать существующие методы развёртывания конфигураций виртуальных машин для развёртывания систем на реальном оборудовании или для таких применений как контейнеры Linux.
- OpenStack Data Processing (Sahara), компонент для автоматизации сопровождения и управления большими кластерами обработки данных, построенных на базе Apache Hadoop или Apache Spark.
- DNS Service (Designate), реализация сервиса DNSaaS, предоставляющего средства для управления доменными именами. Поддерживаются серверы PowerDNS и Bind9.
- Application Catalog (Murano), каталог приложений, позволяющий размещать различные адаптированные для облачного применения приложения с разбивкой по категориям;
- Magnum, сервис для оркестровки контейнеров, позволяет использовать Docker и Kubernetes в качестве ресурсов OpenStack.
- Barbican, система хранения и управления ключами, паролями и сертификатами.
- Manila, сервис совместного доступа к файлам.
- Zaqar, сервис обмена сообщениями и доставки уведомлений, напоминающий Amazon SQS.