Рубріки: Історії

Через кров, піт та сльози: як 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 тис. користувачів! Це чергова посада, що чергується між членами команди.

Ілюстрація

Як це працює? Коли Sieve виявляє нову версію пакета Debian, вона запускає нову збірку. Ці пакети об’єднані в групи, оскільки окремі пакети часто необхідно оновлювати разом. Після створення групи Google запускає віртуалізований набір тестів, щоб переконатися, що основні компоненти та робочі процеси розробників не порушені. Потім кожна група тестується окремо з повним встановленням системи, завантаженням та запуском локального набору тестів. Збірка пакета завершується протягом декількох хвилин, хоча тестування може тривати до години. 

Як тільки збірка завершиться, всі нові пакети будуть об’єднані з найновішим пулом пакетів gLinux. Потім, коли Google вирішує, що час випустити його у виробництво, команда робить знімки цього пулу. Нарешті, він випускає нову версію ОС без усіляких багатоступеневих альфа-, бета-версій та загальнодоступних випусків.

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

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

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

Вакансій і наймів більше, а зарплати — менше: що відбувалося на ринку праці у квітні

В квітні на ринку праці збільшилася кількість вакансій для IT-фахівців. На DOU та Djinni спостерігались…

07.05.2024

І всього лише $300. Китайці представили ноутбук на базі RISC-V для ШІ-девелоперів

Китайський стартап SpacemiT представив MuseBook — ноутбук на базі восьмиядерного процесора K1 RISC-V, орієнтований на…

06.05.2024

Учасники Brave1 створили ШІ-платформу HARVESTER для органів держбезпеки

Учасники Brave1, українська команда MATHESIS, розробила для органів держбезпеки платформу HARVESTER на основі штучного інтелекту.…

06.05.2024

Програміст криптовалютного стартапу DeFi хотів виїхати з України за італійським паспортом

Волинський програміст криптовалютного стартапу DeFi намагався виїхати з України за італійським паспортом. Але спроба не…

06.05.2024

Міноборони створило онлайн-калькулятор грошового забезпечення військових

Міністерство оборони запустило онлайн-калькулятор грошового забезпечення військовослужбовців ЗСУ. Про це Міноборони повідомило в соціальній мережі…

06.05.2024

Айтівець Міноборони США понабирав кредитів і хотів продати рф секретну інформацію

32-річний розробник безпеки інформаційних систем Агентства національної безпеки Джарех Себастьян Далке отримав 22 роки в'язниці…

30.04.2024