イスラエル発のソフトウェア「IncrediBuild」で、開発サイクルを超⾼速化

イスラエル発のソフトウェア「IncrediBuild」で、開発サイクルを超⾼速化
独自の分散コンピューティングの技術で、ビルドやコンパイルの時間を最⼤1/30に短縮
独自の分散コンピューティングの技術で、ビルドやコンパイルの時間を最⼤1/30に短縮

重たいビルドに悩まされていた2人の開発者が1990年代、NASAの地球外知的生命体探査プロジェクト (SETI) からアイデアを得て、分散コンピューティングのテクノロジーを開発しました。
それ以来20年にわたり「IncrediBuild」は、開発環境の高速化のソリューションとして、世界中の開発者に愛用されてきました。現在、フォーチュン100企業20社をはじめとする2,500社を超える企業で、15万人以上の開発者によって日々利用されています。

<分散可能な処理>
WindowsおよびLinuxで、マルチプロセスの処理を幅広く高速化
・Visual StudioでのC、C++、C#のビルド
・Makeなどのコンパイル
・レンダリング、エンコード、コンバート、画像解析、コード難読化
・単体テスト、unitテスト
・AIラーニング
・Unreal Engine、Unity、Cocos2dxなどのゲームエンジン
・Coverity、Klocworkなどのコード解析
・Qt Creator でのビルド、コンパイル

特長

Visual Studio公式パートナー

IncrediBuildは、Visual Studioにアドオン搭載されている唯⼀のサードパーティツールです。2002年よりMicrosoft社の公式パートナーに認定されており、『Visual Studio Magazine』の Reader's Choice Awardsを何度も受賞しています。

Visual Studio C/C++/C#、MSBuild、MSTest、VSTest、TFS、AzureをはじめとするMicrosoft社の開発プラットフォーム上で、シームレスに⾼速化を実現しています。

Visual Studio公式パートナー

Windows/Linuxの様々な開発ツールに対応

IncrediBuildは、Windows/Linux環境で様々なマルチプロセスの処理を分散可能です。例えばJenkinsなどのCIツール上でも、IncrediBuildを通して高速処理の自動化が可能。また、Qt Creatorをはじめとする開発ツール、CoverityやKlocworkなどコード解析ツールなどともシームレスに連携しています。

特にゲーム業界では、Nintendo Switch、PlayStation、Xbox、Google Stadiaなどゲーム開発SDK専⽤のライセンスや、UnrealEngineやUnityをはじめ様々なゲーム開発環境で利⽤できるライセンスを⽤意しており、ゲーム開発者になくてはならないツールとして愛用されています。

Windows/Linuxの様々な開発ツールに対応

Azure/AWSと連携し、クラウド環境での高速化を実現

どれだけ社内の開発インフラを拡充しても、リリース前や繁忙期には開発タスクが集中し、 ⼀時的なリソース不⾜に陥る、というのは世界共通の課題です。 クラウドソリューション「IncrediBuild Cloud」では、AzureやAWSなどのクラウド上 に「仮想ヘルパー」としてタスクを実⾏するVMを⽴ち上げ、分散処理を⾏います。

現行のオンプレミスの開発環境は継続して利⽤しながら、必要な時に必要な数だけ仮想ヘルパー を活⽤し、開発サイクルの⾼速化を実現することができます。 また、IncrediBuild Cloudの利⽤はAzureやAWSを通した従量課⾦制のため、初期投資の費⽤を抑えながら、スケーラブルに導⼊可能です。

Windows/Linuxの様々な開発ツールに対応

用途例

ソフトウェア開発 横河電機株式会社

1915年創⽴の横河電機株式会社は、国内外100を超える拠点からグローバルにビジネスを展開しています。⼯場やプラントを制御するソフトウェア開発のビルドやパッケージをするインフラにIncrediBuildを導⼊し、⼗数台のマシンをビルドマシンやヘルパーマシンとして活⽤しています。

システムソフトウェア技術部では、「IncrediBuild for Visual Studio」「IncrediBuild for Make&Build」「IncrediBuild for Dev Tool」を利⽤して、数千万⾏にもおよぶソースコードのフルビルドを⾼速化しています。ビルドを開始してからメディアイメージが出来上がるまで10時間以上かかっていたのが、5時間程度で完了できるようになり、以前は夜間に実⾏していたビルドも昼間に実施できるようになりました。

