Вышел очередной релиз одного из крупнейших проектов Open Source — OpenStack. 16-я версия облачной IaaS-платформы получила название Pike и, как и последующие за ней версии OpenStack, — Queens и Rocky — нацелена на упрощение развертывания и легкость обновления, поэтому не удивительно, что она не может похвастаться наличием каких-то революционных новшеств. Нужно заметить, что Pike базируется на вышедшем в марте OpenStack Ocata. Особенностью этого релиза было ориентирование на повышение стабильности и производительности, что соответствовало желаниям заказчиков, уставших от сложностей, связанных с недостаточно устойчивой работой вычислительных и сетевых сервисов OpenStack.

К числу новых возможностей, которые внедрены в Pike для улучшения гибкости работы, эффективности управления и масштабируемости, относятся следующие:

  • Nova Cells v2: архитектура вычислений Nova Cells требуется для крупномасштабных развертываний и взаимодействия между API. Вторая версия этой подсистемы OpenStack получила улучшенные средства масштабирования баз данных, простой текстовый протокол сообщений, а также возможность отключения доменов с ошибками и устранение отдельных точек отказа.
  • Python 3.5: поддержка последней версии языка программирования Python имеет первостепенное значение, поскольку на нем пишется абсолютное большинство подсистем и программных интерфейсов OpenStack. По сравнению с веткой Python 2.x, Python 3.5 получил длинный перечень преимуществ, что наверняка скажется на общем увеличении производительности облачной платформы, к тому же срок поддержки второй ветки заканчивается в 2020 г.
  • etcd v3: распределённая система хранения параметров конфигурации etcd, задаваемых как пара ключ/значение, применяется в качестве низкоуровневого звена для хранения содержимого файлов и координации достижения консенсуса между узлами. Она разрабатывается командой CoreOS и уже нашла применение, например, в Google Kubernetes и в PaaS от Huawei. Начиная с этого выпуска, etcd v3 будет использоваться для хранения критически важных данных.
  • Ironic: этот проект проник в вычислительную среду OpenStack вместе с релизом Juno. Одна из целей Ironic — TripleO (OpenStack-on-OpenStack) или взаимозамена комплексных приложений без замены «голого» железа (bare metal), необходимого для развертывания облака. В выпуске Pike разработчики Ironic добавили возможность подключения к сетям Neutron. Модульная архитектура с возможностью подключения различных устройств позволяет вендорам органично интегрировать свои решения с OpenStack.
  • Ironic наряду с Cinder, Neutron, Nova и Swift получил поддержку т. н. скользящих обновлений (rolling upgrades), позволяя операторам добавлять новый функционал без отключения облачных служб, что в целом упростит обновление OpenStack.
  • Cinder: сервис блочного хранения OpenStack обогатился функцией возврата к снапшоту (revert to snapshot), что требуется для восстановления текущего состояние виртуальной машины из ранее сохраненного, а также возможностью расширения томов. Возврат к сохраненному снапшоту может пригодиться после повреждения данных или сброса настроек после выполнения тестов. Объём хранилища расширяется без свертывания виртуальных машин, тем самым сохраняя работоспособность онлайн-приложений.
  • Kolla — инструмент управления жизненным циклом контейнеров, который также получил некоторые улучшения. Он предоставляет готовые контейнеры и инструменты для развертывания в облаке OpenStack. Применение Kolla в связке с такими DevOps-программами, как Kubernetes и Ansible, упрощает управление и обновление OpenStack.
  • Swift: объектное хранилище OpenStack научилось работать с алгоритмами Erasure coding (код избыточности), которые за счет усложнения вычислительной надстройки лучше защищают данные. Swift решает задачу восстановления информации при падении сети при помощи фрагментарного сбора данных через отдельные дата-центры. Новая версия хранилища обзавелась более быстрым движком, позволяя пользователям запускать на сервере несколько параллельных процессов одновременно.
  • Zun: финальный выпуск готовой к промышленному использованию собственной службы управления контейнерами OpenStack.

Этот перечень усовершенствований Pike был бы не полным без упоминания основной возможности: если в Ocata работа разработчиков была нацелена на расширение возможностей соединения облачных вычислительных сред двух или более поставщиков услуг с целью трассировки нагрузки (cloud federation), то в новой версии OpenStack их внимание было обращено на усовершенствование модульности. Другими словами, модульная архитектура OpenStack позволяет выбрать для подключения к стеку инфраструктуры конкретную функциональность — будь то выделенные серверы для создания облаков или резервное хранилище блоков без развертывания полного стека подсистем.

К примеру, OpenStack Ironic предлагает расширенную интеграцию для хранения блоков Cinder и Neutron, а Cinder может выступать в качестве автономного хранилища для виртуальных машин, выделенных серверов или контейнеров на базе Docker или Kubernetes. «Тысячи больших и малых внедрений в частных и публичных облаках — этот опыт, полученный на протяжении семи с лишним лет, мы перенесли в Pike. Проведена работа над ошибками, доработку прошли составные OpenStack. Самое время говорить о созревании сервиса для промышленного использования, но мы также не забываем и о его наполнении новым функционалом», — сказал исполнительный директор OpenStack Foundation Джонатан Брайс.

Интерес пользователей к OpenStack закономерен, поскольку все больше и больше компаний переносят свои рабочие процессы в облака, комбинируя частные с публичными. Согласно опросу пользователей OpenStack за апрель 2017 г., решение о переходе на него большинством клиентов принимается из боязни вендор-лока, то есть привязки к единому поставщику, еще 38% выбирает эту службу для взаимодействия с по крайней мере одной публичной или частной облачной средой. Данные опроса также показали, что по сравнению с прошлым годом количество внедрений выросло на 44%. Наибольшее число внедрений отмечено в Европе и Китае, где OpenStack применяют такие компании, как China UnionPay, Paddy Power Betfair и Tencent. OpenStack поддерживает работу более тысячи частных облаков, работающих на более чем 5 млн. физических ядер.