OpenStack

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
OpenStack
OpenStack.png
Тип

Облачные вычисления

Написана на

Python

Операционная система

Кроссплатформенное ПО

Последняя версия

Mitaka (7 апреля 2016)[1] (15 октября 2015)

Лицензия

Apache License 2.0

Сайт

openstack.org

Commons-logo.svg OpenStack на Викискладе

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

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

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

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

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

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

В сентябре 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, NEC, NetApp, Nexenta, Oracle, PLUMgrid, Pure Storage, Qosmos, Red Hat, Solidfire, SUSE Linux, VMware, VMTurbo и Yahoo!.

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

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

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

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

Название[6] Дата Заметки
Austin 21 октября 2010[7]
Bexar 3 февраля 2011[8]
Cactus 15 апреля 2011[9]
Diablo 22 сентября 2011[10]
Essex 5 апреля 2012[11]
Folsom 27 сентября 2012[12]
Grizzly 4 апреля 2013[13]
Havana 17 октября 2013[14]
Icehouse[15] 17 апреля 2014
Juno[16] 16 октября 2014
Kilo[17] 30 апреля 2015
Liberty 15 октября 2015
Mitaka 7 апреля 2016 текущий стабильный релиз
Newton 6 октября 2016 (ожидается), в разработке

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

Основные компоненты 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 - передовая и масштабируемая индексация и поиск по многопользовательских облачных ресурсах.

Nova[править | править вики-текст]

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

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

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

Glance[править | править вики-текст]

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

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

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

Swift[править | править вики-текст]

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

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

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

Cinder[править | править вики-текст]

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

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

Ссылки[править | править вики-текст]