このトピックでは、Parasoft Virtualize、Parasoft Data Repository、および Parasoft Continuous Testing Platform (CTP) の運用レベルのデプロイメントに関する推奨事項を説明します。
前提条件
デプロイメントには以下が含まれると仮定します。
- Virtualize サーバー (war ファイルでデプロイされることが望ましい)
- Parasoft Data Repository サーバー
- Parasoft CTP およびサポート対象のデータベース (詳細については「CTP データベースの選択」を参照)
デプロイメントの方法
デプロイメントの方法には、動的インフラストラクチャ (Docker イメージ、Azure VM、またはAWS VM) または物理的な静的インフラストラクチャという、2 つの方法があります。
動的インフラストラクチャは、動的でディスポーザブルなテスト環境を可能にします。つまり、基準となるテンプレートからただちにテスト環境をセットアップし、環境を使用して変更した後、環境を破棄することができます。複数のチームやテスト フェーズでテスト環境やリソースを共有する必要はありません。いつでも必要なときに、まさに必要な環境をただちにセットアップし、使い終わったら破棄します。動的なインフラストラクチャは、高い水準の自動化を可能にする高度な柔軟性を提供します。さらに、規模を拡大する必要がある場合 (たとえばパフォーマンス テストなど) も、必要に応じて実現できます。
物理的な静的インフラストラクチャでは、恒久的な (専用の) サーバーを使用します。この方法は、長期的な規模の拡大が予想され、負荷の高い使用状況を見越してハードウェアが設計されている場合に便利です。この方法は、高い可用性とフォールト トレランスの要求に対応するために選択されます。このような要件があり、ロード バランサーの背後に Parasoft Virtualize サーバーのクラスターを構成する計画である場合、『Virtualize ユーザーズ ガイド』の推奨事項も確認してください。
動的インフラストラクチャ (Docker、Azure、AWS) の推奨事項
動的インフラストラクチャは、Docker イメージ、Microsoft Azure VM、または Amazon Web Services (AWS) VM を使用します。
Docker の場合、以下を推奨します。
- 各イメージには、CTP および Virtualize サーバー (war ファイル デプロイメント) をデプロイした 1 つの Tomcat および Data Repository サーバーを含める。
- 最小マシン スペックは 4 コアおよび 16 GB RAM。ただし推奨は 8 コア、32 GB RAM
- 同一のホスト OS に 2 から 4 を超えるイメージは、リソースが競合するため (特にネットワーク リソース) 推奨しない。同一のホスト OS で 4 を超えるイメージを使用すると、問題が発生した場合に原因の究明が難しくなる。
Azure の場合、以下を推奨します。
- DS2_V2 以上の仮想マシン サイズ
- Azure Virtual Machine for Parasoft Service Virtualization (オンデマンドまたは BYOL)
AWS の場合、以下を推奨します。
- t2.medium 以上の仮想マシン サイズ
物理的な静的インフラストラクチャの推奨事項
次の図は、3 つの Virtualize サーバーと CTP をデプロイする場合の推奨アーキテクチャを表しています。右下隅の "Server n" アイコンは、任意の数の追加サーバー (ユーザーの環境に合わせて) を表すことに注意してください。
Virtualize、Data Repository、CTP サーバー マシンのハードウェアに対する推奨事項は以下のとおりです。
Virtualize
- CPU: 8 コア
- RAM: 32 GB 以上
- 占有ディスク領域: 300 GB 以上
データ リポジトリ
- CPU: 4 コア
- RAM: 32 GB 以上
- 占有ディスク領域: 300 GB 以上
可能な限り Virtualize と Data Repository を分離する
できるだけ Virtualize と Data Repository を分離してください。これは、デプロイメントの「将来の保証」のために重要です。次の場合、この要件は特に重要になります。
Virtualize および Data Repository の間でリソースの競合が発生したとき。不正なデータ リポジトリのために Data Repositoy をホストするマシンがダウンしたとき。Virtualize と Data Repository が分離されている場合、Data Repository のエラーが、Virtualize サーバーを巻き添えにしてダウンすることはありません。
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 が変わります。Parasoft 製品を起動するときに次のフラグを使用すると、クラウド プラットフォームで VM が再起動されたときもマシン ID が変わりません。
-Dparasoft.cloudvm=true