OpenStack

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
OpenStack
OpenStack.png
Тип Облачные вычисления
Автор Rackspace
Разработчик сообщество
Написана на Python
Операционная система Кроссплатформенное ПО
Первый выпуск 21 октября 2010
Последняя версия Victoria (14 октября 2020)
Лицензия Apache License 2.0
Сайт openstack.org
Commons-logo.svg Медиафайлы на Викискладе

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

История[править | править код]

Инициатива была начата в июле 2010 года, когда Rackspace совместно с NASA объявили об открытии кода проектов платформы Nebula (IaaS для NASA) и платформы Rackspace Cloud Files.

В мае 2011 года Canonical объявила, что OpenStack станет основной облачной платформой Ubuntu уже с выходом версии 11.10 Ubuntu Server и Ubuntu Enterprise Cloud. До этого в дистрибутиве для этих же целей использовалась платформа Eucalyptus[1].

В октябре 2011 года Rackspace объявила о намерении передать все права на код и торговую марку OpenStack некоммерческой организации OpenStack Foundation, открытие которой запланировано на 2012 год[2].

В середине августа 2012 года компания Red Hat представила предварительную версию своего дистрибутива на основе OpenStack. Коммерческая версия (с поддержкой) появилась в июле 2013 года с релизом "Grizzly".[3]

В сентябре 2014 года Cisco объявила о приобретении компании Metacloud, специализирующейся на создании и обслуживании облачных систем на базе платформы с открытым кодом OpenStack. Эта сделка стала крупнейшей за всю историю сообщества OpenStack.

В 2014 году к разработке OpenStack присоединилось более 180 компаний.

По состоянию на 2015 организация OpenStack Foundation насчитывает более чем 500 участников, включая AppFormix, Arista Networks, AT&T, AMD, Avaya, Brocade, Canonical, Cisco, Citrix, Comcast, Cray, Dell, Dreamhost, EMC, Ericsson, Fujitsu, Go Daddy, Google, Hewlett-Packard, Hitachi Data Systems, Huawei, IBM, Intel, Internap, Juniper Networks, Mellanox, Mirantis, MRV, NEC, NetApp, Nexenta, Oracle, PLUMgrid, Pure Storage, Qosmos, Red Hat, Solidfire, SUSE Linux, VMware, VMTurbo, Yahoo! и ZTE.

По состоянию на 2015 год высший уровень членства («платиновый») в некоммерческой организации, координирующей разработку, у компаний AT&T, Canonical, Hewlett-Packard, IBM, Intel, Rackspace, Red Hat, SUSE[4].

История релизов[править | править код]

Номера релизов формируются по схеме YYYY.N. Например, первый релиз 2012 года имеет номер 2012.1.

В течение цикла разработки релизы именуются с использованием кодовых имен. Имена выбираются в алфавитном порядке. Например первый релиз имеет название Austin, второй релиз называется Bexar и т.д. Имена выбираются голосованием участников OpenStack Foundation. Кодовые имена выбираются из городов или стран, где проходит соответствующий саммит.

Название[5] Дата Заметки
Austin 21 октября 2010[6] EOL
Bexar 3 февраля 2011[7] EOL
Cactus 15 апреля 2011[8] EOL
Diablo 22 сентября 2011[9] EOL
Essex 5 апреля 2012[10] EOL
Folsom 27 сентября 2012[11] EOL
Grizzly 4 апреля 2013[12] EOL
Havana 17 октября 2013[13] EOL
Icehouse[14] 17 апреля 2014 EOL
Juno[15] 16 октября 2014 EOL
Kilo[16] 30 апреля 2015 EOL
Liberty 15 октября 2015 EOL
Mitaka 7 апреля 2016 EOL
Newton 6 октября 2016 EOL
Ocata 22 февраля 2017 Extended Maintenance
Pike 6 октября 2017 Extended Maintenance
Queens 28 февраля 2018 Extended Maintenance
Rocky 30 августа 2018 Extended Maintenance
Train 10 апреля 2019 Maintained
Ussuri 13 мая 2020 Maintained
Victoria 14 октября 2020 Текущий стабильный релиз

Компоненты[править | править код]

Основные компоненты OpenStack:

  • Nova — контроллер вычислительных ресурсов;
  • Glance — библиотека образов виртуальных машин, обычно с бэкендом в Swift;
  • Swift — облачное файловое хранилище;
  • Cinder — служба работы с блочными устройствами хранения данных (выведена из Nova в отдельный проект);
  • Keystone — сервис идентификации;
  • Neutron (в первых выпусках — Quantum) — сервис «подключение к сети как услуга» между интерфейсами устройств (vNIC), которые управляются другими сервисами OpenStack.
  • Horizon — графический интерфейс администрирования.
  • Heat - оркестратор
  • Ceilometer - средства сбора, нормализации и трансформации данных, предоставляемых сервисами OpenStack. Собираемые данные используются для реализации различных сценариев реагирования на события.
  • Trove - База данных
  • Sahara - Elastic Map Reduce
  • Ironic - средства управления и провижининга физическими серверами (Bare Metal Provisioning)
  • Zaqar - Multiple Tenant Cloud Messaging
  • Manila - Shared File System Service
  • Designate - DNS как сервис (DNSaaS - DNS as a Service)
  • Barbican - API безопасности
  • Searchlight - передовая и масштабируемая индексация и поиск по многопользовательским облачным ресурсам.
  • Watcher - оптимизация вычислительной нагрузки облачных ресурсов.

