Главная

7 мин

Leaf-spine сеть ЦОД: когда переходить с двухуровневой схемы

Leaf-spine сеть ЦОД: как понять, когда пора уходить от двухуровневой схемы, и какие требования закладывать к коммутаторам и оптике.

Leaf-spine сеть ЦОД: когда переходить с двухуровневой схемы

Зачем вообще менять топологию сети в ЦОД

Пока ЦОД небольшой, сеть часто работает без сюрпризов. Есть несколько коммутаторов доступа, пара агрегации - все понятно и привычно. Сложности начинаются не в день запуска, а когда добавляются новые стойки, сервисы и требования к скорости.

Обычно первой всплывает не «нехватка пропускной способности», а набор мелких, но регулярных проблем: не хватает портов в нужном месте, растет количество аплинков и патчкордов, сложнее держать одинаковые настройки, а любое расширение превращается в проект с риском простоя. Параллельно появляется и другая симптоматика: скачки задержек из-за перегрузки аплинков, рост east-west трафика (между серверами), сложнее прогнозировать oversubscription и его последствия.

В какой-то момент вы упираетесь не только в железо, но и в «геометрию» сети. Тогда и возникает вопрос: продолжать наращивать классическую двухуровневую сеть ЦОД или перейти на leaf-spine, где масштабирование и пути трафика устроены иначе.

Чаще всего сравнивают два варианта:

  • Двухуровневая схема (доступ + агрегация), где рост идет через добавление аплинков и или усиление агрегации.
  • Leaf-spine, где стойки подключаются к leaf, а leaf подключаются к spine по одинаковым правилам.

Чтобы принять решение без «на глаз», важно заранее понимать, на каких нагрузках смена топологии реально оправдана, какие метрики посмотреть до покупки оборудования и что заложить в коммутаторы и оптику (10G, 25G, 100G и выше), чтобы сеть росла без переделок.

Двухуровневая и leaf-spine простыми словами

Двухуровневая сеть ЦОД обычно выглядит так: на стойках стоят коммутаторы доступа (ToR или EoR), а выше - пара мощных коммутаторов агрегации или ядра. Серверы подключены к доступу, доступ поднимается аплинками в агрегацию, а дальше трафик уходит либо в другие стойки, либо наружу к пользователям и сервисам.

Leaf-spine сеть устроена иначе. Коммутаторы leaf стоят у серверов, как ToR, но каждый leaf подключается не к одному уровню агрегации, а ко всем spine. Spine образуют общую «фабрику»: между любыми двумя стойками есть несколько равнозначных путей, а маршрутизация распределяет потоки.

Разница сильнее всего заметна на east-west трафике (между серверами). В двухуровневой схеме обмен между стойками часто проходит через агрегацию, и при росте нагрузки именно там появляется узкое место. В leaf-spine обмен чаще всего идет leaf -> spine -> leaf, то есть почти всегда с одинаковым числом «прыжков». Для north-south (к пользователям, интернету, офисной сети) обе схемы могут работать хорошо, но leaf-spine обычно проще расширять без перестройки «центра».

Если совсем коротко:

  • Задержки: в leaf-spine они более предсказуемы, потому что путь чаще одинаковый.
  • Масштабирование: в двухуровневой схеме упираются в ядро, в leaf-spine добавляют leaf или spine по мере роста.
  • Кабели: leaf-spine требует больше межстоечных соединений, зато меньше «особых» линков к ядру.
  • Oversubscription: в leaf-spine проще держать понятные коэффициенты, но их нужно заложить в дизайн заранее.

Пример: если кластер виртуализации или база данных активно общается между узлами в разных стойках, переход на leaf-spine часто ощущается сразу - меньше очередей на верхнем уровне и стабильнее время отклика.

Когда двухуровневая схема остается хорошим выбором

Двухуровневая сеть (доступ + агрегация) выглядит скучно, и это ее плюс. Если ЦОД небольшой и рост понятен, вы получаете рабочую схему с меньшим числом устройств, кабелей и настроек. В таких условиях leaf-spine может добавить сложности больше, чем дать пользы.

