このセクションでは、Parasoft Virtualize、Parasoft Data Repository、および Parasoft Continuous Testing Platform (CTP) を運用レベルでデプロイする上で、Parasoft が推奨する事項について説明します。このセクションの内容:
前提
デプロイメントには以下が含まれると仮定します。
- Virtualize サーバー (war ファイルでデプロイされることが望ましい)
- Parasoft Data Repository サーバー
- Parasoft CTP およびサポートされるデータベース ( 詳細については「Selecting a CTP Database」を参照)
デプロイメントの方法
デプロイメントには 2 種類の方法があります。動的インフラストラクチャ (Docker イメージまたはAzure VM) または物理的な静的インフラストラクチャです。
動的インフラストラクチャは、動的な使い捨てのテスト環境を実現することを目的とします。つまり、テスト環境をテンプレートから直ちに設定して、使用が済んだら単純に破棄することができます。チーム間やテスト フェーズ間でテスト環境やリソースを共有する必要はありません。つまり、必要なテスト環境がいつでもすぐに用意され、不要になったらすぐに破棄されます。動的インフラストラクチャは、高度な自動化のための非常に柔軟な方法を提供します。さらに、( たとえばパフォーマンス テストのために) スケーリングが必要な場合、必要に応じてスケーリングを行うことができます。
物理的な静的インフラストラクチャでは、恒久的な (専用の) サーバーがあります。この方法は、長期間のスケーリングが予想され、多用される前にハードウェアが指定される場合に役立ちます。静的インフラストラクチャは、高い可用性とフォールト トレランスの要件を満たすことを目的とします。このような要件があり、ロード バランサーの背後に Parasoft Virtualize サーバーのクラスターを構成する計画である場合、「ロード バランサーの背後での Virtualize サーバー クラスタのセットアップ」も確認してください。
動的インフラストラクチャの推奨事項
動的インフラストラクチャは、Docker イメージまたは Microsoft Azure VM を使用します。
Dockerでは、以下を推奨します。
- イメージごとに、1 つの Tomcat と CTP、Virtualize サービス (war ファイルのデプロイ)、および Data Repository サーバーが必要です。
- 最小のマシンスペックは 4 コアの 16 GB RAM ですが、推奨するスペックは 8 コアの 32 GB RAM です。
- 同じホスト OS 上で 2-4 以上のイメージを使用することは推奨しません。なぜなら、イメージがリソースを ( 特にネットワーク リソースを) 奪い合うからです。同一ホスト マシンに4 以上のイメージを置くと、問題があった場合に原因を突き止めるのが難しくなります。
Azure の場合、以下を推奨します。
- DS2_V2 以上のサイズの仮想マシン
- Parasoft Service Virtualization 用の Azure 仮想マシン (オンデマンドまたは BYOL)
AWS では、以下を推奨します。
- t2.medium 以上のサイズの仮想マシン
物理的な静的インフラストラクチャの推奨事項
以下の図は、3 個の Virtualize サーバーと CTP のデプロイメントのために推奨するアーキテクチャを示します。なお、右下の "Server n" アイコンは、ユーザー環境に適した、任意の数の追加サーバーを表します。
Virtualize、Data Repository、CTP サーバー マシンのハードウェアに対する推奨事項は以下のとおりです。
Virtualize
- CPU: 8 コア
- RAM: 32 GB 以上
- 必要なディスク容量: 300 GB 以上
Data Repository
- CPU: 4 コア
- RAM: 32 GB 以上
- 必要なディスク容量: 300 GB 以上
CTP
- CPU: 4 コア
- RAM: 8 GB
- 必要なディスク容量: 150 GB
注意事項
- CTP 用のデータベースは複数のチームの成果物をバイナリとしてホストする場合があるため、かなり規模が大きくなります。
- Virtualize サーバーでは、通常、ワークスペースが最もストレージの割り当てを占有します。すべての成果物およびデータ (データのスナップショットを含む) は、ソース管理システムにチェックインされる前に、ここに格納されます。
- Virtualize サーバーでは、最適なパフォーマンスを実現するために、強力な馬力が必要です。
- Virtualize サーバーおよび Data Repository サーバーマシンでは、RAM の量を増やすと、特に Data Repository のメモリ マッピングのパフォーマンスが向上します。
- Data Repository サーバーのストレージ要件を満たすことが重要です。同じサービスの複数バージョンのデータやデータベース データを格納し、複数のチーム、複数の環境から使用できます。
オペレーティング システム
以下の理由により、Parasoft のデプロイメントには、Windows よりも Linux を推奨します。
- 管理タスク (起動、再起動、ログ記録、デバッグなど) が容易。「バックグラウンドで」サービスとしてアプリケーションを実行する場合、Linux では nohup/ init.d/cron を使用できる。Windows には同等に容易なソリューションがありません。
- パーミッションの管理が容易。サービス アカウントを作成し、admin グループだけに起動スクリプト、server.xml などのファイルの参照/変更を許可できます。
- パフォーマンスの面で優れています。Windows の場合、コア OS がパフォーマンスのかなりの部分を消費します。Linux では、マシンは必要最小限の状態にすることができます。そのため、Virtualize が独自の領域で実行できます。
- ssh や scp といったツールがあるため、自動化が簡略化されます。Parasoft は、Linux 上でこれらのタスクを実行するためのスクリプト パッケージを提供しています。
CTP データベースの選択
CTP は、Oracle、HyperSQL、MySQL をサポートしますが、MySQL よりも Oracle と HyperSQL を強く推奨します。一言で言うと、我々の推奨する順序は以下のとおりです。
Oracle >= HyperSQL > MySQL
Oracle および HSQLDB は同等ですが、MySQL ではトラブルシューティングが困難です。CTP データベースをクラスタリングする予定がなく、十分なスペースがある場合は、HyperSQL を推奨します。
クラウドベースの動的インフラストラクチャのデプロイメントを開始する
Microsoft Azure や Amazon AWS などのクラウド サービス プロバイダーの提供するクラウド上に VM をデプロイする場合、VM をシャットダウンし、再起動するたびにマシン ID が変わる可能性があります。Prasoft 製品を起動するとき、次のフラグを使用すると、クラウド プラットフォームで VM を再起動したときもマシン ID が変わらないようにできます。
-Dparasoft.cloudvm=true