openstack что это такое

Итак, вы решили развернуть OpenStack

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Вы наверняка слышали об OpenStack. Блин, да о нем говорят на каждом более-менее связанном мероприятии. Все кому не лень пропагандируют OpenStack. Модно, молодежно, все уже есть, Open Source, вливайся давай. И вот наслушавшись тонны маркетингового булшита, вы решаетесь: Будем ставить OpenStack!

Я не проводил специальных изысканий на этот счет, но отрицательных отзывов о нем вроде бы не так много, по крайней мере на русском. На первый взгляд все выглядит просто фантастически. Что ж, извольте представить мой личный пост ненависти к OpenStack.

Предыстория

Об OpenStack я узнал на одной из конференций по OSS году примерно в 2012-м. В то время я работал в компании активно использующей большие кластера (100+ машин), однако без виртуализации, оркестрирования (kickstarter + IBM CSM в счет?) и в основном с пакетным исполнением задач: запустил, отработало, забрал результат. Полноценного понимания что такое облака и зачем они нужны еще не было, но интерес возник. Конечно сразу же возникло желание развернуть новую крутую штуку, которая вот прям сейчас сделает все хорошо.

Чуть позже в том же году, такая возможность представилась, правда уже в рамках стартапа. Нужно было развернуть проект, использующий кластеризацию и горизонтальное масштабирование, при этом нужна была изоляция окружений и совместное использование ресурсов одной машины несколькими службами — бюджет все-таки не резиновый.

В общем, в 2012-м мы развернули OpenStack, на тот момент это был Essex, запустили проект, прожили с такой облачной инфраструктурой до 2014-го года, кажется до релиза Grizzly включительно. Сил и желания поддерживать его дальше не было, и OpenStack был с позором выпилен.

Когда-то давно я даже думал написать статью как правильно его ставить, с комментариями на что обратить внимание. Но знаете, я передумал. Не ставьте его лучше вообще. Просто не связывайтесь. Вероятно, часть тезисов уже устарела, напишите в комментариях о том какой я м***к и ничего не понял, но в целом не думаю, что ситуация кардинально поменялась.

Итак, приступим, что же мне не нравится в Openstack и весьма вероятно не понравится вам.

Он чересчур комплексный

Даже не так. Он, *****, МОНСТРУОЗНЫЙ. Нет, взгляните сами.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Когда-то давно, когда мы ставили Essex, там было все относительно просто и понятно. Keystone (служба авторизации), Glance (служба хранилища образов) и Nova (служба управления гипервизорами). Кроме того там еще был Horizon (дашборд) и куча мелких и не очень зависимостей. Каждый узел системы обрастает чуть ли не десятками вспомогательных демонов. На controller node через некоторое время становится страшно смотреть.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Так, когда наш виртуальный кластер приблизился к 20 серверам, controller node стал безбожно тормозить, по непонятной причине. Ну точнее понятной, но мне непонятно, зачем identity service грузила процессор на 100%?

Из комплексности происходит следующий недостаток.

Он запутанный

Архитектура OpenStack достаточно сильно фрагментирована. Есть очень большое количество «движущихся частей», взаимосвязь который между собой не всегда абсолютно ясна. У вас что-то сломалось? Окей, попробуй понять где это что-то сломалось и почему. OpenStack Foundation похоже гордится, что в OpenStack более 20 миллионов строк кода, даже на главную своего сайта вынесли. Так вот, ЭТО НИФИГА НЕ ДОСТОИНСТВО.

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

Если вам надо залезть под капот, чтобы понять что там происходит…

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Дело в том, что являясь OSS, OpenStack пытается быть kind of unix-way. Т.е. под капотом все эти монструозные службы на самом деле дергают десятки и сотни unix-утилит по собственной логике, которую вам придется изучить и возможно даже дебажить. С документацией, по крайней мере раньше было, все плохо. Зачем вам рассказывать какие именно правила iptables мы добавляем на хост и для чего? У нас же суперкрутое приложение которое делает все само и не требует вашего вмешательства. Хотите добавить свои правила? Нуу, удачи, исходники-то открыты.