Самый частый сценарий, где двухуровневая схема оправдана, - предсказуемые нагрузки и небольшой парк стоек. Когда у вас условно 3-10 стоек, а серверы в основном ходят в интернет, к пользователям и в центральные сервисы, ключевыми становятся простота и стоимость, а не максимальная масштабируемость.

Когда трафик в основном north-south

Если сервисы классические (почта, файловые ресурсы, 1С/ERP, доменные службы, VDI для части сотрудников), заметная часть обмена идет «наружу» от серверов, а не «внутри» между ними. При таком профиле трафика двухуровневая схема обычно справляется, если аплинки с доступа на агрегацию подобраны без явного узкого места.

Признаки, что можно оставить схему как есть:

  • стоек мало, добавление идет редко и небольшими шагами
  • нет плотных кластеров с большим east-west трафиком
  • важны простые аварийные сценарии и понятная диагностика
  • бюджет ограничен, а обновлять нужно не только сеть, но и серверы или СХД
  • команда небольшая и нет ресурса на сложные изменения

Пример: региональная организация держит 6 стоек с виртуализацией, телефонией, ERP и резервным копированием. Пики бывают утром и в конце месяца, но межсерверный обмен умеренный. В таком ЦОД часто разумнее вложиться в надежные коммутаторы доступа, нормальные аплинки и запас портов, чем перестраивать топологию.

Если планируете закупки и внедрение комплексно (серверы, стойки, сеть, поддержка), системный интегратор вроде GSE.kz обычно начинает с профиля трафика и плана роста, а не с выбора «модной» схемы.

На каких размерах и нагрузках leaf-spine дает смысл

Переход на leaf-spine обычно оправдан не «с определенного числа стоек», а с момента, когда предсказуемость и равномерность становятся важнее минимальной цены порта. Если большинство потоков идет не наружу (north-south), а между серверами внутри ЦОД (east-west), двухуровневая схема чаще упирается в узкие места и неравномерные задержки.

Сильный сигнал к переходу - рост east-west трафика. Он появляется постепенно: больше виртуализации и миграций ВМ, кластерные платформы, репликации и резервное копирование по сети, распределенные базы и аналитика. В двухуровневой сети часть стоек оказывается «ближе» к ресурсам, часть «дальше», и это дает прыгающую задержку и разную скорость в зависимости от направления.

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

Leaf-spine чаще выбирают, если нужны:

  • более ровная задержка и пропускная способность между любыми стойками
  • горизонтальное масштабирование без крупных переделок
  • понятный переход на 25/100/200/400G по мере роста
  • контроль oversubscription на каждом leaf, а не «как получилось»

Простой пример: было 6 стоек с классическими сервисами и редкими бэкапами по ночам. Затем добавили кластер виртуализации, репликацию данных и ежедневные бэкапы в соседний пул хранения. Трафик между стойками стал постоянным, и в этот момент leaf-spine обычно дает заметный эффект: меньше неожиданных узких мест и проще планировать рост скоростей и портов.

Как принять решение: пошаговая оценка под ваш ЦОД

Решение о переходе на leaf-spine упирается в цифры: сколько у вас стоек, какие скорости на серверах, какой трафик внутри ЦОД и какой запас нужен на рост.

Проверка, которая помогает не ошибиться:

  • Зафиксируйте текущие и целевые масштабы: число стоек и серверов, сколько портов нужно в каждой стойке, какие скорости на доступе (10G, 25G) и вверх (40G, 100G). Считайте по факту: что занято сейчас и что планируется через год.
  • Измерьте профиль трафика: что преобладает - east-west или north-south. Посмотрите пики по времени и по сервисам (например, резервное копирование ночью, отчеты в конце месяца).
  • Выберите целевой oversubscription отдельно для стойки и для всей фабрики. Чем больше внутренних обменов и распределенных систем, тем ближе хочется к 1:1 в стойке и к предсказуемому поведению в межстоечном сегменте.
  • Прикиньте архитектуру на 2-3 года вперед: сколько uplink нужно с каждого leaf, сколько spine потребуется и какой останется запас по портам. Если расчет показывает, что при росте вы упретесь в порты или скорости уже через год, это прямой сигнал.
  • Проверьте физические ограничения: место в стойках под коммутаторы и патч-панели, питание и охлаждение, реальный маршрут для кабелей. Часто именно кабельная плотность и место в лотках становятся стоп-фактором.

