OpenStack продолжает покорять корпоративную среду. В настоящее время комплекс, который объединяет под своим крылом несколько Open Source-проектов и служит для создания инфраструктурных облачных сервисов и облачных хранилищ, работает в 75 публичных ЦОДах и тысячах частных облаков, масштабируясь на 10 млн. вычислительных ядер. Однако, как отмечает портал ZDNet, OpenStack всегда преследовало две проблемы — довольно проблематичный переход с одной версии на другую, а также сложности с развертыванием на серверах без предустановленных ОС, или «голом» железе (bare metal). Недавно вышедшая версия OpenStack 18 Rocky нацелена на то, чтобы устранить накопившиеся недостатки, а также привнести новые возможности.

Облако OpenStack с открытым кодом всегда хорошо работало на различных аппаратных архитектурах — виртуальных машинах (ВМ), графических процессорах (GPU), контейнерах и физических серверах, но, как уже говорилось, развертывание OpenStack на «голом» железе сопровождалось сложностями. Чтобы упростить это, служба OpenStack Ironic получила новые и более совершенные возможности для управления и автоматизации. В свою очередь служба OpenStack Compute (Nova), которая отвечает за создание, запуск, перезапуск, остановку ВМ, обзавелась поддержкой «голых» серверов — т. е. пользователи могут управлять физической инфраструктурой так же, как они управляют ВМ (модель мультиарендности).

К числу других усовершенствований Ironic можно отнести следующие:

  • пользовательские настройки BIOS: BIOS (базовая система ввода-вывода) предназначена для инициализации оборудования и имеет множество опций конфигурации, которые поддерживают различные варианты настроек. В числе прочего они позволяют повысить производительность, настроить параметры управления питанием или включить технологии, такие как SR-IOV или комплект разработки Data Plane Development Kit (DPDK). Ironic также отвечает за настройку виртуализации сетевых функций (NFV);
  • группы проводников: под «проводником» в Ironic подразумевается служба, которая для выполнения операций с оборудованием задействует драйверы. В новой версии OpenStack появилось свойство «conductor_group» — оно налагает ограничения на доступ узлов к конкретному проводнику (или группе проводников). Это позволяет пользователям изолировать узлы исходя из их физического расположения, что сокращает сетевые переходы и повышает безопасность и производительность соединений;
  • RAM-интерфейс для развертывания дисков: в Ironic появился новый интерфейс для бездисковых развертываний, что может пригодиться для масштабируемых и высокопроизводительных вычислений (HPC). Интерфейс понадобится для создания инстансов (фиксированных вычислительных сред) и быстрого развертывания крупномасштабных рабочих окружений.

«OpenStack Ironic предназначен для облачных служб, развернутых на „голом“ железе. Он обеспечивает автоматизацию, отвечает за передачу ресурсов, обычно связанных с виртуальными машинами, на физические серверы. В итоге это позволяет запускать виртуальные машины и контейнеры на одной инфраструктурной платформе, и это то, что требуется облачным провайдерам», — отметила главный инженер-программист Red Hat и руководитель проектной команды OpenStack Ironic Джулия Кригер.

По словам IaaS-архитектора Oath (материнская компания Yahoo и AOL) Джеймса Пенника, его компания применяет OpenStack для управления сотнями тысяч вычислительных ресурсов bare metal в собственных ЦОДах. «Мы внесли существенные изменения в процесс цепочек поставок. Это дало нам то, что теперь OpenStack проводит/получает традиционные запросы к физическим серверам в течение нескольких минут. Мы с нетерпением ждем развертывания релиза Rocky, чтобы воспользоваться его многочисленными усовершенствованиями, такими как управление BIOS. Они позволят упростить поддержку, управление и развертывание нашей инфраструктуры», — сказал он.

Но не все провайдеры делают столь оптимистичные прогнозы по поводу применения новых релизов OpenStack. Некоторые не планируют устанавливать Rocky ранее 2021 г., поскольку у них свежи воспоминания со сложностями с обновлением релизов. Тем не менее, в OpenStack Rocky имеется функция Fast Forward Upgrade (FFU), которая предназначена для сглаживания острых углов, которые могут возникнуть при обновлении, а также для того, чтобы быстрее освоить новые версии. Для упрощения развертывания облака OpenStack с использованием механизма TripleO (OpenStack-on-OpenStack) в FFU встроена возможность пропуска промежуточных выпусков (Release «N») для перехода на Release «N + 3» (текущая итерация FFU позволяет обновиться с Newton до Queens).

Другие новые функции OpenStack Rocky:

  • система управления ресурсами аппаратного и программного ускорения Cyborg отвечает за управление жизненным циклом ускорителей PU, FPGA, DPDK и SSD. Система появилась в предыдущей версии OpenStack. В Rocky она обзавелась поддержкой нового REST API для FPGA. Эти чипы с плавающей запятой применяются для обучения машинного интеллекта, распознавания изображений и других высокоинтеллектуальных нагрузок. Преимущество FPGA состоит в том, что они позволяют динамически изменять функции, выполняемые FPGA-устройством;
  • Qinling (от слов CHEEN и LEENG) — это проект FaaS (функции как услуга), который впервые появился в Rocky. В его задачи входит обеспечение бессерверной прослойки поверх облаков OpenStack. Он также позволяет разработчикам запускать функции в облаках OpenStack без управления серверами, ВМ или контейнерами и может подключаться к другим сервисам OpenStack, таким как Keystone;
  • Masakari — служба, обеспечивающая автоматическое восстановление после сбоев, — получила расширенные функции мониторинга для выявления сбоев в инстансе. К ним относятся зависание ОС, повреждение данных или отказ в планировании.
  • Octavia. В этот проект для балансировки нагрузок добавлена поддержка UDP (протокол пользовательских диаграмм), что требуется при балансировке нагрузки в периферийных вычислениях и IoT.
  • Magnum — проект по созданию движков для оркестровки контейнеров и переводу их ресурсов под применение в OpenStack — получил сертификацию в качестве установщика Kubernetes (Certified Kubernetes installer), что значительно упрощает развертывание Kubernetes на OpenStack.