Пока вы более-менее вписываетесь в сценарий, предполагаемый авторами — все более-менее окей. Если же вам понадобилось сделать шаг в сторону, ждите трудностей. Запасайтесь man’ами, терпением, возможно вам придется изучить еще несколько несвязанных напрямую с задачей проблем, например как работает RabbitMQ и что ему еще надо?

Из этого проистекает следующая проблема.

Он ненадежный

Казалось бы логично, чем сложнее система, тем менее она надежна. Но видимо эта истина не для всех. Готовьтесь искать источник подземных стуков, запускать демоны в ПРАВИЛЬНОЙ последовательности, много гуглить и читать логи, копаться в исходниках и вот это все.

Некоторые решения на мой взгляд просто спорные. Служба метаданных на виртуальном IP-адресе эмулируемом через iptables? Серьезно? Очень «надежная» работа dnsmasq по выдаче IP виртуалкам. Тысячи их.

И это усугубляется тем, что…

Он становится еще больше

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

Например, посмотрите на текущий список служб, каждая из которых добавляет еще несколько демонов на вашу машину:

Например, во времена Essex не было простого способа добавить запись о вашей новой виртуалке в ваш DNS-сервис. Руками — пожалуйста. Хуки? Не, не слышали. Я рождения designate так и не дождался.

Он ломается

От релиза к релизу. Т.е. ну вот вы наконец-то запилили инфраструктуру своей мечты, все худо-бедно работает как рассчитывали, но не хватает одной мааааленькой детали. А в новом релизе она есть. Ну по крайней мере по Release Notes.

Окей гугл, давай обновим наш OpenStack. И тут выясняется, что функционал, который вы с радостью использовали — выпилили. Ну потому что. Ну некрасивый он был и вообще, мы лучше сделаем, честно-честно. В следующем релизе. Может быть. А пока вот вам попроще, но ведь работает же! Ну и плевать что не в вашем случае, но работает!

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

А в следующем релизе ребята из OpenStack решили что баста, мы выпилим функционал работы с сетью в отдельный модуль (будущий neutron), реализуем что-нибудь простое вроде один роутер на виртуальную сеть ну и играйтесь пока. Т.е. нужно было бы пустить весь трафик целого кластера через единичный узел нашей сети, он бы и стал бутылочным горлышком.

В итоге, OpenStack это такая штука, которая вот действительно, работает — не трогай. Даже не пытайся туда свои рученки совать, п**р. Лучше даже на всякий случай хосты не перезагружать, а то вдруг оно больше не поднимется? Любое обновление — это аврал, нервы, ненависть.

Он сырой (местами)

А еще очень дивное чувство испытываешь, когда тебе нужен функционал, ну, скажем, деление на зоны. Ну вот есть у тебя машины с большими винтами, есть с SSD, есть с видюхами, хочу разбить кластер на зоны, чтобы виртуалка падала на ту машину, у которой необходимый ресурс есть. Ну ок, читаем доку, вроде бы availability zones подходит. Настраиваем, включаем. И ничего. В доке написано что все должно, а на практике ничего. Лезем в код, а там.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Будет реализовано. В следующем релизе. Может быть. Ну ты понял. Смотри предыдущий пункт.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Есть ли плюсы, какие будут выводы?

Лично для меня вывод простой. Ванильную версию OpenStack лучше не использовать. Я не знаю как обстоят дела с вендорскими версиями и у всяких контор, торгующих инсталляциями «под ключ», но как по мне это несколько противоречит самой идеологии «свободного облака». Мы опять получаем vendor lock-in, только под другим соусом.

Хотите попытать счастье с ванильным OpenStack? Нет, ну в целом пожалуйста. Плагинов много, комьюнити большое, маркетингового булшита вообще выше крыши. Удачи, в общем. Но для небольших и средних инсталляций я бы скорее не советовал.

На мой взгляд одна из главных проблем OpenStack проистекает из не совсем верного архитектурного посыла. Стремясь сделать просто для конечного пользователя, они сделали по итогу слишком сложно. Любой допил под свои нужды превращается в кошмар, потому что даже такой простой и банальной вещи как хуки на события не завезли. А как бы это упростило реализацию многих вещей…

