Облачная инфраструктура — это не просто «железо», к которому клиенты подключаются по сети. Для корректной работы важна и программная часть, а она часто сложнее и комплексней.
В России подавляющее большинство облачных инсталляций работают на VMware, однако все больше компаний присматриваются к OpenStack. Один из ярких примеров — провайдер «Инферит Облако». В материале расскажем, что находится у его инфраструктуры «под капотом» и почему компания сделала выбор в пользу OpenStack.
Почему 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 (хранение) |
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. |
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. |
Техническая составляющая полностью построена на серверах компании «Инферит техника». Принцип импортонезависимости работает и здесь.
Вычислительная часть работает на OpenStack Zed. Выделим три ключевых преимущества относительно предыдущих версий продукта:
- Обновленные версии компонентов. Наиболее стабильные версии основных модулей, из которых и состоит OpenStack. Это Nova, Neutron, Cinder, Glance и другие.
- Доведенный до ума модуль управления жизненным циклом.
- Оптимизация всех ключевых компонентов, в первую очередь с точки зрения устойчивости.
Хранилищем выступает Ceph — максимально гибкий инструмент, не требующий установки специальных драйверов. Все работает на уровне ядра Linux.
Ceph объединяет объектное, блочное и файловое хранилища в единую систему, что делает ее универсальной для различных нужд хранения данных. Архитектура Ceph обеспечивает высокую доступность и избыточность данных за счет репликации данных на нескольких узлах хранения, а также использует алгоритмы для эффективного управления распределением и восстановлением данных.
Связка OpenStack и Ceph создает надежный фундамент для создания облачной инфраструктуры. Опыт российских и зарубежных компаний подтверждает потенциал такой синергии.
Внутри конфигурации OpenStack
Как программное обеспечение OpenStack состоит из набора микросервисов, которые можно объединить в различные конфигурации в зависимости от реальных потребностей. Общая карта компонентов OpenStack выглядит так:
Основные компоненты расположились в центре, это цветные изображения. Без них OpenStack работать просто не будет: без Neutron не будет сетевого взаимодействия, а если сломается Nova, то и виртуальные машины не смогут подняться. Компоненты серого цвета уже не так важны.
В случае «Инферит Облако» карта OpenStack становится такой:
Зачем нужен каждый компонент:
- 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. Компоненты тестирования позволяют тестировать различные компоненты облака. Кстати, наши графики по работе инфраструктуры находятся в открытом доступе.
- Lifecycle management (управление жизненным циклом). Здесь находятся компоненты, которые отвечают за управление и развертыванию OpenStack. Для управления жизненным циклом используют специальные инструменты, наиболее распространенные — это Kolla-ansible и Kayobe.
OpenStack полностью построен на микросервисной архитектуре. Это дает облаку массу преимуществ, одно из основных — гибкость: можно вносить изменения практически любого масштаба без приостановки работы.
Подходы к развертыванию, созданию сети и безопасности
Чтобы развертывание и управление комплексной облачной инфраструктурой OpenStack работало как часы, нужны специальные инструменты. В «Инферит Облако» используют сочетание 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
- OpenStack — гибкое решение, которое не зависит от санкций. Также оно позволяет создать сильную облачную инфраструктуру для самых сложных задач.
- Облака на OpenStack пока не сильно распространены в России. В США и европейских странах все чаще применяется OpenStack в высоконагруженных конфигурациях.
- Принцип разделения Compute & Storage делает инфраструктуру долговечной и эффективной с точки зрения использования ресурсов.
- Облака на OpenStack строятся из наборов микросервисов, поэтому каждая конфигурация уникальна и может быть перестроена под конкретные задачи вендора и его клиентов.
- Принято считать, что OpenStack развертывается вручную и много времени уходит на исправление ошибок. На деле есть класс инструментов, которые помогают в развертывании OpenStack и его отдельных компонентов.
Реклама. ООО «Инферит» ИНН 5050155270