Подробное объяснение архитектуры системы планирования и управления кластером Alibaba Sigma.

Архитектура сервер Эксплуатация и техническое обслуживание Алибаба

фокус

Alibaba пережила Double 11 за последние 9 лет, объем транзакций увеличился в 280 раз, пиковая стоимость транзакций увеличилась более чем в 800 раз, а количество систем продемонстрировало взрывной рост. Сложность и трудность системы в поддержке Double 11 возрастала в геометрической прогрессии. Суть Double 11 Peak заключается в том, чтобы максимизировать удобство работы пользователей и пропускную способность кластера при ограниченных затратах, а также решить проблему пика по разумной цене.

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


Единая система планирования

Sigma, созданная в 2011 году, представляет собой систему планирования, обслуживающую онлайн-бизнес Alibaba.Вокруг Sigma существует целый набор систем управления кластером, ориентированных на планирование.

image.png | center | 684x385

Sigma использует трехуровневую мозговую связь Alikenel, SigmaSlave и SigmaMaster. кванты времени задачи и вытеснение необоснованного приоритета могут быть определены конфигурацией правила верхнего уровня. SigmaSlave может выполнять распределение ЦП контейнера, обработку аварийных сцен и т. д. локально. Локальный ведомый может быстро принимать решения и реагировать на вмешательство чувствительных к задержкам задач, избегая потерь бизнеса, вызванных длительным временем обработки глобальных решений. SigmaMaster — это самый мощный центральный мозг, который может взять на себя управление общей ситуацией и принимать решения по планированию распределения ресурсов и оптимизации алгоритмов для контейнерного развертывания большого количества физических машин.

Вся архитектура представляет собой концепцию проектирования, ориентированную на конечное состояние.После получения запроса данные сохраняются на уровне постоянного хранилища.Планировщик определяет требование планирования и выделяет расположение ресурса, а ведомое устройство идентифицирует изменение состояния для продвижения локальных выделение и развертывание. Общая координация и окончательная согласованность системы очень хороши. Мы запустили систему планирования в 2011 году, переписали ее на языке Go в 2016 году и стали совместимы с API kubernetes в 2017 году. Мы надеемся объединить силу экологии для совместного строительства и разработки.

Совместно расположенная структура

Alibaba начала продвигать структуру совместного размещения в 2014 году, и она была широко развернута внутри Alibaba. Онлайн-сервисы — это задачи с длительным жизненным циклом, высокой сложностью правил и политик и задачами, чувствительными к задержкам. Однако вычислительные задачи имеют короткий жизненный цикл, большие требования к планированию, высокий параллелизм и высокую пропускную способность, задачи имеют разные приоритеты и не чувствительны к задержкам. Основываясь на разнице в основных требованиях двух методов планирования, мы обрабатываем два метода планирования параллельно в архитектуре гибридного развертывания, то есть одна физическая машина может иметь планирование как Sigma, так и планирование Fuxi для достижения унификации базовой среды. . Планирование Sigma заключается в запуске контейнера PouchContainer через SigmaAgent. Fuxi также вытесняет ресурсы на этой физической машине и запускает свои собственные вычислительные задачи. Все онлайн-задачи находятся в контейнере PouchContainer, который отвечает за выделение ресурсов сервера и выполнение онлайн-задач, а также заполнение пустых областей для автономных задач, чтобы обеспечить насыщение ресурсов физической машины, тем самым завершая смешанное развертывание двух задания.

Ключевая технология коворкинга

Ключевые технологии в изоляции ресурсов ядра

  • В изоляции ресурсов ЦП HT была реализована функция ядра Noise Clean для решения проблемы конкуренции за ресурсы гиперпоточности в режиме онлайн/офлайн.
  • Что касается изоляции планирования ЦП, CFS добавляет функцию вытеснения задач для повышения приоритета оперативного планирования задач.
  • При изоляции кэша ЦП изоляция каналов кэша L3 (LLC) в режиме онлайн и в автономном режиме (Broadwell и выше) достигается с помощью CAT.
  • В изоляции памяти он имеет приоритет изоляции CGroup/OOM; контроль пропускной способности уменьшает автономные квоты для достижения изоляции пропускной способности.
  • С точки зрения эластичности памяти, при условии, что память не увеличивается, эффект совместного размещения улучшается, а лимит memcg нарушается в автономном режиме при простое в сети; когда память нужна, она вовремя освобождается в автономном режиме.
  • С точки зрения сетевой изоляции QoS, маркировка управления и контроля — золотая, онлайн-маркировка — серебряная, офлайн-маркировка — бронзовая, а полоса пропускания гарантируется на разных уровнях.

