Новости криптобиржи

Рождение Bazel: Как инструмент сборки Google стал открытым и трансформировал разработку ПО

Новости криптобиржи
Birth of the Bazel

История создания Bazel — внутреннего инструмента сборки Google, его открытие для сообщества и влияние на современную разработку программного обеспечения. Рассмотрены ключевые этапы развития, вызовы и перспективы инструмента.

История появления Bazel — это захватывающее путешествие от внутренних нужд гиганта технологической индустрии Google до создания одного из самых популярных и эффективных инструментов сборки в мире. Bazel — это не просто программное обеспечение, а результат многолетнего опыта, борьбы с техническими трудностями и стремления сделать процесс разработки более удобным и производительным как для крупных корпораций, так и для независимых разработчиков по всему миру. Путь к Bazel начинался задолго до официального анонса. Один из ключевых участников проекта, инженер Google Хан-Вен Ниенхёйс, вспоминает свой опыт работы над системой сборки в периоды до присоединения к Google. Еще до Google он занимался проектом LilyPond, своеобразным аналогом LaTeX для нотной записи музыки.

Этот проект сталкивался с трудностями использования стандартных инструментов сборки, таких как autoconf и automake, что побудило команду создать собственные шаблоны Makefile, которые оказались более подходящими для их нужд. Однако задача перекрестной компиляции для разных платформ, включая Windows и MacOS, была крайне сложной, что усилило интерес к более универсальному и мощному решению. Приход в Google в 2007 году позволил обнаружить знакомые проблемы, но в значительно больших масштабах. Разработка велась в масштабной монорепозитории, известной как Google3, где исходные коды и инструменты были тесно связаны. На тот момент использовался GNU Make, но для улучшения производительности и корректности запуска сборок разрабатывался новый инструмент Blaze — наследник, который обещал правильность и скорость, два качества редко достигаемые одновременно.

Несмотря на потенциал нового инструмента, его внутреннее устройство оказалось весьма сложным. Сам Хан-Вен попытался разобраться с архитектурой Blaze, но трудный синтаксис и сложные графы зависимостей заставили его отказаться от непосредственного вклада на ранних этапах. С тех пор он возглавил несколько проектов, направленных на улучшение инструментов работы с системой контроля версий и девелоперской инфраструктуры Google, что вскоре позволило ему влиять на крупные инициативы в компании. Конец 2013 года стал переломным моментом, когда Google начал активный поворот в сторону облачных технологий. Техническая инфраструктура, раннее ориентированная на внутренние нужды компании, должна была стать коммерчески успешной через облачные продукты.

Внутренняя команда DevInfra, ранее сосредоточенная исключительно на внутренних инструментах, получила задачу создавать инструменты, которые заинтересуют внешних пользователей и помогут привлечь новых клиентов Google Cloud. Одним из предложений стало сделать доступным внутренний инструмент Blaze для внешнего сообщества — идею открытого исходного кода. Сначала идея вызвала внутренние дебаты. Многие понимали, что существующая архитектура Blaze была очень проприетарной и заточенной под масштаб Google, что делало создание «универсального» продукта вызовом. Кроме того, следует учитывать, что у Google3 отсутствовала поддержка мультиарендного режима, что усложняло развертывание параллельной инфраструктуры для внешних пользователей.

Тем не менее ценность и потенциал открытого инструмента были неоспоримы. Инициатива действительно набирать обороты получила благодаря настойчивости Хан-Вена, который в один из бессонных ночей написал альтернативное предложение — сделать именно Open Source-версию Blaze. Идея заключалась в том, что только открытый доступ позволит инструменту завоевать популярность за пределами Google и со временем стать драйвером облачных сервисов Google посредством удаленной сборки и выполнения. После очередных обсуждений было организовано масштабное собрание с участием сотен инженеров. Хан-Вен с презентацией идеи получил одобрение на формирование команды из четырех человек и фиксированный срок в шесть месяцев для демонстрации результата.

Проект получил внутреннее кодовое имя и стартовал. Начало работы над Bazel оказалось куда более сложным, чем ожидалось. Язык программирования Java, в котором была написана исходная кодовая база Blaze, был непривычен для команды; накопившийся за годы разработки технический долг в виде устаревших функций и неиспользуемых компонентов создавал нагрузку при попытке рефакторинга. Еще одной серьезной проблемой стала тесная связка инструмента со структурой монорепозитория Google, что поставило сложные задачи при попытках изменить внутренние файлы сборки. Чувство тревоги по поводу потенциальной отмены проекта сохранялось, поскольку для успешного продолжения требовалось иметь значимых пользователей.

Поиски подходящего проекта привели к анализу Android Open Source, который по объему и сложности представлял интерес, но все же был слишком большим для пилотного использования. В итоге ключевым фактором стали потребности команды мобильных разработчиков Apple в Google, которым необходим был инструмент, способный работать вне привычной Linux-инфраструктуры, то есть на macOS. Bazel смог удовлетворить эту нишу, предоставив стабильный инструмент сборки для более чем тысячи внутренних пользователей. Выбор имени для нового инструмента был отдельной интересной историей. Поскольку название Blaze было зарегистрировано десятками компаний, пришлось искать другой вариант.

