Если говорить о родословной ПО с открытым исходным кодом, то OpenStack довольно родовито. Появилось на свет оно в июле 2010 г. в результате совместной инициативы НАСА и компании Rackspace, главной целью которой было упростить управление как публичными, так и частными облачными вычислительными сервисами, развернутыми на традиционном компьютерном оборудовании. С тех пор оно получило поддержку многих крупных корпораций, таких как Intel, IBM, HP, Cisco, Dell, EMC и Red Hat. Под руководством фонда OpenStack Foundation, созданной в сентябре 2012-го некоммерческой организации, это ПО устойчиво развивалось и превратилась в полнофункциональную платформу для создания облаков. Текущая стабильная версия OpenStack носит название Icehouse и представляет собой девятый релиз.

Интеграция OpenStack в корпоративную ИТ-стратегию может дать некоторые важные преимущества. Устраняя сложности, связанные с управлением и развертыванием инфраструктуры по запросу, платформа может резко сократить время, необходимое для создания приложений и вывода новых продуктов на рынок. Гибкий и открытый дизайн OpenStack допускает беспрепятственную интеграцию с имеющимися бизнес-системами, созданы ли они сторонними разработчиками или являются самостоятельной разработкой самих предприятий. Благодаря открытому исходному коду программы бизнес не рискует попасть в зависимость от конкретного производителя. Одновременно обеспечивается совместимость с такими провайдерами частных облаков, как Amazon AWS, и облегчается создание гибридных облаков.

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

Приведём краткий обзор компонентов OpenStack с описанием их функций.

Nova (вычисления)

Компонент Nova, известный также под названием OpenStack Compute, представляет собой центр управления облачной вычислительной платформой. Он взаимодействует с ПО виртуализации системы, благодаря чему компании могут быстро предоставлять крупные сети виртуальных машин и управлять ими. Nova не зависит от используемого оборудования и поддерживает широкий спектр стандартных аппаратных конфигураций. Он остается составной частью OpenStack из первого релиза и является аналогом Amazon EC2 и Microsoft Azure Virtual Machines.

Swift (объектное хранение)

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

Cinder (блочное хранение)

Cinder предоставляет устройства постоянного блочного хранения, используемые в качестве виртуальных дисков, подключаемых к вычислительным комплексам, которыми управляет Nova. Возможна интеграция с решениями для корпоративного хранения сторонних производителей, таких как Ceph, NetApp, Nexenta, SolidFire и Zadara. Функционально данный сервис эквивалентен Amazon Elastic Block Storage.

Neutron (сетевые функции)

Neutron часто называют услугой типа «сети как сервис». Это интерфейсы для конфигурирования программно управляемых сетей и управления адресами на платформе OpenStack. Они позволяют следить за созданием виртуальных сетей с передовой топологией, таких как виртуальные частные сети, и индивидуальных сетей для каждого арендатора. Neutron — сравнительно новый компонент, он вошел в состав восьмой версии OpenStack, выпущенной в октябре 2013 г.

Horizon (приборная доска)

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

Keystone (сервис идентификации)

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

Glance (сервис образов)

Glance предоставляет сервисы для создания, хранения и извлечения образов виртуальных машин и сопутствующих метаданных в среде OpenStack. Хотя этот компонент можно использовать для управления шаблонами дисков и резервного копирования виртуальных машин, он не несет прямой ответственности за хранение. Его можно интегрировать с различными серверными системами хранения, от простой файловой системы до таких сервисов объектного хранения, как Swift.

Ceilometer (телеметрия)

Ceilometer — это среда для сбора данных, используемых при мониторинге и измерении различных внутренних показателей (таких, как загрузка процессора и сети) в облаке OpenStack. Благодаря агрегированию данных о загрузке и производительности в десятках точек облака Ceilometer может обеспечить весьма детальное представление об использовании конкретного ресурса и выявить потенциальные узкие места. А кроме того, он способен вести учет используемых ресурсов в тех случаях, когда за это взимается плата.

Heat (оркестрирование)

Heat представляет собой движок оркестрирования на основе шаблонов, сходный с AWS CloudFormation. Он может использоваться разработчиками приложений для определения требований к инфраструктуре, а также для автоматического предоставления и развертывания облачной инфраструктуры, необходимой для работы их приложений.

Trove (сервис СУБД)

Новейший компонент OpenStack — масштабируемая и надежная услуга типа «СУБД как сервис», поддерживающая движки реляционной и нереляционной СУБД. Цель — облегчить бремя сложных административных задач, связанных с управлением высокопроизводительными СУБД.

Будущее

OpenStack продолжает успешно развиваться. Свыше 120 компаний обеспечивают поддержку этого ПО. В разработке последнего релиза активно участвовало более 1200 программистов. Всего за четыре года OpenStack превратился в развитый многофункциональный набор надежных и расширяемых компонентов для создания облаков, даже самых крупных корпоративных. С учетом растущего интереса к частным облакам гибкий дизайн, открытая архитектура и интероперабельность OpenStack оказываются вескими причинами для того, чтобы это ПО заняло видное место на современном предприятии.