Небольшой пример: сейчас 8 стоек, в каждой по 20 серверов с 10G, трафик в основном north-south. Двухуровневая схема обычно живет спокойно. Но если план на год - 24 стойки, переход на 25G и появление кластеров (виртуализация, аналитика, репликация), доля east-west быстро растет. Тогда стоит заранее посчитать oversubscription и портовую емкость: может оказаться, что проще спроектировать фабрику сейчас, чем «латать» аплинки и менять ядро по частям позже.

Требования к коммутаторам: leaf и spine

Коммутаторы для leaf-spine лучше выбирать от задач, а не от «модной скорости». Сначала определите, какие порты нужны на стойку, какой трафик преобладает (east-west или north-south) и как быстро вы планируете расти.

По портам часто работает простое правило: к серверам 10/25G, вверх 40/100G и выше. Если много виртуализации и распределенных хранилищ, 25G к серверу дает лучший запас, чем 10G, а 100G аплинки снижают риск упереться в uplink уже через год. Смотрите не только на «скорость порта», но и на суммарную пропускную способность коммутатора, а также на запас по таблицам маршрутов.

Функции, которые стоит заложить заранее:

  • ECMP, чтобы равномерно распределять потоки по нескольким линкам.
  • QoS с понятными очередями и приоритизацией (например, для хранилища и голоса).
  • Телеметрия и экспорт статистики (sFlow/NetFlow), чтобы видеть узкие места.
  • LACP; MLAG нужен, только если вы сознательно оставляете L2-агрегацию и хотите L2-отказоустойчивость.

Отдельно проверьте буферы и поведение при микроберстах. Для смешанных потоков (резервные копии, репликация, VM-migration) маленькие буферы могут давать кратковременные потери пакетов и странные просадки, даже если средняя загрузка низкая.

По границе L2/L3 чаще выигрывает L3 до стойки: меньше широковещаний, проще масштабирование, меньше «сложных» инцидентов. Если планируете оверлеи, заложите VXLAN/EVPN на leaf (роль VTEP), а spine часто достаточно как IP-фабрики.

Пример: вы переводите стойки с 10G на 25G, и в пике резервное копирование бьет по нескольким серверным группам. Если leaf поддерживает ECMP, нормальный QoS и телеметрию, перегрузки становятся видны, и трафик проще разделять без догадок. В проектах системной интеграции (в том числе у GSE.kz) такие требования лучше фиксировать на этапе дизайна, чтобы потом не менять железо из-за одной «неучтенной» функции.

Оптика и кабельная инфраструктура: что закладывать сразу

В leaf-spine кабели и модули становятся частью архитектуры. Ошибка здесь выглядит так: сеть готова к 25G/100G, а реальная скорость упирается в тип оптики, длины линий или нехватку волокон в трассе.

DAC, AOC и оптика: что выбирать на практике

Если коротко: DAC и AOC удобны для близких соединений, а классическая оптика нужна, когда важны дистанции и гибкость.

  • DAC (медь) берут для коротких патчей внутри стойки или между соседними стойками, когда важны цена и простота.
  • AOC (активный оптический кабель) удобен как «поставил и забыл» на несколько десятков метров, но хуже подходит, если вы хотите легко менять длины и трассы.
  • Оптика SR по многомоду подходит для типовых расстояний внутри зала.
  • Оптика LR по одномоду нужна, когда стойки далеко, есть несколько залов или нужен запас по дистанции.

Выбор привязывайте к плану размещения: где будут spine, сколько рядов, будут ли отдельные залы, как пройдут лотки и вводы в стойки. Если схема размещения «плавает», чаще безопаснее закладывать вариант, который переживет перестановку без замены трасс.

План по скоростям и запас на расширение

Сразу задайте «лестницу скоростей» на 2-3 года: 10G сегодня, 25G на серверных портах завтра, 100G на аплинках, затем 200G/400G. Оптика и кроссы должны поддержать эти шаги без массовой перекладки.

