Связаться с нами

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

Облачная инфраструктура — это не просто «железо», к которому клиенты подключаются по сети. Для корректной работы важна и программная часть, а она часто сложнее и комплексней.

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

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

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

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

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

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

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

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

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

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

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

Compute (вычисления):

  • CPU — Intel Xeon Gold 6226R, 2.9 Ghz;
  • RAM — Samsung RDIMM DDR4 3200 MHz;
  • NET — Mellanox X-4(5);
  • SSDs only;
  • Compute — Leaf — 25×4 Gbps.

Storage (хранение):

  • Tier 1 — Samsung DC class;
    CEPH node -> Leaf — 25×4 Gbps;
  • Tier 2 — Samsung DC class high-iops;
    CEPH node -> Leaf — 25×4 Gbps;
  • Tier 3 — Samsung NVMe (релиз скоро);
    CEPH node -> Leaf — 40×4 Gbps.

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

Теперь посмотрим чуть глубже.

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

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

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

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

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

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

Посмотрите фотографии с производства серверов и другого оборудования на заводе «Инферит». На этом «железе» работает и наше облако.

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

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

Общая карта компонентов OpenStack выглядит так:

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

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

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

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

Посмотрим, зачем нужен каждый компонент.

1. Web frontend (фронтенд) — Horizon. Внешняя оболочка OpenStack, которая отвечает за пользовательский интерфейс. С точки зрения клиента это просто веб-портал. Они входят в него в браузере и управляют ресурсами облака.

Для удобства мы используем кастомизированный интерфейс. В этом отношении Horizon очень гибкий инструмент.

2. Compute — Nova. Управляет жизненным циклом инстансов, включая создание, планирование и завершение работы виртуальных машин.

Вместо распространенного инструмента Zun используем компонент OpenStack Magnum и решение от российского вендора Флант. Они нужны для автоматизации управления Kubernetes-кластерами и во всем лучше Zun.

3. Storage (хранилище) — Cinder. Служба блочного хранения OpenStack для предоставления томов виртуальным машинам, хостам, контейнерам и другим компонентам. Идеально подходит для приложений, требующих постоянного хранения данных с низкой задержкой, таких как базы данных и файловые системы.

Что важнее, Cinder интегрируется с библиотеками Ceph. Такая интеграция создает высокопроизводительное блочное хранилище, подходящее для приложений с интенсивным вводом-выводом.

Также в OpenStack есть объектное хранилище Swift и хранилище с общей файловой системой Manila. На данном этапе в них нет необходимости.

4. Networking (сеть). Используем несколько компонентов.

— Neutron. Программно-определяемая сеть (SDN) — все подключения происходят на программном уровне, никаких проводов не нужно.

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

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

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

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

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

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

6. OpenStack operations.

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

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

Результат тестирования RandomWrite Tier 2 block 4k, проведенного в соответствующих компонентах OpenStack
Результат тестирования RandomWrite Tier 2 block 4k, проведенного в соответствующих компонентах OpenStack

7. Lifecycle management (управление жизненным циклом). Последнее по списку, но не по значению. Здесь находятся компоненты, которые отвечают за управление и развертыванию OpenStack.

Достаточно давно разработчики пришли к мнению — разворачивать OpenStack трудно и долго. Также ручной труд подразумевает гигантскую вероятность ошибки. Поэтому для управления жизненным циклом используют специальные инструменты. Наиболее распространенные — это Kolla-ansible и Kayobe. Мы остановились на первом варианте.

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

Если пока путаете модели и различия облачных решений, прочитайте наш основательный разбор. Доступным языком объяснили зачем нужны IaaS, HaaS, PaaS, Dedicated и BaaS. Это не так страшно, как кажется

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

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

Deploy в OpenStack в устройстве Инферит Облако»
Deploy в OpenStack в устройстве Инферит Облако»

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

Спасибо за вашу заявку, наш специалист свяжется с вами в ближайшее время

Стать партнером

Работаем только с юрлицами





    Получить демо-доступ

    Работаем только с юрлицами






      Получить консультацию

      Работаем только с юрлицами