HeadlinesBriefing HeadlinesBriefing.com

エージェント規模のGitインフラ:Azureへの移行

Hacker News •
×

この1年、Gitのトラフィックが指数関数的に増加するなかで、GitHub上のほぼすべてのGitリポジトリは、GitHub独自のデータセンターとAzureという2つの場所に同時に存在するようになりました。最も負荷の高いリポジトリは、依然として単一の要因に制約されています。それはリージョン間の25ミリ秒のラウンドトリップです。

以前の投稿で、GitHubは次世代ストレージアーキテクチャの背後にある2つの原則を示しました。調整を最小限に抑えることと、ストレージをコンピュートから切り離すことです。本稿では、旧設計と新設計をつなぐ橋渡しを取り上げます。クォーラムが書き込みを直列化する方法を変えたことで、最も負荷の高いリポジトリをAzureに移すことができ、そのステップによって、永続的な状態を自ら保持しないレプリカへの道も開かれました。

移行の時期は、エージェント型への移行によって決まりました。トラフィックが急増し、GitHubのデータセンターと周辺リージョンの電力容量には厳しい上限があり、物理的なサプライチェーンにも制約がありました。残された容量は安全に移行するには十分な時間を与えてくれましたが、ゆっくり移行するには足りませんでした。GitのオペレーションはTier 0のサービスであり、GitHubのほぼすべての機能がそれに依存しているため、データを先に移動し、アーキテクチャはデータが到着した後に進化させる必要がありました。リポジトリの最初のコピーは2025年8月にAzureのCentral USリージョンに到着しました。現在、ほとんどのリポジトリでは5つのレプリカのうち2つがAzureにあり、Azureは約半分のGitトラフィックを処理しています。

残りの0.00001%のリポジトリは、より難しい課題を抱えています。現在のアーキテクチャでは、書き込みは正常なすべてのレプリカの応答を待つため、最も遅いレプリカがレイテンシとスループットの両方を決定します。対象のAzureリージョンにあるレプリカは約1,600km離れており、書き込みごとに複数回のラウンドトリップが必要です。解決策は調整の最小化にあります。Gitの一貫性の要件は参照ごとに個別に適用され、異なる参照への更新は通常互いに依存しないため、直列化する必要はありません。

出典: Hacker News · 要約:HeadlinesBriefing