開発速度を最大30倍もスピードアップ

Visual Studio 2015 上に IncrediBuild を直接インストール

開発をもっと高速化しませんか? Microsoft のツール上でIncrediBuild が実行されていることをご確認ください。

IncrediBuild は2002年からMicrosoft での開発を高速化してきました。IncrediBuild はMIcrosfot のプロダクトとのシームレスな統合を維持し、情報を共有するためMicrosoft 開発チームと連携しています。またMicrosoft でもゲームやプログラムを高速化するためにIncrediBuild が利用されています。

このことで、Visual Studio、C++、Native Android C++、C#、MSBuild、MSTest、VSTest、TFS、Xbox やその他のゲーミング プラットフォームやAzure、Visual Studio Team Services などMicrosoft での開発においてシームレスなサポートと機能の向上が可能になっています。

IncrediBuild の動作は? IncrediBuild はローカル ネットワークやクラウド全体に存在するアイドル状態のコアに処理を並列分散することで高速化を実現します。例えば、4コアのローカルマシンで実行する処理をネットワーク内の400のコアで実行することで全体の実行時間を飛躍的に高速化します。

IncrediBuild はプロセスやアプリケーションを高速化するため「プロセスの仮想化」という独自技術を使っています。これはローカルマシンで実際に動作しているかのように、リモートマシン上のプロセスを仮想化する技術です。

Visual Studio での開発

IncrediBuild はVisual Studio とダイレクトに統合されています。コード編集やビルドスクリプトの実行はVisual Studio の外部からではなく、その内部から行われ。Visual Studio のビルドメニューからではなく、IncrediBuild メニューから直接行われます。

IncrediBuild とMicrosoft は緊密に連携しているので、Visual Studio では最新リリース版だけでなく、以前のバージョンとの統合も継続的に改善を行うことができ、パフォーマンスを最適化しています。

VS_pic1

VS_pic2

またIncrediBuild は、Visual Studio のビルドプロセスに新しい価値を追加します。IncrediBuild for Visual Studio の使用によって、開発者やビルドマネージャーは従来の盲目的なビルドの実行をやめて、可視化できる確実なビルドやテストの実行に移行することで、エラー検出が容易になり、プロジェクト毎にアウトプットをソートして参照したり、実行タスク間を簡単に移動できるようになります。

IncrediBuild はSimSihpパートナーとしてVisual Studio の最新リリースや改変への早期の互換が保証されています。Visual Studio の新バージョンを素早く現場に導入することで、Visual Studio とIncrediBuild 双方のメリットがもっと活かされます。


IncrediBuild なし IncrediBuild あり 結果
Qt 4.8 12時間6分 1分45秒 691%の高速化

IncrediBuild はVisual Studio のプレミア パートナーです。Visual Studio パートナー プログラムはメンバーに早期プレビュー、サポート、大規模なマーケティング、テクニカル リソースへのダイレクトなアクセスなどのサービスを提供しています。

MSBuild

Microsoft のオープンソースのビルドツールであるMSBuild はVisual Studio、Team Foundation Server (TFS)、Visual Studio Team Services で利用されているビルド技術です。Visual Studio での開発にはMSBuild が必要ですが、他の開発環境 (Visual Studio がインストールされていない開発環境であっても) でもコマンドラインからMSBuild を利用することが可能です。

IncrediBuild を利用すると、Visual Studio を利用していないユーザーでもMSBuild を利用して、ビルドを高速化し、ビルドの詳細を確認することができます。

MSBuild を利用している開発者はもちろん、IDE 内で利用していない (例えば、ソリューションを構築のためにコマンドラインからのMSBuild のコマンド実行するなど) 開発者でも、IncrediBuildを利用することができます。Visual Studio の外部でMSBuild を稼働中の場合も、MSBuild のコマンドをIncrediBuild でラップするだけで、高速化メリットの他に、可視化機能やビルドレポートを利用することができます。

通常MSBuild をそのまま利用している場合、ユーザーフレンドリーで読みやすいアウトプットは期待できません。MSBuild をIncrediBuild とともに利用すると、長くて退屈なテキスト出力に代わって、読みやすいビルドアウトプットやビルドのグラフィカルな可視化が実現し、ビルドを容易に分析できるようになります。

IncrediBuild はビルドプラットフォームとしてMSBuild を使う全てのビルドを高速化し、MSBuild をもっと快適にします。

C++

C++ ベースのソリューションのビルドは時間がかかることで有名です。IncrediBuild はC++のコンパイル時間を大幅に高速化してC++ の開発をもっと快適にします。

