このセクションでは、Parasoft Virtualize、Parasoft Data Repository、および Parasoft Continuous Testing Platform (CTP) を運用レベルでデプロイする上で、Parasoft が推奨する事項について説明します。このセクションの内容:
前提
以下の説明は、デプロイメントに次のものが含まれることを前提としています。
- Virtualize サーバー: war ファイルによってデプロイするのが望ましい
- Parasoft Data Repository サーバー
- Parasoft CTP およびサポートされるデータベース ( 詳細については「CTP データベースの選択」を参照)
デプロイメントの方法
デプロイメントには 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 サーバーの要件以上のディスク容量を用意することが重要です。なぜなら、複数のチームと複数の環境から、同じサービスとデータベースのデータを複数バージョン保存するからです。
OS
Parasoft デプロイメントには、Windows よりも Linux を推奨します。
- 管理タスク (起動、再起動、ログ、デバッグなど) が簡単です。また、アプリケーションをサービスとして「裏で」実行したい場合、Linux であれば nohup/init.d/cron を使用できます。Windows には同等の単純なソリューションはありません。
- パーミッションの管理が簡単です。管理グループだけがファイル (起動スクリプト、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