グーグルのクラウドを支えるテクノロジー > 第101回 Googleの分散ビルドシステムのアーキテクチャー(パート1)
2021/4/19 7:28
※この記事は読者によって投稿されたユーザー投稿です:
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
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
ソーシャルもやってます!