Nova[править | править код]

OpenStack Compute (Nova) - отвечает за создание, запуск, перезапуск, остановку виртуальных машин, и т.д. компонент для контроля вычислительных ресурсов. Модуль может работать с различными технологиями виртуализации (гипервизорами), такими, как KVMVMware, Xen, а также с Hyper-V и системами виртуализации на уровне операционной системы, такими, как LXC. Также модуль может управлять конфигурациями bare metal и high-performance computing

Nova использует компонент OpenStack Keystone для выполнения аутентификации, компонент OpenStack Horizon в качестве интерфейса администрирования и компонент OpenStack Glance для предоставления своих образов. Самым тесным является взаимодействие с компонентом Glance, который требуется компоненту Nova для загрузки образов с целью их последующего запуска.[17] 

Модуль поддерживает горизонтальное масштабирование на стандартном аппаратном обеспечении, и позволяет интегрироваться с унаследованными системами.

Glance[править | править код]

Компонент Image Service (Glance) позволяет обнаруживать, регистрировать и извлекать образы виртуальных машин (VMI - Virtual Machine Images).

Glance также хранит и управляет метаданными VMI.

Данный модуль управляет образами в кластере OpenStack, но не отвечает за их фактическое хранение. Glance обеспечивает абстрагирование нескольких технологий хранения — в диапазоне от простых файловых систем до систем хранения объектов, таких как проект OpenStack Object Storage (Swift). Помимо реальных образов дисков, Glance содержит метаданные и сведения о состоянии, описывающие образ.[17]

Swift[править | править код]

Swift (OpenStack Object Storage) — это полностью распределенное «безграничное» хранилище, которое характеризуется отказоустойчивостью и высокой надежностью Созданный аналогично Amazon S3, Swift почти полностью основан на разработках компании Rackspace.[18]

Swift функционирует как распределенная, доступная через API-интерфейс платформа хранения, которую можно интегрировать непосредственно в приложения или использовать для хранения образов виртуальных машин, резервных копий и архивов, а также менее крупных файлов, таких как фотографии и электронные письма.

Объект — это основная сущность хранения в Swift. Он содержит контент и все возможные дополнительные метаданные, ассоциированные с файлами, хранящимися в системе OpenStack Object Storage. Данные хранятся в несжатом и в незашифрованном виде и состоят из имени объекта, его контейнера и, возможно, метаданных, представленных в форме пар "ключ/значение". Объекты распределены между несколькими дисками в масштабе всего центра обработки данных, чем Swift гарантирует репликацию данных и целостность данных. Распределенная организация позволяет применять недорогие массовые аппаратные средства, а также повышает избыточность и как следствие, масштабируемость и долговечность.[19]

Cinder[править | править код]

Cinder (OpenStack Block Storage)  - блочное хранилище (в отличие от объектного хранилища Swift). Реализация подобна решению Amazon Elastic Block Store[19]

Watcher[править | править код]

Watcher (OpenStack Infrastructure Optimization) предназначен для оптимизации существующих виртуальных ресурсов – таких как виртуальные машины, образы, тома. Он позволяет провести балансировку кластера за счет применения сложных стратегий, которые в результате подготавливают план действий для администратора кластера.[20]

Примечания[править | править код]

  1. Canonical будет использовать OpenStack в качестве основной cloud-платформы
  2. OpenStack Foundation
  3. Red Hat Announces OpenStack-powered Product Offerings to Deliver on Open Hybrid Cloud Vision. Red Hat Press Release (12 июня 2013). Дата обращения: 22 июля 2015.
  4. Participating Companies
  5. Release Naming — Wiki
  6. OpenStack Projects " OpenStack Open Source Cloud Computing Software
  7. BexarReleaseSchedule — Wiki Архивировано 2 ноября 2012 года.
  8. CactusReleaseSchedule — Wiki
  9. DiabloReleaseSchedule — Wiki
  10. EssexReleaseSchedule — Wiki
  11. FolsomReleaseSchedule — Wiki
  12. GrizzlyReleaseSchedule — Wiki
  13. Havana_Release_Schedule — Wiki
  14. OpenStack «I» release naming — launchpad
  15. Juno Release Schedule — Wiki
  16. Список релизов OpenStack (en).
  17. 1 2 Знакомство с OpenStack: компонент Glance и компонент Nova. www.ibm.com (19 мая 2014). Дата обращения: 18 апреля 2016.
  18. OpenStack Swift - OpenStack.ru (недоступная ссылка). OpenStack.ru. Дата обращения: 25 апреля 2016. Архивировано 25 апреля 2016 года.
  19. 1 2 Знакомство с OpenStack : Storage-компоненты Swift и Cinder. www.ibm.com (6 марта 2015). Дата обращения: 25 апреля 2016.
  20. OpenStack Watcher Wiki.

Ссылки[править | править код]

Литература[править | править код]

  • Маркелов А. OpenStack. Практическое знакомство с облачной операционной системой. — 3-е. — ДМК Пресс, 2017. — 268 с. — ISBN 978-5-97060-520-2.