
Добрый день, хабровчане! Вы больше привыкли к моим статьям об истории техники, но сегодня пришла пора поговорить о современных решениях. С вами Виталий Прокофьев, и в этот раз я выступаю не как основатель коллекции Digital Vintage, а как человек, который уже много лет занимается развитием и внедрением On-Premise облачных решений на базе VK Private Cloud. Сегодня хочу рассказать вам о нашем видении инфраструктурных решений для пограничных (Edge) вычислений с сохранением привычной облачной среды — Cloud-on-the-Edge. Объясню, когда облачная автоматизация оправдана на удаленных площадках, сравню Standalone Edge и Hub-and-Spoke по накладным расходам, автономности и требованиям к связи. Покажу, как сочетать эти подходы в одной инфраструктуре и упростить развертывание с помощью готовых программно-аппаратных комплексов.
В подготовке материалов статьи также принял участие мой коллега Сергей Сухов (@xelld), ведущий архитектор облачных платформ VK Tech, которого я хотел бы поблагодарить за вклад в проработку дизайна наших Cloud-on-the-Edge решений и особенно их сетевой составляющей.
Зачем нужна облачная автоматизация на пограничных площадках
Сегодня Edge применяется для сбора данных с IoT-устройств и обеспечения работы технологических площадок разного масштаба. Мы поговорим о площадках с достаточно большой нагрузкой и объемом информации, — от автозаправок и буровых установок до небольших заводов. На таких площадках строить полноценное, пусть и компактное облако на 10–30 узлов еще рано, но инфраструктура уже нужна, а ИТ-подразделение компании привыкло к определенному уровню автоматизации, который дает облако.
На Edge обычно не развертывают тестовые среды динамически, но даже для развертывания и обновления ПО удобнее и надежнее применять привычные для компании подходы, чем вручную управлять каждой пограничной площадкой. Облачная автоматизация особенно нужна, когда у компании много удаленных площадок с унифицированным набором сервисов, как в случае с сетью автозаправок.
Стена ограничений: когда использовать Cloud-on-the-Edge не стоит

Что же мешает внедрить Cloud-on-the-Edge повсеместно? Главной проблемой всегда становится экономика проекта. Техника в годы ИИ-бума дорожает с каждым днем, облачные платформы на малых масштабах дают большой оверхед, широкий и стабильный сетевой канал стоит дорого, а в некоторых случаях и вовсе становится недоступной роскошью. Но многие из ограничений можно обойти или нивелировать, если грамотно подойти к архитектуре системы.
Первым делом важно определиться, где строить Cloud-on-the-Edge не нужно. Если на площадке живут один-два статичных сервиса, например унаследованная SCADA-система для управления оборудованием, СКУД или видеонаблюдение, то с большой долей вероятности внедрение автоматизации только усложнит обслуживание и потребует дополнительных затрат на технику и ПО, которые не окупятся. Не стоит идти в Cloud-on-the-Edge и в случае, когда компания еще не внедрила облачные подходы в своей центральной инфраструктуре. Без определенной степени зрелости ИТ-процессов новое усложнение не принесет положительного эффекта.
Компания может активно цифровизировать свои производственные процессы, использовать Cloud-Native-подход, Managed-сервисы, IaC и различную автоматизацию. При этом она планомерно увеличивает объем собираемых данных и стремится предоставить сотрудникам новые информационные сервисы. Или, напротив, хочет приземлить часть ранее централизованных функций на площадку. В таких условиях Cloud-on-the-Edge становится технически и экономически оправданным решением (да, я опять про те же автозаправки!).
Но что же тогда с каналами и оверхедом? Для работы облака нужен слой управления — control plane. Базово это три сервера для обеспечения отказоустойчивости. Они потребляют определенный объем ресурсов, и чем шире функциональность облачной платформы и чем пристальнее следит за ней мониторинг, тем выше это потребление. Да, слой управления можно разместить на тех же серверах, что и нагрузку (самонесущая платформа), но в минимальных инсталляциях оверхед все равно может достигать неприемлемых значений. А еще остается вопрос с хранением данных: далеко не всегда оправданно держать на объекте еще и СХД, а программно определяемое хранилище (SDS) потребует своей доли ресурсов.
Standalone Edge: автономное облако на трех серверах

