Как устроен Cloud Service на актуальной сборке OpenStack. Кейс «Инферит Облако»

30/5/2024

Содержание:

Почему OpenStack, а не VMware

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

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

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

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

Есть множество интересных кейсов, показывающие гибкость OpenStack и его возможности справляться с большими нагрузками. Сразу можно вспомнить:

  • Европейский Центр ядерных исследований (CERN) — более 500 тыс. ядер и 1.5 Пбайт RAM. 90% инфраструктуры на базе OpenStack;
  • Blizzard — более 12 тыс. вычислительных хостов и несколько облаков на базе OpenStack;
  • Walmart частное облако — более 800 тыс. ядер;
  • Bloomberg — более 3 тыс. виртуальных серверов в OS облаке;
  • China mobile — более 50 тыс. серверов в OS облаке;
  • Nike — более 56 млн посещений сайта в день, хостинг на базе OS;
  • Deutsche telecom — одно из крупнейших публичных облаков в мире на базе OS.

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

Быстрый взгляд на серверную часть

Для облачных провайдеров критический момент — управление ресурсами. Чтобы оно было эффективно, применяют принцип Compute & Storage — разделение ресурсов инфраструктуры под вычисление и хранение. Если проигнорировать это, сложность управления ресурсами и среды вырастет на несколько порядков.

С технической точки зрения Compute & Storage выглядит так:

Техническая составляющая полностью построена на серверах компании «Инферит техника». Принцип импортонезависимости работает и здесь.

Программная часть Compute & Storage инфраструктуры «Инферит Облако»
Программная часть Compute & Storage инфраструктуры «Инферит Облако»

Вычислительная часть работает на OpenStack Zed. Выделим три ключевых преимущества относительно предыдущих версий продукта:

  • Обновленные версии компонентов. Наиболее стабильные версии основных модулей, из которых и состоит OpenStack. Это Nova, Neutron, Cinder, Glance и другие.
  • Доведенный до ума модуль управления жизненным циклом.
  • Оптимизация всех ключевых компонентов, в первую очередь с точки зрения устойчивости.

Хранилищем выступает Ceph — максимально гибкий инструмент, не требующий установки специальных драйверов. Все работает на уровне ядра Linux.

Ceph объединяет объектное, блочное и файловое хранилища в единую систему, что делает ее универсальной для различных нужд хранения данных. Архитектура Ceph обеспечивает высокую доступность и избыточность данных за счет репликации данных на нескольких узлах хранения, а также использует алгоритмы для эффективного управления распределением и восстановлением данных.

Связка OpenStack и Ceph создает надежный фундамент для создания облачной инфраструктуры. Опыт российских и зарубежных компаний подтверждает потенциал такой синергии.

Внутри конфигурации OpenStack

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

Карта компонентов OpenStack. Изображение openstack.org
Карта компонентов OpenStack. Изображение openstack.org

Основные компоненты расположились в центре, это цветные изображения. Без них OpenStack работать просто не будет: без Neutron не будет сетевого взаимодействия, а если сломается Nova, то и виртуальные машины не смогут подняться. Компоненты серого цвета уже не так важны.

В случае «Инферит Облако» карта OpenStack становится такой:

Компоненты OpenStack, которые используются в «Инферит Облако». Изображение openstack.org
Компоненты OpenStack, которые используются в «Инферит Облако». Изображение openstack.org

Зачем нужен каждый компонент:

  • Web frontend (фронтенд) — Horizon. Внешняя оболочка OpenStack, которая отвечает за пользовательский интерфейс. С точки зрения клиента это просто веб-портал. Он входит в него в браузере и управляет ресурсами облака. Для удобства используем кастомизированный интерфейс. В этом отношении Horizon —  гибкий инструмент.
  • Compute — Nova. Управляет жизненным циклом инстансов, включая создание, планирование и завершение работы виртуальных машин. Вместо распространенного инструмента Zun используется компонент OpenStack Magnum и решение от российского вендора «Флант». Они нужны для автоматизации управления Kubernetes-кластерами и во всем лучше Zun.
  • Storage (хранилище) — Cinder. Служба блочного хранения OpenStack для предоставления томов виртуальным машинам, хостам, контейнерам и другим компонентам. Идеально подходит для приложений, требующих постоянного хранения данных с низкой задержкой, таких как базы данных и файловые системы. Что важнее, Cinder интегрируется с библиотеками Ceph. Такая интеграция создает высокопроизводительное блочное хранилище, подходящее для приложений с интенсивным вводом-выводом. Также в OpenStack есть объектное хранилище Swift и хранилище с общей файловой системой Manila. На данном этапе в них нет необходимости.
  • Networking (сеть). Используем несколько компонентов.

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

