Как устроен 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 и его отдельных компонентов.

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

Рекомендуем

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

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

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

Читать

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

Данные каждому нужны, данные каждому важны: почему сбор данных необходим всем в ИТ ― от директора до техподдержки

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

Читать

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

Обзор яркого и легкого ноутбука INFERIT Compact от отечественного производителя

В марте 2024 года российский производитель компьютерного и серверного оборудования и инфраструктурного программного обеспечения «Инферит» представил линейку ноутбуков INFERIT Compact. Эти яркие ноутбуки весом всего в 1,2 кг построены на базе процессора i5, имеют 16 ГБ оперативной памяти и SSD на 512 ГБ в базовом варианте. ОЗУ можно расширить еще на 16 ГБ, а хранилище дополнить одним SSD на 4 ТБ за счет второго слота. В статье рассмотрим модель подробнее.

Читать