Даже в такой архитектуре возможна оптимизация. Гиперконвергентное решение на трех серверах, объединяющее слой управления, программно определяемое хранилище (в нашем случае Ceph и/или High-IOPS) и нагрузку, показывает приемлемый оверхед даже при очень гуманных уровнях переподписки по процессорам — 3.0 по физическим ядрам и 1.5 по потокам.

Потребление слоя управления составляет 24 vCPU и 128 Гб ОЗУ на один узел, Ceph — 16 vCPU и 64 Гб ОЗУ. Еще 16 vCPU и 64 Гб ОЗУ потребуется выделить для узла логирования и мониторинга.
При использовании двухсокетных серверов с 32-ядерными процессорами, включенным HT/SMT и 1024 Гб ОЗУ доступный для нагрузки объем ресурсов составит:
(3 сервера × 2 сокета × 32 ядра × 3.0 переподписка) − (3 узла × 24 vCPU) − (3 узла × 16 vCPU) − (1 узел × 16 vCPU) = 440 vCPU
При общем количестве 576 vCPU оверхед по процессорам составит (576 − 440) / 576 = 23,6% — значение высокое, но допустимое для столь компактного и при этом полнофункционального облака.
Аналогично по памяти:
(3 сервера × (1024 Гб − 16 Гб)) − (3 узла × 128 Гб) − (3 узла × 64 Гб) − (1 узел × 64 Гб) = 2384 Гб
* Накладные расходы на ОС гипервизора принимаем равными 16 Гб.
Оверхед по памяти получается еще ниже — 22,3%.
Можно использовать и серверы с меньшим объемом памяти, но относительные накладные расходы станут уже весьма заметны. Оверхед составит почти 45%!
(3 сервера × 512 Гб) − (3 узла × 128 Гб) − (3 узла × 64 Гб) − (1 узел × 64 Гб) = 848 Гб
Для удобства сведем результаты расчетов в таблицу:
Параметр инфраструктуры |
Конфигурация: 1024 Гб RAM на хост |
Конфигурация: 512 Гб RAM на хост |
Всего vCPU в кластере (с переподпиской 3.0) |
576 vCPU |
576 vCPU |
Потребление платформы (vCPU) |
136 vCPU |
136 vCPU |
Доступно для пользовательской нагрузки |
440 vCPU |
440 vCPU |
Доступно полезной памяти (RAM) |
2384 Гб |
848 Гб |
Инфраструктурный оверхед по CPU |
23,6% |
23,6% |
Инфраструктурный оверхед по RAM |
22,3% |
44,8% |
И все же такое архитектурное решение применимо для наиболее удаленных локаций с повышенными требованиями к автономности, где невозможно построить мало-мальски стабильный канал. Помимо сравнительно высокого оверхеда на минимальном масштабе, Standalone-архитектура усложняет централизацию управления. Текущие средства управления VK Private Cloud не позволяют управлять множеством инсталляций платформы как единым целым: у каждой будет отдельный набор проектов и сетей, хотя централизованная аутентификация и единый слой автоматизации через Terraform или API все еще возможны. Но это ограничение тоже временное — в одном из будущих релизов появится полноценная поддержка управления несколькими регионами.
Важный плюс Standalone-решения — возможность расширения до полноценного облака. Можно добавить нужное количество гипервизоров, отделить слой управления и СХД и получить классическую инсталляцию частного облака.
Классический Cloud-on-the-Edge по рецепту VK Tech

