Cluster and Resource Management at Facebook Архитектуры, масштабируемость
Доклад посвящен тому, как мы построили низкоуровневую систему управления вычислительными ресурсами Facebook — Resource Broker. Этот компонент предоставляет базовый API и хранилище для Service Management систем следующего по стеку уровня — сервисные аллокаторы и шедулеры. К системам подобного рода применяются весьма жесткие требования по надежности и отсутствию зависимостей. Из-за этого, например, мы используем специально написанное для Resource Broker хранилище данных — Delos, так как не можем использовать общее хранилище, которое будучи внутренним сервисом Facebook опосредованно управляется Resource Broker'ом.
В качестве одного из примеров использования этой системы я рассажу, как мы выполняем автоматизированное выведение серверов из продакшна как для планового обслуживания (maintenance), так и в качестве реакции на какие-либо неполадки на сервере. Все это выполняется в автоматизированном режиме для миллионов контейнеров, на которых запущены сервисы Facebook.
Ресурсы для чтения:
Общее описание Cluster Management-архитектуры — https://engineering.fb.com/data-center-engineering/tupperware/
Описание архитектуры хранилища, которое используется компонентами Cluster Management — https://engineering.fb.com/data-center-engineering/delos/
Высокоуровневое описание проекта.