— Octavia. Балансировщик нагрузки, способствует распределению входящего сетевого трафика между несколькими внутренними серверами для обеспечения высокой доступности, надежности и масштабируемости приложений. Также компонент нужен для работы с Kubernetes-кластерами.

  • Shared Services (сервисы безопасности):

— Keystone. Служба идентификации, которая управляет аутентификацией и авторизацией. Предоставляет центральный каталог пользователей, сопоставленный с сервисами OpenStack, к которым они могут получить доступ, обеспечивая безопасный и контролируемый доступ к ресурсам.

— Glance. Управление образами, компонент, созданный для управления образами виртуальных систем, которые хранятся внутри облака.

— Barbican. Управление ключами, хранит ключи, пароли, сертификаты и другую конфиденциальную информацию. Шифрование, токенизация и хэш-суммы — все важные процессы происходят здесь.

  • OpenStack operations:

— Ceilometer. Инструмент мониторинга собирает массивы данных в облаке и отправляет в специальный коллектор, то есть этот компонент делает возможным аренду облачных ресурсов с оплатой только за реальное потребление (Pay-as-you-go).

— Tempest и Rally. Компоненты тестирования позволяют тестировать различные компоненты облака. Кстати, наши графики по работе инфраструктуры находятся в открытом доступе.

Результат тестирования RandomWrite Tier 2 block 4k, проведенного в соответствующих компонентах OpenStack
Результат тестирования RandomWrite Tier 2 block 4k, проведенного в соответствующих компонентах OpenStack
  • Lifecycle management (управление жизненным циклом). Здесь находятся компоненты, которые отвечают за управление и развертыванию OpenStack. Для управления жизненным циклом используют специальные инструменты, наиболее распространенные — это Kolla-ansible и Kayobe.

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

Подходы к развертыванию, созданию сети и безопасности

Чтобы развертывание и управление комплексной облачной инфраструктурой OpenStack работало как часы, нужны специальные инструменты. В «Инферит Облако» используют сочетание Kolla-Ansible и Cephadm.

В «Инферит Облако» используют сочетание Kolla-Ansible и Cephadm.

Kolla-Ansible незаменим для упрощения развертывания компонентов OpenStack и управления ими. Он использует Ansible playbooks и контейнеры Docker для автоматизации. Так провайдер обеспечивает согласованность, повторяемость и простоту настройки развертываний.

Благодаря контейнеризации сервисов OpenStack, Kolla-Ansible изолирует их от базовой хост-системы, что повышает безопасность и упрощает управление зависимостями.

Cephadm имеет решающее значение в управлении серверной частью хранилища. Это масштабируемое и устойчивое решение для хранения данных, которое хорошо интегрируется с такими сервисами как Cinder, Glance и Manila. Развертывание кластеров Ceph и управление ими вручную может быть сложной задачей, но Cephadm автоматизирует этот процесс, делая его более доступным и управляемым.

Сетевая инфраструктура «Инферит Облако» 
Сетевая инфраструктура «Инферит Облако»

С точки зрения архитектуры сетевая инфраструктура представляет собой классическую Clos fabric (Ethernet fabric), известное как Leaf-Spine architecture. Технология была предложена Чарльзом Клозом в 50-х годах прошлого века для построения масштабируемых телефонных сетей. Эти принципы весьма популярны в современных центрах обработки данных. Сети Клоза отличается высокой надежностью, масштабируемостью и отказоустойчивостью.

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

Компании, чьи решения обеспечивают безопасность «Инферит Облако» 
Компании, чьи решения обеспечивают безопасность «Инферит Облако»

В «Инферит Облако» применяют такие практики:

  • В облаке по умолчанию функционирует anti-DDoS, anti-Bot защита;
  • Правила фильтрации трафика настроены на решении PT Application Firewall;
  • Все префиксы, в том числе и клиентские, защищены и не требуют дополнительной платы;
  • Вход защищен вторым фактором аутентификации, в целях безопасности его нельзя отключить;
  • Трафик фильтруется и обрабатывается на узлах очистки, расположенных в России;

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

