Рубріки: Истории

Через кровь, пот и слезы: как Google разрабатывала собственный Linux

Анастасія Пономарьова

Вероятно, вы уже слышали про операционную систему от Google — Chrome OS, но есть в корпорации и другие подобные разработки. Например, внутри самой Google используется собственный дистрибутив Linux для настольных ПК — gLinux.

Goobuntu

«Самодельный» дистрибутив Linux в разных версиях используется в компании уже в течение десяти лет. Первой версией была Goobuntu — как вы могли догадаться из названия, он основан на Ubuntu. Его использовали до 2018 года, когда был запущен новый дистрибутив — gLinux на основе Debian.

Зачем было избавляться от Goobuntu? Как объяснил Google, выпуск Ubuntu раз в два года с долгосрочной поддержкой означал необходимость вручную обновлять каждый компьютер в компании — более 100 тысяч устройств — до даты окончания срока службы каждой версии ОС.

Добавьте к этому трудоемкую необходимость полной настройки компьютеров инженеров после обновления… Как понимаете, это серьезная головная боль. Потому Google решил, что это обходится компании слишком дорого. Кроме того, установка Goobuntu на все рабочие машины обычно занимала большую часть года. С двухлетним окном поддержки оставался только один год свободного пользования, после чего приходилось заново проходить тот же процесс на всех машинах.

«Весь этот процесс был огромным стрессом для нашей команды, так как мы получали отчеты на сотни ошибок с просьбами о помощи в крайних случаях», — вспоминают в Google.

Debian Linux

Когда Google надоело постоянно возиться с обновлениями Goobuntu, компания частично перешла на Debian Linux. Инженеры корпорации создали скользящий дистрибутив Debian: GLinux Rolling Debian Testing (Rodete). Его основная идея была в том, чтобы предоставлять последние обновления и исправления по мере их создания и готовности к работе, а не в какие-то строгие временные рамки. К таким дистрибутивам относятся Arch Linux, Debian Testing и openSUSE Tumbleweed.

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

Sieve

Чтобы все новшества работали без лишней крови, пота и слез, Google создала систему Sieve. Так, она одна смогла автоматизировать производственный конвейер непрерывного дистрибутива до такой степени, что сегодня в компании требуется только один инженер для обслуживания программы, используемой более чем 100 000 пользователей! Это дежурная должность, которая чередуется между членами команды.

Иллюстрация

Как это работает? Всякий раз, когда Sieve обнаруживает новую версию пакета Debian, она запускает новую сборку. Эти пакеты объединены в группы, поскольку отдельные пакеты зачастую необходимо обновлять вместе. После создания всей группы Google запускает виртуализированный набор тестов, чтобы убедиться, что основные компоненты и рабочие процессы разработчиков не нарушены. Затем каждая группа тестируется отдельно с полной установкой системы, загрузкой и запуском локального набора тестов. Сборка пакета завершается в течение нескольких минут, хотя тестирование может занять до часа. 

Как только сборка завершится, все новые пакеты будут объединены с новейшим пулом пакетов gLinux. Затем, когда Google решает, что пора выпустить его в производство, команда делает снимки этого пула. Наконец, он выпускает свежую версию ОС без всяких многоступенчатых альфа-, бета-версий и общедоступных выпусков.

Благодаря скользящему графику выпусков Google теперь может быстро устранять бреши в системе безопасности всех компьютеров без ущерба для стабильной работы. А раньше инженерам приходилось тщательно просматривать каждый совет по безопасности Debian, чтобы убедиться, что исправление включено.

Кроме того, улучшенный набор тестов Google и интеграционные тесты с ключевыми командами, которые запускают критические системы разработчиков, также дали более стабильный опыт использования дистрибутива Linux. А стремление автоматизировать весь процесс значительно уменьшило нагрузку и стресс внутри команды. 

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023