Git パフォーマンスを改善する「スマートミラーリング」

distributedGit開発ツールの限界を広げようとしているチームがいくつもあると思いますが、あなたのチームもそのうちの 1 つでしょうか?大企業に勤める方や大規模なリポジトリを扱う大プロジェクト (おそらく複数の大陸に渡って同僚とリポジトリを共有している) で働く方は、「はい」と答えることでしょう。

Git を大規模な環境で使用するのはあまり効率的ではなく、チームの生産性を阻害してしまいます。そこで、当社が開発した解決方法を紹介したいと思います。それが「スマートミラーリング」であり、現在 Bitbucket Data Center で利用可能です。

あなたのチームには「スマートミラーリング」が必要ですか?

「スマートミラーリング」が必要なチームもあればそうでないチームもあります。しかし必要とするチームにはいくつか共通点があります。

はじめに、数百人あるいは数千人を抱える開発チームについてお話しします。数千人のコーダーが、リポジトリサーバーに負担をかけます。たとえそれが目の前に置かれているとしてもです。そしてサーバーの動作における他の要因が、Bitbucket 自体のパフォーマンスと同じくらい重要になっています。

Git を使用する大規模開発チームはどんどん増え続けており、それらのチームは世界中に分散していることが分かっています。それらのチームと Bitbucket インスタンスとの間のネットワーク性能はほとんど、あるいは全く制御しようがありません。バンド幅に制限があるため、チームは大きな遅延や各操作で苦労することになります。さらにさまざまな理由により、同じチームが大規模リポジトリで作業する必要性が頻繁に生じます (前向きな理由においてでもときどき生じます!)。

これらの要因がすべて重なり、開発者の貴重な時間をうばい、海を渡って大規模リポジトリをクローンするのに長時間 (ときには数時間) の待ち時間が発生してしまいます。ポータブルドライブを世界各国に郵送するのは大変なことです。ひどい話です。

そのような方には「スマートミラーリング」が役立ちます。

「スマートミラーリング」がどのように Git パフォーマンスを向上させるのか

Bitbucket Data Center は、常に複数のアプリケーションノードをローカルクラスター内で実行することができ、すべてのユーザーを補助して、パフォーマンスや可用性を必要とするボットの開発も支援します。「スマートミラーリング」は、大規模リポジトリで作業する分散チームに合わせて、Git の読み込み操作のパフォーマンスを向上しています。

image2016-2-2 12-55-43「スマートミラーリング」を使うには、1 つ以上のアクティブミラーサーバーをセットアップして、遠隔地にあるリポジトリのリードオンリーコピーを操作し、プライマリ Bitbucket インスタンスに合わせて自動的に最新に保つようにします。ミラーはプライマリインスタンスの全リポジトリ、またはサブセットだけでもホスト可能です。ミラーサーバーがユーザーの権限と認証をプライマリサーバーに委譲するため、余計なユーザー管理は必要ありません。さらに、追加コストゼロで必要な数だけ Bitbucket Data Center インスタンスに接続することができます。

Git パフォーマンスが劇的に向上するだけでなく、開発者のBitbucket インターフェース内に代替クローンロケーションが自動的に表示されます。そのため管理者が新たに研修を受ける必要はありません。一度セットアップすれば、ミラーは完全に自動で動きます。

パフォーマンス向上の予測

spedometer-narrowmarginsネットワークのバンド幅やリポジトリのサイズなどの要因により、パフォーマンスの向上にはバラツキがあることが予想されます。現在どれほどリモートクローニングが遅いかで、基本的なパフォーマンス向上が決まります。簡単なテストでは、5GB のリポジトリをサンフランシスコとシドニーでクローンするのに 1 時間以上かかっていました。しかし「スマートミラーリング」を使うと、 25 倍も高速化してわずか数分で完了しました。

ある顧客から聞いたところ、遠隔地のユーザーがクローンを取るのに 9 時間もかかったそうです (9 時間もです!)。彼らは大幅なパフォーマンス向上、つまり大規模リポジトリのクローンを取る開発者たちに丸 1 日還元することができたはずです。

想像してください。バンガロールのモバイルチーム、ロンドンのウェブチーム、タイの研修室で働く秘密プロジェクトチーム、これらすべてが、距離の制約を受けることなく Git の恩恵にあずかることができるのです。

あなたが Git 初心者だろうと達人だろうと、あなたの分散チームは不必要な遅延に悩まされることなく良い仕事ができるようになるはずです。「スマートミラーリング」について、またそれがどれほどチームに役立つかについて誰かと話をしたい方は、当社の便利なお問い合わせフォームを使って当社のカスタマーアドボケートと連絡を取ってください。8GB のクローンが完了するかどうかを思案中に机に頭を打って疲れてしまった方 (あるいはクローンのハードコピーをポーランドの同僚に自分で届けるのに忙しい方) は、Data Center がオンラインで提供している情報をご参照ください。

さらに詳しい情報をお聞きになりたいですか?Bitbucket シニアプロダクトマネージャーの Roger Barnes が、PST (太平洋沿岸標準時間)、CET (中央ヨーロッパ時間)、AEST (オーストラリア時間) それぞれの 3 月 3 日午前 11 時にウェビナーを行いますのでご参加ください。内容は以下の通りです。

  • Bitbucket Data Center 4.2.0 以上で、「スマートミラーリング」を使用するメリット
  • 「スマートミラーリング」はどのように機能するのか: アップストリームインスタンス用にミラーサーバーを設定
  • 分散チームで Git クローンを高速化するためにミラーを設定する方法
  • ミラーのインストール中に起こりうる問題を解決するヒント
  • 継続的インテグレーションサーバー (Bamboo、Jenkins、など) がミラーを利用する方法

ウェビナーに登録

 

この記事がお役に立ちましたか?ソーシャルネットワークでシェアして、パフォーマンス面で苦しんでいる Git ユーザーを助けるお手伝いをしてください!


*本ブログは Atlassian Blogs の翻訳です。本文中の日時などは投稿当時のものですのでご了承ください。
*原文 : 2016 年 2 月 9 日 “Smart mirroring: the cure for poor Git performance