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
「Windows 365」提供開始–プランと価格が明らかに
IT関連
2021-08-03 22:56
LINEも勤務時間中のワクチン接種OKに
企業・業界動向
2021-05-27 20:44
Apple決算、全ジャンル2桁増収で売上高が初の1000億ドル超え
企業・業界動向
2021-01-29 12:49
マルチクラウドを「バイデザイン」に–デルが「Project Alpine」披露
IT関連
2022-05-10 21:53
KDDIとインテル、データセンターの二酸化炭素排出削減で連携
IT関連
2022-03-24 19:42
NEC、倉庫での作業内容やレイアウト変化に対応する「ロボット制御AI」開発
IT関連
2023-03-07 10:15
マイクロソフトの開発者会議「Build 2021」、米国時間5月25日よりオンラインで
IT関連
2021-04-05 12:19
トレンドマイクロ、フィッシングメール訓練ツールを無償提供
IT関連
2023-06-24 04:00
CDNベンダーから総合インターネットプロバイダーへと転換–クラウドフレアが事業戦略
IT関連
2023-02-14 23:57
渋⾕区と東急不動産が連携–「スタートアップエコシステム」の形成推進に向け
IT関連
2023-02-28 02:48
米司法省、北朝鮮のハッカーを起訴–ソニーのサイバー攻撃や「WannaCry」に関与
IT関連
2021-02-18 16:15
[速報]Google、自然言語でAIと対話するだけで誰でもアプリが作れる「Duet AI for AppSheet」発表。Google I/O 2023
Google
2023-05-11 08:33
物質・材料研究機構と筑波大学、新製法によるダイヤモンド電界効果トランジスターで高い移動度とノーマリオフ動作を実証
IT関連
2022-01-20 11:39
Yahoo! JAPANが副業マッチングサービス「Yahoo!副業(ベータ版)」の先行登録受付を開始、5月に本格稼働へ
ネットサービス
2021-03-04 12:12