Ключевые технологии в онлайн-управлении кластерами

  • Профилируйте память, ЦП, сеть, диск и пропускную способность сетевого ввода-вывода приложения, узнайте его характеристики, требования к спецификации ресурсов и реальное использование ресурсов в разное время, а затем выполните корреляционный анализ общей спецификации и времени. провести общую оптимизацию расписания.
  • Взаимное исключение Affinity и назначение приоритетов задач, которые вместе взятые приложения делают общую вычислительную мощность меньше, а пропускную способность выше, что является определенной affinity.
  • Разные сценарии имеют разные стратегии.Стратегия Double 11 — это приоритет стабильности.Приоритет стабильности означает принятие стратегии плитки, чтобы использовать все ресурсы и позволить всем слоям ресурсов достичь самого низкого уровня воды. Ежедневные сценарии требуют приоритета использования. «Приоритет использования» означает, что используемые ресурсы достигают наивысшего уровня, освобождая большое количество полных ресурсов для крупномасштабных вычислений.
  • Приложение обеспечивает автоматическое сжатие, вертикальное масштабирование и мультиплексирование с разделением времени.
  • Быстрое расширение и сжатие всего сайта, технология эластичной памяти и др.
    image.png | center | 684x385

Гибридное развертывание означает внедрение вычислительных задач в кластеры онлайн-сервисов для повышения эффективности использования ресурсов. После введения автономных задач средняя загрузка ЦП увеличилась с 10 % до более чем 40 %, а влияние чувствительных к задержке сервисов на задержку составило менее 5 %, что вполне приемлемо. В настоящее время весь наш кластер совместного размещения достиг масштаба в тысячи единиц, что было подтверждено двойным продвижением 11 основных ссылок транзакций. Эта оптимизация может привести к ежедневной экономии серверов более чем на 30%. В этом году мы увеличим масштаб развертывания в 10 раз и добьемся масштабных преимуществ.

image.png | center | 684x385

За счет мультиплексирования с разделением времени достигается эффект дальнейшего повышения эффективности использования ресурсов. Кривая на изображении выше — это кривая потока для одного из наших приложений. Это очень правильно: левая сторона представляет собой впадину ночью, а правая сторона представляет пик днем. Под обычным совместным размещением подразумевается использование ресурсов в заштрихованной синей части рисунка для увеличения коэффициента использования до 40%.Гибкая технология мультиплексирования с разделением времени относится к нахождению периода долины трафика приложения для портрета приложения, уменьшая количество приложений. емкость и высвобождение большого объема памяти и ЦП. Запланируйте больше вычислительных задач. Благодаря этой технологии средняя загрузка ЦП была увеличена до более чем 60%.

Достижения в контейнерах и контейнере PouchContainer

Комплексная контейнеризация — ключевая технология для улучшения возможностей эксплуатации и обслуживания, а также единого планирования. Во-первых, давайте представим внутренний контейнерный продукт Alibaba PouchContainer. Он был построен и запущен с 2011 года на основе LXC, а в начале 2015 года он начал поглощать функции образа Docker и быть совместимым со стандартами контейнеров. Контейнер Alibaba очень характерен. Он сочетает в себе ядро ​​​​Alibaba и значительно улучшает изоляцию безопасности. В настоящее время он развернут в Alibaba Group в масштабе миллионов.

Давайте посмотрим на путь разработки PouchContainer. В прошлом использовалась технология виртуализации виртуальных машин, и переход от технологии виртуализации к контейнерной технологии столкнулся со многими проблемами в системе эксплуатации и обслуживания. Миграция системы эксплуатации и обслуживания связана с большими техническими затратами. Мы добились плавного переноса внутренних операций и обслуживания Alibaba, а также перспективы приложений с независимым IP-адресом, входом в систему по ssh, независимой файловой системой, изоляцией ресурсов и прозрачностью использования. После 2015 года Alibaba представила стандарт контейнеров, сформировала новый набор контейнеров PouchContainer и интегрировала его во всю систему эксплуатации и обслуживания.

Схема расположения PouchContainer

Изоляция PouchContainer очень хорошая.Это богатый контейнер.Вы можете зайти и посмотреть сколько ресурсов занято процессом в контейнере,сколько там процессов и контейнер не зависнет если процесс зависнет,и могут быть запущены многие процессы. Совместимость очень хорошая, и старая версия ядра тоже ее поддерживает, что очень помогает старому. В то же время, после масштабной проверки миллионов развертываний контейнеров, мы разработали механизм распространения образов P2P, который значительно повышает эффективность распространения. В то же время он совместим с большим количеством отраслевых стандартов, способствует построению стандартов, поддерживает RunC, RunV, RunLXC и т. д. Он прошел испытание масштабом миллионов контейнеров, стабилен и эффективен и лучший выбор для предприятий для полной контейнеризации.

architecture.png | center | 748x421

Схема архитектуры PouchContainer

Структура PouchContainer относительно ясна, как Pouchd взаимодействует с kubelet, swarm и Sigma. Вместе с отраслью мы установили стандарт CSI для хранения данных. Поддержка распределенного хранилища, такого как ceph, pangu. Используйте lxcfs для улучшения изоляции в сети, поддерживая несколько стандартов.

