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
AkamaiがLinodeを1040億円で買収
IT関連
2022-02-17 21:33
位置情報関連ソリューション提供のGeoloniaがMedical DOCの「新型コロナワクチンマップ」開発に貢献
パブリック / ダイバーシティ
2021-06-03 16:58
GitHub、「GitHub Copilot Extensions」パブリックベータ版を提供
IT関連
2024-09-20 06:05
ドコモ、ファミリー割引で方針転換 ahamo契約者も“家族の一員” 割引率を下げず
企業・業界動向
2021-01-16 16:04
半導体不足、コロナ…… トヨタ業績予想据え置きには強い危機感
IT関連
2021-08-08 05:31
Terraformがノーコードに。HashiCorpが「Terraform Cloud ノーコードプロビジョニング」正式リリース
DevOps
2023-05-01 11:05
Oculusで人気のVRオープンワールドRPG「A Township Tale」開発元のAltaがシード資金14.2億円調達
IT関連
2022-01-28 13:12
NISC、サイバー攻撃対応の訓練情報が流出 富士通ツールへの不正アクセスで
セキュリティ
2021-06-05 14:00
なぜ、データバックアップへの企業投資の優先度が急上昇しているのか
IT関連
2022-05-28 01:02
村田製作所、再委託先が7.2万件の情報を不正持ち出し IBM中国法人の社員が個人用クラウドにアップロード
クラウドユーザー
2021-08-08 01:28
農研機構、栽培施設内を無人走行し果実の収穫量をAIで予測する「着果モニタリングシステム」
IT関連
2022-03-04 11:24
米バイデン政権が中国テック・通信企業への投資禁止措置を拡大
パブリック / ダイバーシティ
2021-06-05 03:59
事業者向け卸仕入れマーケットプレイス「orosy」のスペースエンジンが1.8億円のプレシリーズA調達
ネットサービス
2021-07-22 16:59
Google Cloudが開発したPostgreSQL互換ソフトウェア「AlloyDB Omni」がバージョンアップ、より高性能に
Google Cloud
2024-11-19 22:13