本主题概述了 Parasoft 对与 Parasoft 数据资源库和 Parasoft 持续测试平台(CTP)一起生产部署的 Parasoft Virtualize 建议。

假设

本文件假设部署包括:

  • Virtualize 服务器 - 最好通过 war 文件部署
  • Parasoft 数据存储库服务器
  • Parasoft CTP 和一个支持数据库(有关更多详情,请参阅 Selecting a CTP Database

部署方法

有两种部署方法:动态基础设施(Docker 映像、Azure VM 或 AWS VM)或物理静态基础设施。

动态基础设施 是为支持动态的、可使用的测试环境而设计的。这意味着一个测试环境可以立即从一个金色的模板中提供,使用并弄脏,然后简单地销毁。不需要跨团队或测试阶段共享测试环境或资源;需要的确切环境会在你需要它的时候立即启动,然后在使用完它之后立即销毁。动态基础设施为极端自动化提供了高级的灵活性。此外,当需要扩展时(例如,性能测试),你可以根据需要进行扩展。

对于 物理静态基础设施,你拥有永久(专用)服务器。当预期有长期的可伸缩性,并且提前指定硬件供大量使用时,这是非常有用的。这种方法是为高可用性和容错需求而设计的。如果你有这样的需求,并且计划在负载平衡器之后配置一个 Parasoft Virtualize 服务器集群,请参阅 Virtualize 用户指南中的建议。

动态基础设施(Docker、Azure、AWS)推荐

动态基础设施使用 Docker 映像、Microsoft Azure Vms 或 Amazon Web Services (AWS) VMs。
对于 Docker,我们推荐:

  • 每个映像应该包含一个带有 CTP 的T omcat、Virtualize 服务器(war 文件部署)和一个数据存储库服务器。
  • 最小尺寸的机器规格是 4 核和16 GB 运行内存,但建议是 8 核,32 GB 运行内存。
  • 我们不推荐在同一主机操作系统上使用超过 2-4 个映像,因为它们会争夺资源(尤其是网络资源)。同一主机操作系统上有超过 4 个映像,因此很难诊断遇到的任何问题。

对于 Azure,我们推荐:

  • 虚拟机大小为 DS2_V2 或更大。
  • 用于 Parasoft 服务虚拟化(按需或 BYOL)的 Azure 虚拟机。

对于 AWS,我们推荐:

  • 虚拟机大小为 t2.medium 或更大。

物理静态基础设施建议

下图显示了使用 3 台 Virtualize 服务器和 CTP 进行部署的推荐体系结构;请注意右下角的“Server n”图标表示任意数量的其他服务器(根据你的环境)。


我们为 Virtualize、数据存储库和 CTP 服务器机器推荐以下硬件。

Virtualize

  • CPU:8 核
  • 运行内存:32 GB 或更大
  • 专用的磁盘空间:300 GB 或更大

 

数据资源库

  • CPU:4 核
  • 运行内存:32 GB 或更大
  • 专用的磁盘空间:300 GB 或更大

 

如果可能的话,始终将 Virtualize 存储库和数据存储库分开

如果可能,将 Virtualize 存储库和数据存储库分开。这对于部署的“未来验证”非常重要。这一点变得尤为重要:
当 Virtualize 和数据存储库最终争夺资源时。如果错误的数据存储库导致承载数据存储库的计算机宕机。如果 Virtualize 和数据存储库是分开的,那么这个数据存储库故障不会导致 Virtualize 服务器宕机。

CTP

  • CPU:4 核
  • 运行内存:8 GB
  • 专用的磁盘空间:150 GB

注意

  • 由于 CTP 的数据库最终将以二进制文件的形式承载多个团队的工件,因此它将变得非常大。
  • 在 Virtualize 服务器上,工作区通常占最大的存储分配。在签入到源代码控制之前,所有工件和数据(包括数据快照)都存储在这里。
  • 使用 Virtualize 服务器,强大的马力对于实现最佳性能至关重要。
  • 使用 Virtualize 服务器和数据存储库服务器机器,增加运行内存的数量应该会提高性能,特别是使用数据存储库内存映射。
  • 满足或超过数据存储库服务器的存储需求是至关重要的。你将存储来自多个团队、跨多个环境的相同服务和数据库数据的多个版本。

操作系统

我们推荐使用 Linux 而不是 Windows 来部署 Parasoft,因为:

  • 管理任务(例如启动、重启、日志记录和调试)更容易。此外,如果你希望将应用程序作为服务“在幕后”运行,可以使用 nohup/ init.d/cron(如果你有 Linux)。Windows 并没有提供同样简单的解决方案。
  • 权限更容易管理。可以创建一个服务帐户,这样只有管理员组才能查看/修改文件,比如启动脚本、server.xml 等。
  • 性能更好。对于 Windows,核心操作系统消耗了相当多的性能。有了 Linux,机器就可以被成了精简版,允许 Virtualize 在它自己的空间中运行。
  • 得益于 ssh 和 scp 等工具,自动化工作得到了简化。Parasoft 为 Linux 上的这些任务提供了一个脚本包。

选择一个 CTP 数据库

CTP 支持 Oracle、HyperSQL 和 MySQL,但我们强烈推荐 Oracle 或 HyperSQL 胜过 MySQL;简而言之,我们的建议是

Oracle >= HyperSQL > MySQL

Oracle 和 HSQLDB 的性能一样好,但是 MySQL 很难进行故障排除。如果不打算集群 CTP 数据库,并且有足够的空间,我们建议使用 HyperSQL。

启动基于云的动态基础设施部署

当通过云服务提供商(如 Microsoft Azure 和 Amazon AWS)在云中部署 VM 时,随着 VM 关闭和重新启动,机器码可能会发生变化。启动Parasoft产品时使用以下标志,以确保在云平台上重启 VM 时机器码保持稳定:

-Dparasoft.cloudvm=true 

  • No labels