Чтобы не упираться в расширение каждые полгода, помогает минимум:

  • запас по волокнам в магистралях (часто в 1.5-2 раза от текущей потребности)
  • кроссы и патч-панели с резервом по портам, а не «впритык»
  • единые коннекторы и типы модулей по всему залу
  • понятная маркировка: стойка, юнит, порт, тип линии, длина, тип модуля
  • учет совместимости модулей и скоростей, чтобы не искать «почему не поднялось» во время работ

Когда эти вещи заранее собраны и документированы, апгрейды проходят заметно спокойнее.

Типовые ошибки при переходе на leaf-spine

Leaf-spine иногда покупают как «быстрый апгрейд», а потом сталкиваются с тем, что задержки растут, линков не хватает, а поиск причины занимает недели. Чаще всего проблема не в топологии, а в решениях, которые были нормальны в двухуровневой сети.

Самая частая ошибка - поставить ToR-коммутаторы (leaf) с 25G к серверам, но сэкономить на аплинках к spine. В итоге oversubscription получается слишком высоким: фабрика есть, а реальной полосы между стойками нет. Это особенно больно при виртуализации, распределенных хранилищах и резервном копировании, где много east-west.

Вторая ловушка - смешение скоростей без плана роста. Сегодня 10G к серверам и 40G вверх кажется разумным, но через год появляются 25G и 100G, и «временные» аплинки становятся постоянным узким местом.

Отдельная тема - MTU и джамбо-фреймы. Если часть сети на MTU 1500, а часть на 9000, оверлеи и хранилища могут работать нестабильно: где-то будет фрагментация, где-то скрытые потери и ретрансляции. Это выглядит как «случайные» тормоза, хотя причина в настройках.

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

Наконец, оптика и трансиверы: непроверенная совместимость модулей, разные партии, разные длины и типы волокна - и вы получаете flaps линка под нагрузкой.

Перед вводом в эксплуатацию проверьте базовые вещи:

  • рассчитайте oversubscription и подтвердите его измерениями в тесте
  • зафиксируйте целевые скорости (10G/25G вниз, 100G вверх - или ваш вариант) и план апгрейда
  • выровняйте MTU end-to-end и проверьте ключевые потоки (хранилище, оверлей, бэкапы)
  • сделайте OOB-управление и две независимые линии питания/маршрута
  • прогоните оптику и трансиверы на совместимость и стабильность

Короткий чек-лист перед сменой топологии

Перед переходом от двухуровневой схемы к leaf-spine полезно за полчаса зафиксировать несколько цифр и решений. Это убирает споры «на глаз» и быстро показывает, где риск: в портах, в оптике или в ожиданиях по росту.

Важно, чтобы ответы были записаны в одном документе, а не «в голове у инженера»:

  • Масштаб и горизонт роста: сколько стоек и серверов будет через 24-36 месяцев, и какая часть роста уже подтверждена проектами.
  • Цель по oversubscription: отдельно для стойки (серверы -> leaf) и для межстоечного сегмента (leaf -> spine). Если много east-west (виртуализация, контейнеры, HCI, базы), цель обычно жестче.
  • Скорости и стыки: какие порты на серверах (10G/25G), какие uplink у leaf, и какая скорость нужна на выход наружу (WAN/интернет/межЦОД). Важно заранее решить, где вы переходите на 100G, а где достаточно 25G.
  • Обязательные функции коммутаторов: ECMP, телеметрия и мониторинг, QoS для критичных приложений, буферы под «взрывной» трафик, поддержка нужных протоколов.
  • План по оптике и кабельной инфраструктуре: какие модули берете (SR/LR/DR по вашим расстояниям), реальные длины трасс, запас волокон под расширение, правила маркировки и учета.

Практичный тест: возьмите одну типовую стойку и посчитайте, что будет, если завтра в ней станет на 30% больше серверов. Если сразу упираетесь в uplink или в оптику, leaf-spine стоит планировать уже сейчас.

Пример: как ЦОД вырастает из двухуровневой схемы

Представьте небольшой корпоративный ЦОД на 10-20 стоек. Сеть собрана по классике: доступ (ToR или EoR) и пара агрегационных коммутаторов. На старте это удобно: меньше оптики, понятная схема, расширения редкие.

