«Как» развертывания чрезвычайно высоких частот заключается в очень зрелые инженерные практики и инструменты. «Единороги» (термин Джина Кима для компании, которую вы перечисляете) обладают одними из лучших талантов в отрасли и инвестируют в лучшие технологии.
Одним из нескольких ключевых практических отличий этих «единорогов» от большинства других организаций является уровень автоматизации, которую они используют. Очень сложно автоматизировать проверки качества, необходимые для поддержания постоянного потока работы от разработки через среду тестирования до производства. Разработка и Операции должны поддерживать высокий уровень обслуживания внутри компании. Операционная служба должна предоставлять ресурсы самообслуживания, чтобы разработчики не ждали билетов для получения новой инфраструктуры.
Эти крупные компании используют нетрадиционные решения, такие как система развертывания BitTorrent и географически распределенные сети доставки контента (CDN). Когда Facebook обновляет свой код или создает новую сборку, двоичные файлы необходимо пересылать на все серверы компании (~1,5 ГБ), поэтому они создали свой собственный трекер BitTorrent, предназначенный для получения фрагментов данных с других серверов, находящихся на том же сервере. узел/стойка, что снижает общую задержку.
Источник: Эксклюзив: закулисный взгляд на разработку релизов Facebook
Развертывание Facebook состоит из следующих шагов:
- Обновление переходит на уровень «a2», который распространяется на небольшую случайную группу пользователей.
- Процедура регистрации в компании IRC, при которой все разработчики, представившие код для обновления, подтверждают, что они готовы
- ответьте, если возникнет проблема, когда обновление выйдет.
Руководитель отдела разработки выпуска дает команду в терминале, чтобы начать развертывание
Следите за информационными панелями веб-мониторинга по мере выхода обновления. Частота развертываний — одно незначительное обновление в большинстве рабочих дней и одно крупное обновление еженедельно.
Источник:Как Facebook осуществляет развертывание
Очень, очень сильная система тестирования (включая Canary-релиз).