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

可能であれば、常に 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 サーバーの要件以上のディスク容量を用意することが重要です。なぜなら、複数のチームと複数の環境から、同じサービスとデータベースのデータを複数バージョン保存するからです。

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 
  • No labels