Через год-два площадка растет до 40-60 стоек. Появляются несколько кластеров виртуализации, отдельная зона резервного копирования, пара «тяжелых» приложений и тестовый контур. Трафик становится смешанным: не только north-south (к пользователям), но и east-west (между серверами) - репликации, storage, сервис-сервис, бэкапы. В этот момент часто всплывает oversubscription: вверх из стоек уводится меньше полосы, чем реально нужно в пике.

Симптомы обычно повторяются:

  • агрегация упирается в порты и пропускную способность, особенно в окна бэкапов
  • каждое расширение требует «перешивать» схему, двигать VLAN и пересобирать uplink
  • задержки между разными зонами получаются разными, и это видно на кластерах

Решение нередко делают поэтапным, без «большого взрыва». Сначала строят новую зону как leaf-spine (например, под новые стойки или под новый кластер). Затем постепенно переносят сервисы: сначала те, кому важны предсказуемая задержка и широкая east-west полоса, потом остальное. Старую двухуровневую сеть оставляют как «остров» на время миграции.

Заранее полезно согласовать с эксплуатацией три вещи:

  • единый мониторинг портов и загрузки (и для старой, и для новой зоны)
  • инвентаризацию оптики 10G/25G/100G и трасс, чтобы не искать «что воткнули год назад»
  • план миграции с тестами: замеры задержек, проверка отказоустойчивости, окно отката

На практике интеграторы (в том числе GSE.kz) часто начинают с пилотной зоны на нескольких стойках: так проще подтвердить расчеты и выбрать коммутаторы и типы оптики без риска для всего периметра.

Следующие шаги: пилот, план миграции и поддержка

Чтобы переход на leaf-spine не превратился в «большой взрыв», начните с подготовки: актуальная схема, скорости на аплинках и портах серверов, где уже есть узкие места, прогноз по росту стоек на 12-24 месяца. Отдельно выпишите критичные приложения и что для них важнее: задержка, пропускная способность, предсказуемость или простота обслуживания.

Дальше имеет смысл сделать пилот на небольшом сегменте, а не на всей площадке. Практичный вариант - 1-2 стойки с типовой нагрузкой (например, кластер виртуализации и хранилище), подключенные к новым leaf и spine.

План пилота обычно укладывается в несколько шагов:

  • Зафиксировать «как сейчас»: задержки, загрузку линков, потери, пики по east-west.
  • Поднять новый сегмент и повторить замеры в те же периоды.
  • Проверить отказоустойчивость: отключение одного линка, одного leaf, перезагрузка spine.
  • Оценить удобство эксплуатации: схемы, маркировка, мониторинг.

После пилота закрепите стандарты, иначе сеть быстро станет разношерстной. Согласуйте типы оптики (10G/25G/100G), длины и классы модулей, правила патчевания и маркировки, а также шаблоны конфигураций (порт-профили, LACP/ECMP, MTU, правила безопасности). Даже простое правило «один тип трансиверов на уровень leaf и один на spine» заметно снижает риск ошибок.

Если привлекаете партнера, в ТЗ стоит явно указать:

  • целевые скорости и допустимый oversubscription
  • требования по отказоустойчивости и окнам работ
  • ограничения по стойкам, питанию и охлаждению
  • список обязательных интеграций (мониторинг, логирование, доступы)

В Казахстане часто важна поддержка на месте: кто и как быстро приедет, есть ли запас оптики и оборудования. Если нужен партнер, который закрывает полный цикл (железо, интеграция, сопровождение), можно обсуждать проект с GSE.kz (gse.kz): у них есть системная интеграция, инфраструктурные решения для ЦОД и круглосуточная техническая поддержка.

Частые вопросы

Когда действительно стоит думать о переходе на leaf-spine, а не просто «добавить аплинки»?

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

Какие метрики и наблюдения лучше всего показывают, что двухуровневая сеть уже «не тянет»?

Смотрите на долю east-west: репликации, миграции ВМ, трафик между узлами кластеров, бэкапы по сети, обмен приложений друг с другом. Если пики нагрузки между стойками стали постоянными или регулярно повторяются, это сигнал. Параллельно проверьте, не растут ли задержки именно в «внутренние» окна работ: во время бэкапов, репликаций и массовых задач в кластере.