IncrediBuild はC++ プロジェクトをプロセスの可視化による分散ビルドと予測実行の2つの方法で高速化します。C++ のコンパイル処理はローカル ネットワークやクラウドマシン全体のアイドルコアに分散され並列に処理されます。

加えて、IncrediBuild の独自技術である予測実行機能によってC++ ビルドのスループット (並列化) をさらに最適化します。これによってビルド作業の一部として実行されたタスクと、同時に実行されている並列処理が可能なタスクとの依存関係を決定します。

予測実行機能を使うことで、IncrediBuild が並列に実行できるタスク数は増えます。IncrediBuild はより多くのコアを扱うことができるようになり、C++ ビルドはもっと速くなります。しかもこれはネットワーク上の分散ビルドだけのメリットではありません。C++ ビルドでのスループットを改善するので、効率よくローカルコアが使用できるようになりローカルマシン自体の高速化にも役立ちます。また簡単にボトルネックやエラーを検出できるIncrediBuild の可視化機能と結合することで、ビルドパフォーマンスがさらに最適化されます。

さらに、複数の設定やプラットフォームでビルドを行っているケースでは、IncrediBuild によって並列にバッチビルドを実行できます。バッチビルドの利用にはもっと多くのタスクがありますが、このようなケースではIncrediBuild の持つ複数コアを使用できる性能がさらに重要なものになります。コアを最大限に活用して、IncrediBuild が複数のコアを並列使用することが可能になります。

C#

大規模で複雑なC# コードのビルドには時間がかかります。IncrediBuild for C# はVisual Studio のプロジェクトとシームレスに統合されています。複数のプロジェクトに携わる開発者、特に疎結合な依存関係がある場合、これは大きく役立ちます。たとえC#のビルドに数分しかかかっていない場合でも、IncrediBuild for C# は生産性に大きな違いをもたらします。

IncrediBuild を利用することで、上記のC++ ビルドと同様にC# 開発者は可視化機能、ボトルネックの検出能力やバッチビルドの実行といったメリットを得ることができます。

ユニットテストとコード解析の高速化

IncrediBuild for Dev Tools は多くの開発ツール (Microsoft によって開発されたものも) を高速化します。高速化ツールの中にはMSTest、VSTest、FXCop のようなユニットテストやコード解析があります。

ユニットテストは多くの場合、疎結合でタスク間には最小限の依存関係しかありません。IncrediBuild を使用することでテストを拡張して事実上無制限のコアへとタスクを分散することができます。これは並列化のテストには特に効果的です。多くのテストは疎結合なため、テスト回数が増えるほどパフォーマンスは向上します。同時に事実上無制限でリニアなスケーラビリティをもたらします。

例えばNCR のリテール部門であるRetalix はIncrediBuild でMSTest を高速化しています。およそ15,000件にも及ぶユニットテスト プロセスをそれぞれのサイクルで実行させるには、プラットフォームの拡張が必要でした。一方、各ビルドの実行中に開発者はテストの修正が確定されるまで待機する必要があり、これが重大な遅延をもたらしていました。IncrediBuild を導入する以前は、15,000件のユニットテストをMSTest で実行するのに12分かかっていましたが、IncrediBuild 導入後には1分20秒に短縮されました。10倍も高速化されました。

またIncrediBuild は、静的コード解析 (Microsoft独自の静的コード解析ツールを含む) も同様に高速化します。FxCop はMicrosoft が提供する無料の静的コード解析ツールで、.NET マネージ・コードのアセンブリが.NET Framework の設計ガイドラインに準拠しているかをチェックします。またFxCop はGUI やコマンドラインの各バージョンをインクルードしています。IncrediBuild for Dev Tools を使わずにFxCop を何千行ものコード上で実行するのは時間の無駄です。

Team Foundation Server (TFS)

IncrediBuild はTeam Foudation Sever (TFS) とシームレスにネイティブに統合され、高速化を実現します。

MicrosoftのTeam Foundation Server (TFS) はソフトウェア構築プロセスの合理化や自動化に役立ちますが、大規模なプロジェクトでは必要なフィードバックを得るのに時間がかかりすぎることがあります。

TFS のビルドプロセス自動化機能とIncrediBuild 独自のプロセス仮想化機能を組み合わせることで、TFS ビルドマシンがネットワーク上のマシンの全コアを利用できるようになり、ビルドプロセスがスピードアップします。

ビルド エージェントの処理に幾つものコアを使用することで、TFS のワークフローをはるかに高速に実行することができます。IncrediBuild は単独でビルドや開発ツールを高速化しますが、同様にTFS のワークフロー内でこれを高速化します。コンパイル時間、ユニットテスト、コード解析、リジェクションテスト、ビルド、テスト、パッケージングやその他時間のかかるプロセスが大幅に高速化されます。

