グーグルのクラウドを支えるテクノロジー > 第101回 Googleの分散ビルドシステムのアーキテクチャー(パート1)
私が編集支援しているCTC教育サービスのコラム「グーグルのクラウドを支えるテクノロジー > 第101回 Googleの分散ビルドシステムのアーキテクチャー(パート1)」が公開されました。興味がある方はご覧ください。
###
はじめに
今回からは、2020年に公開された論文「Scalable Build Service System with Smart Scheduling Service(PDF)」を紹介します。この論文では、Google社内で利用されている「分散ビルドシステム」のアーキテクチャーが解説されています。独立したいくつかのシステムが連携する分散型のアーキテクチャーになっており、マイクロサービスアーキテクチャーの設計例としても参考になります。
Google社内のビルド環境
第20回の記事でも紹介しましたが、Google社内では、すべてのソフトウェアのソースコードを単一のリポジトリで管理しています。GitHubのように、ソフトウェアごとにリポジトリを分けるのではなく、1つの巨大なリポジトリに、ディレクトリーを分けるかたちで、すべてのソースコードが保存されています。このリポジトリに対して、1日に平均10万個以上の変更がコミットされ、それに伴うビルド処理(実行可能なバイナリーファイルを生成する処理)が実行されます。リポジトリ内のソースコードはお互いに依存関係があり、変更部分に関連するすべてのコードをビルドするため、ビルド処理の総数は1日の平均で1,500万回を超えます。
この続きは以下をご覧ください
https://www.school.ctc-g.co.jp/columns/nakai2/nakai2101.html