また、IncrediBuildはビルドだけではなく、並列処理を⾏うタスクの⾼速化に最適で、同社では数万ファイル⼀つ⼀つに電⼦署名をつけるタスクが1時間から10分になりました。

「弊社の開発者に対して、楽できる環境、⾃分の業務に集中できる環境を⽤意したいとインフラの視点からは考えていまして、その⼀環としてIncrediBuildをぜひ活⽤していきたいです」と語るシステムソフトウェア技術部課長の藤原⽒。

IncrediBuildは、ただ待ち時間を節約するだけではなく、空いた時間で新しいことにチャレンジしたり、学んだりできるような環境を整えることができ、開発現場の働き⽅改⾰に繋がるソリューションとして注⽬されています。

ゲーム開発 株式会社バンダイナムコスタジオ

バンダイナムコスタジオ社は約10年ほど前からIncrediBuildを導⼊しており、現在は400⼈規模の開発者が、ビルドやコンパイルに要する時間を約1/3にまで短縮しています。

開発現場ではエンジニアのマシン300台に加え、タスクをリモートで実⾏するためのヘルパーファームとして、120台にIncrediBuildを導⼊。64コアのハイスペックなPC10台を含む70台くらいの⼩型PCをサーバラックに置いて、開発者がストレスなくビルドやコンパイルを⾏える環境を構築しています。

「インクレディビルドは24時間稼働しています。⽇中は開発者のビルド、夜間は⾃動ビルドが⾛っており、無いと困るインフラになっています」と語るITサービス企画部の吉⽥卓哉⽒。

「インクレディビルドは24時間稼働しています。⽇中は開発者のビルド、夜間は⾃動ビルドが⾛っており、無いと困るインフラになっています」と語るITサービス企画部の吉⽥卓哉⽒。

ITサービス企画部では、IncrediBuild Enterprise版のダッシュボードを活⽤し、各マシンがどれくらい稼働しているのか、ビルドを⾏っているのかを分析し、開発環境のインフラ構築の意思決定に利⽤しています。

<開発者の声>

「以前はビルドを早くするために⼯夫しながら、コンパイル対象が多くならないように気を付けながらプログラムを書いていたのが、IncrediBuild導⼊後はそういうことは無くなりました。」(般若⽒)

「ビルド時間の節約は、単なる時間の節約に留まらず、ゲームの質であるとか、どう楽しんでいただくか考えるための時間やきっかけをたくさん⽣んでくれます。」(川ノ上⽒)

よくあるご質問

Q. どのような開発環境やプログラミング言語を高速化できますか?

Windows/Linux 環境で、C/C++ および C#を高速化できます。

Q. IncrediBuildを使う際に C++プロジェクトの変更は必要ですか?

いいえ。

IncrediBuildでは Visual Studioでビルド可能なあらゆるC/C++プロジェクトをビルドできます。

Q. コマンドラインやビルドスクリプトから使用できますか?

はい。コンパイルのための豊富なコマンドライン インターフェイスを用意しており、msbuild.exe/devenv.exe の実行スクリプトに簡単に追加できます。BuildConsole.exe は devenv/msbuild のコマンドライン構文をサポートしているので、スクリプト内の実行ファイル名を置き換えるだけです。

Q. IncrediBuildがコンパイルやリンクプロセスを変更することで、ビルドに問題が生じることはありますか?

いいえ。

IncrediBuildはコンパイル、リンクなど全てのビルドステップで同じ実行ファイルを使用します。IncrediBuildはコンパイラではありません。コンパイラをより効率的に使用するためのツールです。

「Predictive Excution (予測実行)」機能により依存するプロジェクトの一部を同時に実行し、処理をさらに最大 10~15% 高速化できます。依存関係に不要なファイルを同時にビルドするため、依存関係が壊れることはありません。

Q. コンパイルを分散された側のマシン速度は低下しますか?

IncrediBuildはインストールされているマシンの使用状況に応じて、動作が自動的に調整されます。デフォルトでは Agentがコンパイルを実行する優先度はシステム内の他のプロセスよりも低く設定されおり、OSがIncrediBuildに割り当てるCPUリソースは、ユーザーやOSのプロセスに割り当てるものよりも少なくなります。

PCが使用されていない場合は、IncrediBuildにリソースを最大限に割り当て、PCが使用中の場合はAgentの活動レベルは低いまま維持されます。通常は自分のマシンにIncrediBuildがインストールされていると感じることさえありません。"

関連記事

もっと見る