Рассматривались разные варианты, в том числе «bake», «please» и даже «potato». Решение пришло благодаря идее использовать анаграмму, что привело к появлению имени Bazel. Оно сразу понравилось команде, а первый логотип, созданный на онлайн сервисе, стоил всего около ста долларов. Завершение подготовки к выпуску заняло несколько месяцев, в течение которых помимо кода готовилась документация, устанавливались процессы совместного развития и управления проектом. 24 марта 2015 года произошло «тихое» открытие проекта в публичный доступ.

Предполагалось, что объявление пройдет незаметно, но уже через полчаса Bazel возглавил топ списка на Hacker News, вызвав бурю обсуждений, отзывов и пулреквестов. Особый момент связан с доброжелательным жестом Facebook — разработчиков собственного аналогичного инструмента Buck. Они отправили одновременно в офисы Google в Мюнхене и Нью-Йорке праздничные торты в честь релиза Bazel, что символизировало непрерывный обмен опытом между крупнейшими технологическими компаниями. Переход от внутреннего продукта к открытому источнику поставил новые задачи и вызовы. Теперь необходимо было не только развивать кодовую базу и сопровождать проект, но и поддерживать большое количество внешних пользователей, реагировать на проблемы, внедрять изменения с учетом разнообразных запросов.

Хан-Вен отметил, что часто роль пользователя, разработчика и поддерживающего специалиста в проекте приходится совмещать, что требует серьезного баланса и организационной дисциплины. За годы существования Bazel приобрел значительную популярность за пределами Google. Компании, работающие с большими проектами, мульти-языковыми кодовыми базами и нуждающиеся в высокой производительности сборки, получили в Bazel мощное решение. Разработчики и консультанты, специализирующиеся на Bazel, стали востребованными специалистами на рынке труда. Начальный план, предполагавший, что Bazel станет инструментом, генерирующим доходы Google Cloud через удаленное выполнение, по ряду причин не выполнился.

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

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
The Urgency of Interpretability
Среда, 30 Апрель 2025 Неотложность интерпретируемости искусственного интеллекта: почему понимание внутренних механизмов моделей важно как никогда

Понимание внутренних механизмов искусственного интеллекта становится ключевым фактором для безопасного и ответственного внедрения технологий в общество и экономику. Рост мощи моделей требует немедленного внимания к интерпретируемости для минимизации рисков и увеличения пользы от ИИ.

Pudgy Penguins’ $PENGU Jumps 37% Amid ETF Filing and Validator Launch on Solana
Среда, 30 Апрель 2025 Взлет $PENGU от Pudgy Penguins: рост на 37% на фоне запуска валидатора в Solana и подачи заявки на ETF

Токен $PENGU от проекта Pudgy Penguins демонстрирует значительный рост после ключевых событий в экосистеме: подачи заявки на ETF и запуска валидатора на блокчейне Solana. Рассматриваем причины актуального ралли и перспективы дальнейшего движения токена.

Analyst Report: International Business Machine
Среда, 30 Апрель 2025 Аналитический обзор компании International Business Machine: история, инновации и перспективы развития

Подробный аналитический обзор компании International Business Machine (IBM), охватывающий историю, ключевые направления бизнеса, технологические инновации и перспективы развития на современном рынке технологий.

Daily – Vickers Top Insider Picks for 04/25/2025
Среда, 30 Апрель 2025 Ежедневный обзор Vickers: топ инсайдерских покупок на 25 апреля 2025 года

Анализ лучших инсайдерских сделок компаний из различных секторов экономики на основе отчёта Vickers за 25 апреля 2025 года. Обзор перспективных акций и рекомендаций для инвесторов.

Analyst Report: Barrick Gold Corporation
Среда, 30 Апрель 2025 Barrick Gold Corporation: перспективы и инвестиционные возможности мирового лидера в добыче золота

Обзор Barrick Gold Corporation — одной из крупнейших мировых компаний в сфере добычи и переработки золота. Анализ текущих показателей, рыночных трендов и факторов, влияющих на инвестиционный потенциал компании.

Market Digest: GOLD, BMY, CSX, DFS, FE, GPC, GAP, HBAN, IBM, LRCX, NEM, T, TXN, ELV, KDP, GEV
Среда, 30 Апрель 2025 Обзор рынка акций: тенденции и перспективы компаний GOLD, BMY, CSX, и других лидеров отрасли

Детальный анализ текущего состояния фондового рынка США с акцентом на основные компании из секторов технологий, финансов, материалов и потребительских товаров, таких как GOLD, BMY, CSX, DFS, FE, и другие. Обзор тенденций, влияющих на курсы акций и прогнозы экспертов для инвесторов.

Sui Ecosystem Outperforms Altcoin Market
Среда, 30 Апрель 2025 Экосистема Sui: Взлёт и Превосходство Над Рынком Альткоинов

Экосистема Sui демонстрирует впечатляющий рост и опережает рынок альткоинов благодаря стремительной динамике токена SUI, инновационным проектам и возможному сотрудничеству с ведущими игровыми франшизами. Анализ факторов и перспектив развития экосистемы Sui в контексте современного криптовалютного рынка.