このセクションでは、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 以上

可能であれば、常に Virtualize と Data Repository を分離すること

できるだけ Virtualize と Data Repository を分離してください。これは、デプロイメントの「将来の保証」のために重要です。次の場合、この要件は特に重要になります。

  • Virtualize と Data Repository が徐々にリソースを奪い合う場合。
  • 不正なデータリポジトリによって、Data Repository をホストするマシンがダウンした場合。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 が変わる可能性があります。Prasoft 製品を起動するとき、次のフラグを使用すると、クラウド プラットフォームで VM を再起動したときもマシン ID が変わらないようにできます。

-Dparasoft.cloudvm=true 
  • No labels