В общем после полутора лет борьбы с OpenStack мы от него отказались и перешли на другое облако. Управление инфраструктурой стало простым и приятным, а обновлять версий также просто как apt dist-upgrade.

Что это за облако и почему оно удобнее OpenStack я постараюсь рассказать в следующей статье. (Спойлер: это OpenNebula).

Источник

The Most Widely Deployed Open Source Cloud Software in the World

Deployed by thousands. Proven production at scale. OpenStack is a set of software components that provide common services for cloud infrastructure.

OpenStack is developed by the community. For the community. Learn how to contribute

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

OpenInfra Live: Keynotes

Rewatch the global event! Exclusive Announcements. Live Demos. OpenStack + Kubernetes. Hybrid Cloud Economics.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Cloud Infrastructure for Virtual Machines, Bare Metal, and Containers

Openstack controls large pools of compute, storage, and networking resources, all managed through APIs or a dashboard.

Beyond standard infrastructure-as-a-service functionality, additional components provide orchestration, fault management and service management amongst other services to ensure high availability of user applications.

On-Premises

Host your cloud infrastructure internally or find an OpenStack partner in the Marketplace

Public Cloud

Leverage one of the 70+ OpenStack powered public cloud data centers

At the Edge

Telecoms and retailers rely on OpenStack for their distributed systems

Latest Release: OpenStack Xena

Marketplace Spotlight

The OpenStack Marketplace is filled with experts working across industries, use cases, and regions to help your organization achieve your goals.

Mirantis is the #1 pure play OpenStack company. We deliver the technology, integration, training & support needed to succeed with production-grade clouds. More customers rely on Mirantis than anyone else to scale out OpenStack without vendor lock-in.

OpenInfra Foundation Member Spotlight

Founded in 2012, 99Cloud Inc. is the Evangelist of OpenStack Best Practices in China, focusing on solving the last kilometer problems for enterprise in OpenStack adoption. 99Cloud provides clients with flexible, open, stable, reliable and high performance enterprise-level cloud solutions covering FSI, Gov., Power etc.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

99Cloud is Gold member of OpenStack Foundation, and ranked Top 10 in OpenStack Code contribution, worldwide, and world’s Top10 in projects including Horizon, Murano, Tacker, Kolla, Senlin, Sahara, Trove and Tempest etc.

The World Runs on OpenStack

OpenStack is trusted to manage 20 Million+ cores around the world, across dozens of industries.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Blizzard Entertainment

Video game developer, Blizzard Entertainment, implements OpenStack autoscaling to support running video games, like best-selling game Overwatch, in the cloud.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Walmart

Walmart has developed and is currently using a product called Galaxy, which is a multi-cloud validation tool that minimizes the mean time to detect issues on any OpenStack cloud. Galaxy performs the validation checks required to declare the health of all OpenStack clouds.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

China Mobile

China Mobile’s telecom network has more than 800 million subscribers and 3 million base stations. China Mobile is now building up the biggest NFV network based on OpenStack with more than 50,000 servers in the network.

OpenStack is a top-level open infrastructure project supported by the Open Infrastructure Foundation (OpenInfra Foundation)

Subscribe to News About OpenStack

Stay up to date on OpenStack and the Open Infrastructure community.

Источник

Облако OpenStack: мифы и реальность

Проект OpenStack возник по инициативе двух производителей и объединил их продукты – объектное хранилище Rackspace и систему управления гипервизорами NASA. «OpenStack призван помочь организациям предоставлять облачные вычислительные ресурсы, запущенные на стандартном оборудовании», – заявляют вендоры. В данном материале мы попробуем разобраться, так ли это на самом деле.

OpenStack сегодня

Первый релиз OpenStack вышел в октябре 2010 г. Так компания Rackspace стала одним из ближайших конкурентов другого облачного провайдера IaaS – Amazon Web Services (AWS), который в то время сильно терял свои позиции. По сути, OpenStack – копия AWS: многие сервисы и процессы в этих платформах одинаковы и даже совместимы между собой.

IaaS: OpenStack vs. Amazon Web Services

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