IncrediBuild を使用しない場合、全てのTFS のワークフローは基本的にはローカルで稼働しているTFS エージェントで実行するように割り当てられています。このプロセス時間は割り当てられた特定のTFS エージェントの処理能力によって左右されるので、全てのプロセスの実行を速くすることはできません。IncrediBuild をビルドのワークフロー内に統合すると、ローカル ネットワーク内で透過的に追加のコアやメモリを利用することができ、TFS エージェントの処理能力を飛躍的に高めることができます。

VS_pic1

IncrediBuild は2つのTFS アクティビティを持っています。1つはコンパイル処理の高速化、もう1つはユニットテストのような他の処理の高速化です。ビルド・プロセス・テンプレートをカスタマイズして、IncrediBuild アクティビティを追加してプロセス・テンプレートの変更を登録したら、処理を実行する準備は完了です。

TFS と一緒にIncrediBuild を実行する方法は2つあります。TFS の既存のアクティビティとIncrediBuild をコマンドでラッピングするシンプルな方法の他に、ネイティブでIncrediBuild TFS アクティビティを利用することもできます。

エラー検出などのIncrediBuild の可視化機能はTFS ビルドを実行するビルドマネージャーにとっては特筆すべきものです。ビルドマネージャーには、何を実行しているのか、問題はどこにあるのか、何を改善することができるのか、ビルドごとの変更点、そしてビルド履歴を把握することが求められます。IncrediBuild の可視化機能とビルド履歴で、ビルドのパフォーマンスや精度の追跡と確認を行うことができます。

IncrediBuild を利用してTFS ビルドサイクルを実行すると、各プロセスが高速化され、継続的インテグレーションプロセス全体の時間が大きく短縮されるので、一日あたりに実行できるサイクル数が大きく増えます。

Microsoft Azure と連携してクラウドを高速化

Microsoft Azureクラウドのパワーを利用することで、開発が無限に拡張します。

ピークタイムやリリース直前でも、マシンのコアに制限されたり高価なハードウェアを購入する必要はありません。

IncrediBuild for Azure はハイブリッドクラウドやピュアクラウド環境での ビルド>テスト>デプロイ のプロセス全体をスピードアップするのに役立ちます。

IncrediBuild を使用していない場合、クラウド内で割り当てられた単一の仮想マシンで処理能力制限されますが、IncrediBuild for Azure を使うと、一瞬で8コアが200コアへ、ビルドサーバの仮想マシンを仮想のスーパーコンピュータへと変えることができます。IncrediBuild は事実上無制限の能力を利用できます。ピーク時や製品のリリース時など状況や必要に応じてリソースを追加できるよう拡張しましょう。

VS_pic4

作業をクラウド内のみで行っている開発者はIncrediBuild のアクセラレーション性能のメリットを十分受けることができます。もしピュアクラウド (クラウド内で全ての開発、テスト、その他の作業) を実行しているなら今までにない高速化を体験できるはずです。IncrediBuild はAzure 仮想マシンをスーパーコンピュータに変え、全てのAzure 仮想マシンのコアを使用可能にします。

Azure を利用することで、IncrediBuild をWindows またはLinux 上で実行することができます。IncrediBuild for Azure はまもなくAzure マーケットプレイスでの取り扱いが始まります。

azAzure_PureCloud
azAzure_HybridCloudcloud

Visual Studio Team Services

IncrediBuild は、Visual Studio Team Services (以前のVisual Studio Online) でのご利用いただけます。Visual Studio Team Services が提供するコラボレーション ツール セットはご利用のTFS と同様に既存のIDE やエディターで使用でき、またクラウドにも対応しています。チームでのあらゆる規模や形態のソフトウェア プロジェクトを効率的に実行することができます。

VS_pic4

IncrediBuild はクラウド リソースを利用して、計算集約型の開発プロセスを単一の仮想マシン上ではなく、クラウド内のマシンで並列に実行します。これによってビルド時間、テストまたその他の開発プロセス時間は80%も短縮します。

Visual Studio Team Services のユーザーは、TFS ワークフローの高速化、ビルドやテストのスピードアップのためのクラウドリソースや仮想マシンの割当て、またVisual Studio Team Services 開発環境の一部の他の全てのプロセスをスピードアップするために、IncrediBuild を利用することができます。またビルドサイクル全体をさらに高速化するために、IncrediBuild Team Service をAzure に接続してスケーラビリティを広げ、Azure リソースを利用できるよう、あらゆるプロセスへと拡張することができます。



IncrediBuild は開発効率を飛躍的に向上させるソリューションです。
お問い合わせ