Meta(旧Facebook)が大規模向けのビルドシステム「Buck2」をオープンソースで公開。高速かつ高信頼で拡張可能なビルドシステム

今回は「Meta(旧Facebook)が大規模向けのビルドシステム「Buck2」をオープンソースで公開。高速かつ高信頼で拡張可能なビルドシステム」についてご紹介します。

関連ワード (前身、既存、最初等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Meta(旧Facebook)は、大規模システム向けのビルドシステム「Buck2」をオープンソースで公開したことを明らかにしました。

fig

Buck2は同社内で数千人のエンジニアに使われており、1日あたり数百万回のビルドを実行していると説明されています。

Rustで開発したことによりビルドの速度が約2倍に

Metaは2013年にBuck2の前身となるビルドシステムの「Buck」をオープンソースで公開しています。BuckはJavaで開発されています。

Buck2は、新規にRust言語で開発されたことでガベージコレクションによる処理の一時停止などが避けられたため、より高速なビルドの実行が可能になっています。Meta社内ではBuckと比較して約2倍高速になったとのことです(ただしJavaは優れたメモリプロファイリングツールなどの優位点があると、フォローもしています)。

また、Buckではリモートでのビルド実行があとから機能追加されたのに対し、Buck2ではリモートでのビルドを最初から考慮して開発されたことで、より並列性の高い効率的なビルドが可能になっています。

Buck2のビルドシステムのコア機能は特定のプログラミング固有のビルドルールから完全に分離されており、プログラミング言語固有のルールなどは「Starlark」と呼ばれるコンフィグレーションのための言語によって記述します。これにより、さまざまな言語に対応できる拡張性も備えているとされています。

さらにビルド時の依存関係はつねに明示が必要で、それにより厳密で信頼性の高いビルドの実行を可能にしているとのことです。

Metaの開発事情がBuckを生んだ

MetaはBuckおよびBuck2を自社開発する理由として、同社がC++やPython、 Rust、Kotlin、Swift、Objective-C、Haskell、OCamなどをはじめとするさまざまなプログラミング言語によるコードを単一のリポジトリ(monorepo)で扱っており、同社のような大規模かつ多言語のビルドは既存のビルドシステムでは扱えないことから、自社でこれらの最適化されたビルドシステムを開発することにしたと説明しています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
岡山大病院の医師がフィッシング被害に 私用クラウド奪われ患者269人分の個人情報が流出か
クラウドユーザー
2021-08-06 05:42
火星で初飛行に成功、NASAの小型ヘリコプターを支えるオープンソースソフトウェア
IT関連
2021-04-22 02:39
京急電鉄、「屛風浦駅」でAI警備システムを試験運用
IT関連
2023-05-24 13:40
「請求QUICK」、請求書受取機能に仕訳機能を搭載へ
IT関連
2024-01-14 14:45
「Visual Studio 2022 for Mac」の正式リリース近づく。macOSネイティブUI搭載、Apple M1プロセッサ対応、サーバレスアプリ開発対応など新機能
.NET
2022-04-19 16:50
「リフト&シフト」、次の課題は運用の一貫性確保
IT関連
2023-08-09 09:47
ネムグループがNEM Symbolを基盤にマンチェスター・シティFCのリヤド・マフレズ選手などのNFT発行
ブロックチェーン
2021-05-23 17:16
ワークスモバイルジャパン、「LINE WORKS」にビデオ通話のフィルター機能を追加
IT関連
2023-02-18 23:21
生成AIの普及で開発者に必要となる部門間連携
IT関連
2024-01-24 13:39
Windows 10に特権昇格の未修正の脆弱性、マイクロソフトが回避策
IT関連
2021-07-22 11:49
物流エコシステムをフル活用–全ての小売店にささぐ、オラクルとUberの配送改革
IT関連
2023-09-22 02:29
グローバルなデータセンターの電力消費量が4年で2倍以上に急増、国際エネルギー機関が予測。今後のAI分野の競争は電力調達が勝敗を握るようになるか?
クラウド
2024-01-30 11:06
マイクロソフト「Azure Sentinel」にランサムウェア検知機能「Fusion Detection」
IT関連
2021-08-10 07:04
ユーザーのパスワード使い回し、企業に手の打ちようは? BBSakuraが出したシンプルな答え
PR
2021-03-31 11:23