О мифах

Является ли OpenStack технологией будущего, мейнстримом? Как знать. Возможно, это такой же неизведанный пока Клондайк, как Linux начала 90-х гг, когда мало кто о нем знал и совсем немногие видели. OpenStack обладает большим потенциалом, но на сегодня трудно назвать его готовым продуктом. И вот почему.

Функционал решения постоянно трансформируется, дополняется и документация не всегда успевает за этими изменениями. Зачастую в новом релизе появляются возможности, которые не отражены в инструкции к продукту.

Поиск неисправностей сильно затруднен, так как обычно в ответ на любые ошибки OpenStack выдает несколько килобайт стектрейсов. Приходится тратить немало времени и сил только для того, чтобы определить причину сбоя.

Внедрение OpenStack требует серьезной работы программистов. Если вы собираетесь продавать облачные услуги на основе данного продукта (пусть даже в рамках одной своей компании), имеющегося в нем функционала будет явно недостаточно. Например, вы не сможете ограничить сетевой трафик одной виртуальной машины так, чтобы она не мешала другим. Базовые возможности OpenStack не позволяют плавно регулировать потребляемые ресурсы и даже мигрировать виртуальную машину на другой хост. Средств мониторинга доступности тоже нет. Наконец, хороший пример готовности OpenStack как продукта – процедура добавления и удаления узлов с гипервизорами. Добавляются они определенной процедурой, а вот для удаления compute-ноды нет специальной команды. Приходится идти в специальную таблицу MySQL и делать это вручную:

Безвозмездно, то есть даром? Скачать OpenStack вы можете абсолютно бесплатно. Однако в силу неготовности продукта его «бесплатность» выливается в серьезные трудозатраты в части доработки.

Разрабатывается свободным сообществом? На сайте OpenStack можно посмотреть статистику: кто и в какой степени участвовал в разработке кода решения.

За всю историю существования OpenStack

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Больше остальных отличилась компания Rackspace, зарабатывающая на предоставлении пользователям инфраструктуры как услуги. Далее идут Red Hat, которая занимается продажами, внедрением и поддержкой решений OpenStack; затем – HP и IBM, предоставляющие облачные услуги на базе OpenStack. Как видим, доля свободных программистов-энтузиастов (OpenStack Foundation) минимальна, а по количеству пользователей это всего 5–10 человек за все 4 года.

Релиз Juno (октябрь 2014)

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Если смотреть на последнее полугодие 2014-го – картина несколько изменилась, но лидеры остались практически те же. Плюс появились новые игроки – Mirantis, продающая только OpenStack (инсталляции и поддержку), а также компания SUSE. Замыкают список производители, у каждого из которых собственные цели. NEC обеспечивает поддержку своего оборудования, работающего с OpenStack. VMware пытается защитить свою экосистему, «возглавив» реализацию совместимости OpenStack с ESXi.

С OpenStack у меня будет свой Amazon? Является ли данная технология ключевым фактором успеха для облачного провайдера? Нет, не является. Это хорошо видно по магическому квадранту Гартнера. Подавляющее число компаний используют VMware, чуть менее популярен KVM. А вот платформе Xen отдали предпочтение как IBM, Fujitsu и GoGrid, так и явный лидер Amazon. Понятно, что дело вовсе не в гипервизоре.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

Можно ли заменить традиционные виртуальные машины облачными? Особенности двух подходов к виртуализации отражены в сравнительной таблице (спасибо Red Hat за нее).

Традиционные ВМ ( ESXi, RHEV)Облачные ВМ (OpenStack, AWS)
Большие. Данные хранятся внутри ВММаленькие. Данные хранятся снаружи ВМ
1 приложение — 1 ВМ1 приложение — много ВМ
Цикл жизни ВМ – годыЦикл жизни ВМ – от часов до месяцев (приложения находятся не внутри ВМ, а снаружи)
Увеличить ту или иную ВМ с приложением можно лишь до размеров ее хостаПри увеличении/уменьшении числа пользователей можно динамически создавать/удалять ВМ
Вертикальное масштабирование (наращивается производительность ВМ)Горизонтальное масштабирование (увеличивается количество ВМ)
Приложение находится внутри и не переживет сбой ВМ, т.е. важно обеспечить отказоустойчивостьВ случае сбоя ВМ облачное приложение создает ее с нуля, оставаясь в рабочем состоянии
SLA требует обеспечения доступности приложения через Live Migration, HA и другой подобный функционалSLA требует возможности добавления/удаления экземпляров ВМ для поддержания доступности приложения