В настоящее время PouchContainerization охватывает большинство BU Alibaba.В 2017 году он достиг уровня развертывания в миллион, онлайн-бизнес достиг 100% контейнеризации, а вычислительные задачи начали контейнеризоваться, что сгладило затраты на эксплуатацию и обслуживание разнородных платформ. Охватывает режимы работы, несколько языков программирования и системы DevOps. PouchContainer охватывает практически все секторы бизнеса Alibaba, такие как муравьи, транзакции, промежуточное ПО и т. д.

PouchContainer был объявлен открытым исходным кодом 10 октября 2017 г., официально открыт исходным кодом 19 ноября и планирует выпустить первую основную версию в марте 2018 г. Мы надеемся способствовать развитию контейнерной отрасли и совершенствованию стандартов с помощью открытого исходного кода PouchContainer, а также предоставить отрасли дифференцированный и конкурентоспособный выбор технологий. Традиционным ИТ-предприятиям не только удобно перерабатывать старую, но и старая инфраструктура может пользоваться преимуществами и преимуществами, предоставляемыми облачной исходной технологией, а новым ИТ-предприятиям также удобно пользоваться преимуществами крупномасштабной стабильности. и совместимость с несколькими стандартами.

Адрес открытого исходного кода PouchContainer:GitHub.com/Alibaba/Анатомия…

Облачная архитектура

image.png | center | 684x385

Двойная 11 Обладательная архитектура Операция и система обслуживания

Облачная архитектура операции и система обслуживания

Разделите кластеры на кластеры оперативных задач, кластеры вычислительных задач и кластеры ECS. Были созданы основные системы эксплуатации и обслуживания, такие как управление ресурсами, автономная эксплуатация и техническое обслуживание, управление состоянием, каналы управления, а также мониторинг и сигнализация. В сцене Double 11 мы нарисуем отдельную область в облаке для связи с другими сценами. В области взаимодействия планирование Sigma может запрашивать ресурсы на сервере вычислительного кластера для создания контейнеров Pouch или применять ECS в облачном открытом API для создания ресурсов контейнера. В повседневных сценариях Fuxi может подавать заявки на ресурсы в сигме и создавать необходимые контейнеры.

В сценарии double 11 крупномасштабная система эксплуатации и обслуживания используется для создания большого количества онлайн-сервисов на контейнерах, включая гибридное развертывание бизнес-уровня.Каждый кластер имеет онлайн-сервисы, сервисы с отслеживанием состояния и анализ больших данных. Эксклюзивный кластер Alibaba Cloud также развертывает онлайн-сервисы и сервисы данных с отслеживанием состояния, позволяя центру обработки данных работать как компьютеру.Несколько центров обработки данных управляются как один компьютер, а потребности в развитии бизнеса могут распределяться между несколькими различными платформами.Ресурсы. Постройте гибридное облако, чтобы получить сервер по очень низкой цене и решить проблему наличия.

Во-первых, существует масштабирование сервера, а затем использование ресурсов может быть значительно улучшено за счет мультиплексирования с разделением времени и гибридного развертывания. Он действительно реализует гибкое и гибридное развертывание задач плавного мультиплексирования эластичных ресурсов и достигает цели бизнес-мощности с наименьшим количеством серверов, кратчайшим временем и максимальной эффективностью. Благодаря этому набору облачной архитектуры мы добились сокращения новых ИТ-расходов на 50 % и сокращения ежедневных ИТ-расходов на 30 % во время Double 11, что привело к резкому повышению технической ценности в области управления кластерами и планирования. является необходимостью.

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

0120-叔同.png | center | 168x175.51807228915663

Шу Тонг (Дин Ю), старший технический эксперт Alibaba, участвовал в 8 операциях double 11, отвечал за архитектуру высокой доступности Alibaba и стабильность double 11, а также за контейнер, планирование, управление кластером и эксплуатацию Alibaba. и технологии обслуживания.

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

Группа контейнеров POUCH предоставляет контейнерные технологии в области инфраструктуры в Alibaba, помогая Alibaba полностью реализовать бизнес-контейнеры и закладывая прочную основу для стратегии группы «Облако». Команда стремится стать мировым лидером, эффективным и стабильным предприятием.

Отличная команда всегда рада, чтобы к нам присоединились таланты.Если вы хотите проникнуть в суть технологий и бросить вызов ограничениям компьютеров, присоединяйтесь к нам;если вы хотите работать с преданными и отличными людьми,присоединяйтесь к нам;если у вас есть страсть к элегантному коду «Настойчивость», присоединяйтесь к нам!

Постоянно открыты следующие должности: инженер Golang, инженер Java, архитектор планирования, архитектор контейнеров, архитектор совместного размещения, эксперт по исследованиям и разработкам в области управления кластерными ресурсами, технический эксперт платформы PaaS для контейнеров, архитектор решений для корпоративной контейнерной платформы и т. д.

Внутренний push-канал: xianshu.lj@alibaba-inc.com

Введение открытых позиций:Алибаба Graph360.com/social/in…

обрати внимание наАли Программные технологииОфициальный аккаунт WeChat для получения дополнительной информации