Отдельно стоящее решение при всех плюсах в части автономности зачастую избыточно. Основной рекомендуемый подход — архитектура Hub-and-Spoke, при которой Edge-площадки выступают в роли зон доступности (Availability Zones) единой распределенной инсталляции.
Слой управления (control plane) располагается в центральной локации или для обеспечения катастрофоустойчивости, распределяется по ЦОДам, связанным быстрыми и стабильными каналами с минимальной задержкой (Hub). На этих же площадках размещаются и основные вычислительные ресурсы компании. Edge-площадки (Spoke) подключаются к единой облачной платформе. За счет масштаба и переиспользования ресурсов центрального слоя управления удается снизить оверхед до 2,4% при общем числе вычислительных узлов более 100 и использовании выделенной СХД или программно определяемого хранилища. Минимальное количество узлов для такого решения — 2 при использовании внешней СХД или SDS High-IOPS HA от VK Tech и 3 при использовании Ceph в конвергентном режиме.
Такой подход открывает множество возможностей: единое управление ресурсами, квотами, доступами, проектами и сетями. В зависимости от расстояния между площадками и характеристик каналов (скорость, RTT) возможны различные реализации сетевой архитектуры верхнего уровня. Мои коллеги подготовили набор референсных сетевых архитектур под основные сценарии использования, которые мы обычно предлагаем клиентам.
В отличие от Standalone-платформ, достичь полной автономности от центральной площадки здесь уже не получится. Архитектура накладывает определенные требования и ограничения:
Требования к сетевому каналу. Они остаются сравнительно невысокими. Платформа толерантна к умеренному джиттеру и относительно высоким задержкам — до 100 мс RTT.
Пропускная способность. В основном она зависит от бизнес-требований к обмену данными между площадками. Для нужд управления и мониторинга, который может быть как локальным, так и централизованным, обычно достаточно скромных 5–10 Мбит/с.
Особенности сетевой архитектуры. Использование в таких зонах оверлейных сетей и технологий вроде Floating IP стоит исключить, чтобы не зависеть от функций control plane. Более надежным выбором будет прямое назначение адресов из маршрутизируемых в КСПД сегментов.
Дополнительный функционал, например СРК, потребует соответствующего расширения канала связи или наличия локального хранилища для резервных копий.
Логика отказоустойчивости. В текущей версии платформы для эвакуации ВМ с отказавшего гипервизора нужна связь с Hub. Edge-площадка выдержит отказ канала или вычислительного узла, но при одновременном отказе обоих эвакуация не запустится.
Гибридный ландшафт: все и сразу