Как выбрать oversubscription, чтобы leaf-spine не оказался «фабрикой на бумаге»?

Ориентируйтесь на вашу реальную модель трафика и цель по задержке, а не на «правильное число». Для виртуализации, распределенных хранилищ и аналитики обычно стремятся к более низкому oversubscription на leaf, чтобы межстоечный сегмент оставался предсказуемым. Практичный подход — сначала задать целевую полосу на стойку (сколько серверы могут выдать суммарно), затем подобрать аплинки так, чтобы фабрика выдерживала пики без очередей на одном месте.

Какие ошибки при переходе на leaf-spine встречаются чаще всего?

Самая частая ошибка — поставить быстрые порты к серверам, но оставить слишком мало полосы вверх. Тогда межстоечный обмен будет упираться в аплинки, и преимущества топологии не проявятся. Вторая ошибка — смешать скорости без плана апгрейда: временное решение закрепляется надолго, а затем тормозит рост. Третья — разный MTU в разных частях сети, из‑за чего «плавающие» проблемы выглядят как случайные тормоза.

На что смотреть при выборе коммутаторов leaf и spine, кроме скорости портов?

Leaf обычно выбирают по портам «в стойку» и по аплинкам «в фабрику». Важно, чтобы коммутатор тянул нужную суммарную пропускную способность, поддерживал равномерное распределение потоков и давал нормальную наблюдаемость по загрузке. Spine выбирают по количеству портов и скорости аплинков от leaf, а также по запасу на рост. Если spine «впритык», расширение быстро превратится в замену ядра, что и пытаются избежать.

Лучше делать L2 или L3 до стойки в leaf-spine?

Сначала решите, где заканчивается L2 и начинается L3. Для масштабирования обычно проще поднимать L3 до стойки: меньше широковещаний и меньше «магии» при поиске инцидентов. Если вам нужны L2-сегменты поверх фабрики, планируйте оверлей заранее и проверяйте, что он стабильно работает end-to-end по MTU и политиками. Без этого можно получить рабочую сеть, но нестабильные приложения.

Что выбрать для линков leaf–spine: DAC, AOC или оптику?

Для коротких соединений внутри стойки или между соседними стойками часто удобны DAC или AOC, потому что они простые и быстрые в монтаже. Когда важны расстояния, маршруты могут меняться или есть несколько залов, безопаснее оптика с подходящим типом волокна. Выбирайте не только «по скорости», а по реальным длинам трасс и запасу на перестановки. Ошибка в оптике обычно проявляется не сразу, а под нагрузкой и в самые неудобные моменты.

Нужно ли отдельное OOB-управление при переходе на leaf-spine?

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

Как перейти на leaf-spine без «большого взрыва» и простоя сервисов?

Начните с пилота на 1–2 стойки с типовой нагрузкой и повторяемыми измерениями: задержка, потери, загрузка аплинков, поведение в пиковые окна. Важно заранее определить, какие тесты считаются успехом, и что будет планом отката. Дальше фиксируйте стандарты: типы модулей, правила патчевания, шаблоны конфигураций, единый MTU и мониторинг. Без стандартизации сеть быстро становится разношерстной, и поддержка усложняется.

Есть ли сценарии, где двухуровневая схема останется лучшим выбором даже при росте скоростей до 25/100G?

Да, если у вас действительно доминирует north-south, стоек немного и расширения редкие. В такой картине двухуровневая схема часто дает лучший баланс цены, простоты и скорости внедрения. Сконцентрируйтесь на качественных аплинках, запасе портов и единых настройках, чтобы не создавать технический долг. Leaf-spine имеет смысл тогда, когда главная боль — межстоечный обмен и регулярное масштабирование.

Запрос

Пришлите спецификацию. Остальное сделаем мы

Одна позиция или объект под ключ, любое направление. Вашу поставку от первого звонка до акта ввода ведёт один менеджер.

Расчёт бесплатноДокументы для госзакупок и тендеровОдин договор и одна гарантия