Эксплуатация. В OpenStack нет средств обеспечения высокой доступности и конкретных планов по ее реализации. Системы резервного копирования для ВМ также нет. Если сервер виртуализации вышел из строя, то и виртуальные машины мы потеряли – придется создавать новые (и это нормально).

Рекламируется, что OpenStack работает во всех гипервизорах, однако это не так. Основная система управления, по которой ведется разработка и тестирование продукта, – KVM. Остальные либо тестируются не полностью (например, Microsoft Hyper-V, гипервизоры VMware, Citrix XenServer 6.2), либо не тестируются вовсе (Baremetal, Docker, LXC через libvirt, Xen через libvirt) и их работа в OpenStack не может быть гарантирована. В последнем случае при запуске вы увидите сообщение вроде: «The libvirt driver is not tested on xen/x86_64 by the OpenStack project and thus its quality can not be ensured».

При этом возможность живой миграции (Live Migration), т.е. переноса ВМ с одного физического сервера на другой без остановки сервисов, в OpenStack отключена по умолчанию. Несмотря на то, что данный функционал поддерживается основным гипервизором – KVM.

Применение OpenStack

Несмотря на обозначенные особенности и недостатки, платформу OpenStack вполне можно использовать для различных задач. Один из вариантов: у вас уже есть какая-то облачная среда (например, тот же Amazon или Rackspace), но вы хотите переехать, развернув облачные сервисы у себя.

Еще один сценарий: вы планируете стать облачным провайдером, у вас есть стартап, достаточно финансов, программисты, желание работать и самое главное – какие-то ноу-хау, которые вы развернете в этой облачной среде. Т.е. вы собираетесь сделать не второй Google или Facebook, а нечто абсолютно новое. В этом случае OpenStack – тот продукт, на основе которого можно далее развиваться.

Если есть регулярная потребность в тестировании или нужна облачная платформа для разработки нового приложения, также есть смысл обратить внимание на OpenStack. Как вариант, можно задействовать только какой-то отдельный модуль OpenStack. Например, используя труд нескольких программистов, написать и реализовать нечто вроде корпоративного Dropbox на основе Swift.

Источник

Обзор

The OpenStack project is an open source cloud computing platform that supports all types of cloud environments. The project aims for simple implementation, massive scalability, and a rich set of features. Cloud computing experts from around the world contribute to the project.

OpenStack provides an Infrastructure-as-a-Service (IaaS) solution through a variety of complementary services. Each service offers an Application Programming Interface (API) that facilitates this integration.

This guide covers step-by-step deployment of the major OpenStack services using a functional example architecture suitable for new users of OpenStack with sufficient Linux experience. This guide is not intended to be used for production system installations, but to create a minimum proof-of-concept for the purpose of learning about OpenStack.

After becoming familiar with basic installation, configuration, operation, and troubleshooting of these OpenStack services, you should consider the following steps toward deployment using a production architecture:

Determine and implement the necessary core and optional services to meet performance and redundancy requirements.

Increase security using methods such as firewalls, encryption, and service policies.

Use a deployment tool such as Ansible, Chef, Puppet, or Salt to automate deployment and management of the production environment. The OpenStack project has a couple of deployment projects with specific guides per version:

Источник

Боль и страдания Openstack

Содержание статьи

OpenStack — очень модное слово в современном айтишном медиапространстве. Слышал о нем практически каждый, но в деле видели не очень многие. А попробовать его всерьез отважились вообще единицы. Мы у себя рискнули-таки, и сегодня я расскажу, чем это для нас обернулось и почему мода зачастую бежит впереди рассудительности и стабильности.