На самом деле, для многих крупных компаний выбор между Hub-and-Spoke и Standalone не будет жестким и однозначным. Чаще всего он зависит от конкретной площадки. Если разбавить пример с автозаправками энергетическим сектором, то для крупных тепло- или гидроэлектростанций идеальным выбором станет классический Hub-and-Spoke с минимальным оверхедом и глубокой интеграцией. А для небольших цифровых подстанций или малых лесных ГЭС, затерянных в лесах Карелии, критически важна полная автономность, а значит, выбор падает на Standalone Edge.
Более того, самой центральной инфраструктуре компании может потребоваться несколько зон доступности в разных регионах, связанных с основным control plane. И все это — абсолютно валидные, рабочие подходы, которые могут и должны сосуществовать в одной ИТ-стратегии.
Безусловно, такой гибридный ландшафт требует комплексного проектирования физической инфраструктуры, каналов связи и разворачиваемых облачных решений. Однако грамотная архитектурная проработка позволяет компании получить максимальную отдачу — как с точки зрения удобства эксплуатации, так и с финансовой стороны. Спектр возможных конфигураций здесь чрезвычайно широк:
Изолированные сегменты. Набор полностью независимых Standalone-инсталляций для объектов с экстремальными требованиями к автономности.
Пограничные зоны (Spoke). Десятки или сотни легковесных Edge-площадок, управляемых из единого центра.
Выход в публичное облако (Hybrid Cloud). Подключение ресурсов публичного облака для размещения временных или сезонных нагрузок, а также выноса сред разработки и тестирования (Dev/Test). Это можно реализовать как в традиционном формате, так и в виде дополнительной зоны доступности на bare-metal серверах провайдера, связанной с частным облаком компании через выделенный защищенный канал.
Программно-аппаратные комплексы для Edge: готовое решение с единой поддержкой
В этой статье мы рассмотрели общие архитектурные подходы к организации Edge-вычислений и построению распределенного корпоративного облака. В целом они справедливы и для VK Private Cloud, и для большинства платформ, использующих базовые принципы OpenStack. Однако в этом разделе мне бы хотелось подчеркнуть сильные стороны решения именно от VK Tech, которые критически важны для пограничных сценариев.
Традиционно наши преимущества складываются из нескольких факторов:
Совместимость. Поддержка широкого пула аппаратного обеспечения и бесшовная интеграция с другими программными продуктами.
Гибкие форматы поставки. Возможность приобрести как отдельные лицензии на ПО для установки на собственное железо, так и готовое решение в формате программно-аппаратного комплекса (ПАК).
Экспертное сопровождение. Мои коллеги из VK Tech помогают спроектировать целевую архитектуру под ваши задачи и развернуть ее на площадках.
Высокий уровень Enterprise-поддержки. Полный цикл сопровождения — от базовых консультаций до помощи в режиме 24/7 на этапе промышленной эксплуатации.
Соответствие регуляторным требованиям. Продукт включен в реестр отечественного ПО, имеет сертифицированную ФСТЭК версию и поставляется с полным пакетом документов для прохождения аттестации.
Особое значение для инфраструктурного софта имеет выбор совместимого железа. Мы принципиально не привязываем заказчика к конкретным вендорам оборудования (no vendor lock-in). Но для тех, кто хочет быть уверен в стабильности системы или кому банально удобнее приобрести решение под ключ, мы предлагаем готовые ПАК.
Для Edge-инфраструктуры это оптимальный путь: заказчики получают проверенное гиперконвергентное решение, возможность выбора оборудования из пула наших технологических партнеров, выгодные финансовые условия и, главное, единое окно технической поддержки для софта и аппаратной платформы.
Заключение

Построение Cloud-on-the-Edge — это всегда поиск компромисса между тремя переменными: уровнем автономности площадки, доступной полосой пропускания сети и ресурсами железа, которые приходится отдавать под оверхед платформы.
Опыт VK Tech показывает, что эффективная пограничная инфраструктура строится на трех принципах:
Четкая сегментация. Не стоит тянуть облачную автоматизацию туда, где годами крутятся два статичных сервиса. Но если ваша распределенная инфраструктура растет и автоматизируется, а инженеры больше не хотят жить без Terraform, то Cloud-on-the-Edge быстро окупает себя.
Гибкий выбор архитектуры. Для глухой тайги или автономных объектов идеален Standalone Edge, пусть и с оверхедом по памяти до 45% на минимальном масштабе. Для распределенной сети объектов с доступным аплинком эффективнее использовать Hub-and-Spoke, где накладные расходы платформы на точках стремятся к нулю.
Стандартизация оборудования. На масштабе в десятки и сотни Edge-площадок ручная сборка и разнородное железо становятся неподъемными для поддержки. Проверенные программно-аппаратные комплексы в этом сценарии — базовое условие выживания ИТ-отдела.
Мир Edge-вычислений быстро эволюционирует, и подходы, которые вчера казались прерогативой гигантских ЦОДов, сегодня успешно работают на обычных АЗС, буровых и небольших заводах.
А как у вас? Расскажите в комментариях, с какими инфраструктурными болями вы сталкивались при автоматизации удаленных площадок? Что выбираете в своих проектах — полную автономность на местах или жесткую централизацию управления? Будет интересно обсудить ваш опыт!