В OpenStack практически не осталось ручного труда. Есть надежные инструменты, которые помогают в развертывании компонентов. Также с конфигурацией комфортно работать при построении мер сетевой безопасности.

Что может облако на OpenStack

У OpenStack практически безграничный потенциал в части кастомизации, но какие возможности это открывает для бизнеса? Разберем возможности открытого ПО на примере провайдера «Инферит Облако». Уже сейчас услуги закрывают ключевые потребности бизнес-сообщества в части ИТ:

  • Облачные вычислительные ресурсы и системы хранения данных (Compute & Storage);
  • Виртуальные дата-центры (VDC) и выделенные физические серверы (Dedicated);
  • Сетевые сервисы (балансировка нагрузки, виртуальные сети, VPN, DNS);
  • Резервное копирование и сервисы катастрофоустойчивости (Backup & Disaster Recovery);
  • Защита от DDoS-атак и веб-атак (WAF);
  • Мониторинг ИТ-инфраструктуры и приложений заказчиков;
  • Инструменты для переноса ИТ-нагрузок в облако (Migration);
  • Маркетплейс бизнес-приложений по модели SaaS.

Помимо базовых IaaS-услуг, «Инферит Облако» готовит к выпуску ряд PaaS-сервисов и отраслевых решений:

  • Контейнерная платформа для микросервисной разработки приложений;
  • Сервисы больших данных (Big Data) и инструменты бизнес-аналитики (BI);
  • Платформы для организации удаленной работы и коммуникаций (VDI, VoIP, UC);
  • Специализированные решения для рынков ритейла, промышленности, логистики, финансов, медиа и др.

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

Главное про облако на Open Source

  1. OpenStack — гибкое решение, которое не зависит от санкций. Также оно позволяет создать сильную облачную инфраструктуру для самых сложных задач.
  2. Облака на OpenStack пока не сильно распространены в России. В США и европейских странах все чаще применяется OpenStack в высоконагруженных конфигурациях.
  3. Принцип разделения Compute & Storage делает инфраструктуру долговечной и эффективной с точки зрения использования ресурсов.
  4. Облака на OpenStack строятся из наборов микросервисов, поэтому каждая конфигурация уникальна и может быть перестроена под конкретные задачи вендора и его клиентов.
  5. Принято считать, что OpenStack развертывается вручную и много времени уходит на исправление ошибок. На деле есть класс инструментов, которые помогают в развертывании OpenStack и его отдельных компонентов.

Оригинал статьи на Компьютерре

Рекомендуем

Инферит Техника

Полкило мощи в рюкзаке: обзор российского неттопа «Инферит» SMBox

Неттоп (nettop) — небольшой экономичный персональный компьютер, предназначенный для работы с интернет-приложениями. Его можно подключить к телевизору по HDMI, разместить рядом с кассовым аппаратом или закрепить на заднюю стенку монитора. Кроме того, мини-ПК имеют низкий уровень шума. В статье представлен обзор «Инферит» SMBox.

Читать
Подробнее

Инферит Клаудмастер

Избавиться от «зомби», или как оптимизировать затраты на облако

Использование облачных сервисов становится все более популярным среди компаний. Однако по мере масштабирования бизнеса и переноса вычислительных ресурсов в облака, организации нередко сталкиваются с неконтролируемым ростом затрат и отсутствием прозрачности в использовании ресурсов. В статье Дарья Леушина, руководитель отдела маркетинга «Инферит Клаудмастер», расскажет, как российская FinOps-платформа помогает в управлении расходами на облачную ИТ-инфраструктуру.

Читать
Подробнее

Инферит ИТМен

Гибкость ― это важно: как мы «расхаркодили» поля в карточке устройства и какие возможности это дает нашим пользователям

Команда продукта «‎Инферит ИТмен» в этой статье делится небольшим, но очень важным для нашего софта релизом. Команда всегда ориентируется на запросы пользователей и дорабатывает фичи в продукте, которые реально нужны клиентам. Одним из таких запросов была возможность самостоятельно кастомизировать поля в карточке инвентаризационной единицы. Сказано ― сделано, и теперь ― обо всём по порядку.

Читать
Подробнее