Мы уже как-то писали краткий обзор «карманной облачной инфраструктуры» в одном из предыдущих номеров, но было это давно и неправда (подумать только, уже почти три года прошло!). Так что на всякий случай вот краткая выжимка: OpenStack — это открытая (Apache License 2.0) платформа, позволяющая малыми силами организовать на любом количестве железных серверов облачную инфраструктуру а-ля Amazon Web Services. Тут вам и масштабирование виртуалок, и живые миграции, и балансировка нагрузки по нодам, и устойчивость к выходу из строя некоторого процента узлов. В числе основных разработчиков — небезызвестная NASA и Rackspace, Red Hat, Canonical, IBM, AT&T и некоторые другие конторы. В целом затея благая и очень дельная — такой инструмент, в теории, был бы полезен при разработке различных новых систем и сервисов, позволяя на ходу жонглировать инфраструктурой, экспериментировать с архитектурой. Но это все в теории и официальном описании. А что в жизни?

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое

История первая

В жизни все сильно сложнее. OpenStack — это как беременность в шестнадцать. Завести его себе обычно оказывается сильно проще, чем потом с ним адекватно сосуществовать. Через день, неделю, если повезет, то через месяц придет Осознание. К примеру, в один не очень прекрасный момент по какой-то причине виртуалки просто перестанут создаваться. Все хорошо, все есть — и место на дисках, и свободные вычислительные мощности, и IP-адреса в сети. Но нет. Висит себе в состоянии Creating Instance, и все. Полчаса, час, два, пять. Ничего не происходит. В логах тишина. Еще несколько часов, проведенных в гугле, наудачу перезагружаем «кролика», и оп — все внезапно заработало. Виртуалки создаются, поднимаются, все снова хорошо. Вопрос «И что это было?» повисает в воздухе.

История вторая

Злоключение

Как уже успели на себе прочувствовать те немногие, кто решился использовать OpenStack в относительном продакшене, он еще «не готов для десктопа». Пока, к сожалению, он не дает удовольствия ограничить общение с собой исключительно нажиманием кнопочек в веб-интерфейсе для создания новых виртуалок и распределением доступов к ним. Шаг вправо, шаг влево — и можно наткнуться на что-то такое, про что еще даже в гугле не написали. И на отладку может уйти не только не один день, но даже не одна неделя. Ребята в одной из самых известных компаний — поставщиков готовых решений на базе OpenStack сравнивают этот процесс с постройкой дома:

«При упоминании OpenStack хороша аналогия с домом. OpenStack опирается на множество сложных открытых проектов, слепленных друг с другом через различные API, которые зачастую ставят в тупик даже самых прожженных инженеров. С точки зрения бизнеса попытка самостоятельно во всем этом разобраться может пагубно сказаться на сроках сдачи проекта и достижении поставленных целей. Подход „сделай сам“ пока еще очень популярен в среде OpenStack-новичков и часто не приводит их к сколько-нибудь удовлетворительному результату, отчего мнение о всей системе остается не очень лестное.

Главной целью поставщика готовых решений в данном случае является помощь в проектировании и развертывании надежной площадки для проектов клиента. И ключевой момент в данном вопросе — правильный выбор опытного поставщика, который сможет собрать все необходимые части системы, корректно их связать и в дальнейшем поддерживать то, что получилось. Пожалуйста, доверьте поддержку OpenStack проверенному поставщику».

В чем-то с ними даже можно согласиться. Далеко не каждый может позволить себе тратить такое количество админо-часов на даже банальное поддержание текущей работоспособности системы, не говоря уже о каком-то дальнейшем развитии.

О новинках

Но если капризы работоспособности OpenStack’а — это уже в некоторой степени стабильный вопрос, немало обшученный, то новинкам проекта, думаю, стоит уделить внимание.

Heat — это основной инструмент оркестровки, используемый в мире OpenStack. Он позволяет запускать готовые облачные архитектуры из темплейтов, описанных текстом, своего рода подобием программного кода. Формат темплейтов у Heat свой собственный, но помимо него поддерживается совместимость с форматом AWS CloudFormation. Таким образом, многие уже готовые темплейты CloudFormation вполне можно будет запускать и под OpenStack’ом. У Heat есть возможность общаться с внешним миром как через родной ReST API OpenStack’а, так и через совместимый API запросов CloudFormation’а.

Хакер #191. Анализ безопасности паркоматов

Как это вообще работает?

Ничего знакомого в этом всем не заметил? Правильно, схожие идеи мы уже видели в таких проектах, как Chef и Puppet. Использовать или нет — это уже на твой вкус. Говорят, у Heat’а даже есть какое-то подобие интеграции с ними, но мы пока не пробовали, так что детальнее рассказать, к сожалению, не смогу.

Ceilometer

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

Архитектура Ceilometer

Центральный агент (Central Agent) опрашивает данные по утилизации ресурсов, которые не связаны с виртуальными машинами или вычислительными узлами (Compute Nodes). В каждой системе Ceilometer может быть запущен только один центральный агент.

Вычислительный агент (Compute Agent) собирает данные измерений и статистику с вычислительных узлов (в основном гипервизора). Вычислительный агент должен быть запущен на каждом вычислительном узле, состояние которого необходимо отслеживать.

Коллектор (Collector) отслеживает очереди сообщений (на предмет уведомлений, которые присылает инфраструктура, и на предмет результатов измерений от агентов). Уведомления обрабатываются, преобразовываются в измерительные данные, затем подписываются и возвращаются на шину передачи сообщений в соответствующую тему. Коллектор может работать на одном или нескольких серверах управления.

Хранилище данных (Data Store) — это база данных, которая может обрабатывать одновременные запись (с одного или нескольких коллекторов) и чтение данных (с API-сервера). Коллектор, центральный агент и API могут работать на любом узле.

Эти службы сообщаются с помощью стандартной шины передачи сообщений OpenStack. Только коллектор и API-сервер имеют доступ к хранилищу данных. Поддерживаются SQL базы данных, совместимые с SQLAlchemy, а также MongoDB и HBase. Однако разработчики Ceilometer рекомендуют именно MongoDB, в связи с более эффективной обработкой одновременных операций чтения/записи данных. Кроме того, только конфигурация Ceilometer с MongoDB прошла тщательное тестирование и развертывание в коммерческих средах. Для базы данных Ceilometer рекомендуется использовать выделенный узел, так как инфраструктура может создавать изрядную нагрузку на БД. Согласно оценкам разработчиков, измерение инфраструктуры на коммерческом уровне предполагает до 386 записей в секунду и 33 360 480 событий в день, что потребует до 239 Гб для хранения статистики за месяц.

openstack что это такое. Смотреть фото openstack что это такое. Смотреть картинку openstack что это такое. Картинка про openstack что это такое. Фото openstack что это такое Архитектура Ceilometer

В проекте Ceilometer реализованы три типа измерений:

Каждый измеритель собирает данные с одного или нескольких образцов (собираемых из очереди сообщений или агентами), которые представлены счетчиками. Каждый счетчик имеет следующие поля:

Полный список доступных на данный момент измерений можно найти в документации Ceilometer (https://wiki.openstack.org/wiki/Ceilometer).

Ceilometer — это довольно перспективный проект, ставящий своей целью унификацию возможностей по сбору информации обо всех аспектах жизни облачной инфраструктуры. Использование Ceilometer позволяет поставить «карманное облако» на достаточно крепкие коммерческие рельсы.

Зе енд

Как видно, не все так просто в Датском королевстве. Есть там место и бедам и приключениям. OpenStack развивается очень активно, но все еще не готов к быстрому и простому использованию в производстве, как некоторые продукты коммерческой виртуализации прошлого поколения.

Если виртуализация — это одно из основных направлений твоей деятельности, то, без сомнения, уже пора начинать в нем разбираться. Если нет, но все равно интересно, то, пожалуйста, пробуй, но в производство без крайней нужды пускать не советую. На данный момент лучше будет пользоваться классическими системами виртуализации всем, у кого нет особых против того противопоказаний. Сбережете много нервов и денег. Мы же у себя подумываем в некотором не очень отдаленном будущем тоже открывать направление поддержки OpenStack-решений. Кажется, это будет довольно интересно :).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *