本主题概述了 Parasoft 对与 Parasoft 数据资源库和 Parasoft 持续测试平台(CTP)一起生产部署的 Parasoft Virtualize 建议。
假设
本文件假设部署包括:
- Virtualize 服务器 - 最好通过 war 文件部署
- Parasoft 数据资源库服务器
- Parasoft CTP 和一个支持数据库(详情请参阅选择一个 CTP 数据库)
部署方法
有两种部署方法:动态基础设施(Docker 镜像、Azure VM 或 AWS VM)或物理静态基础设施。
动态基础设施是为支持动态的、可使用的测试环境而设计的。这意味着一个测试环境可以立即从一个金色的模板中提供,使用并弄脏,然后简单地销毁。不需要跨团队或测试阶段共享测试环境或资源;需要的确切环境会在您需要它的时候立即启动,然后在使用完它之后立即销毁。动态基础设施为极端自动化提供了高级的灵活性。此外,当需要扩展时(例如,性能测试),您可以根据需要进行扩展。
对于物理静态基础设施,您拥有永久(专用)服务器。这在预计长期扩展和提前指定大量使用的硬件时非常有用。这种方法是为高可用性和容错需求而设计的。如果您有这样的需求,并且计划在负载均衡器之后配置一个 Parasoft Virtualize 服务器集群,请参阅 Virtualize 用户指南中的建议。
动态基础设施(Docker、Azure、AWS)推荐
动态基础设施使用 Docker 镜像、Microsoft Azure VM 或 Amazon Web Services (AWS) VM。
对于 Docker,我们推荐:
- 每个镜像应该包含一个带有 CTP 的 Tomcat、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 支持以下数据库:
- HyperSQL(嵌入式)
- MariaDB
- MySQL
- Oracle
建议使用 Oracle、MariaDB 或 HyperSQL。Oracle、MariaDB 和 HyperSQL 性能表现都不错,但 MariaDB 的备份和还原工作流程似乎比嵌入式 HyperSQL 更佳。不过,如果您不打算对 CTP 数据库进行集群处理,并且有足够的空间,HyperSQL 仍是一个不错的选择。
启动基于云的动态基础设施部署
当通过云服务提供商(如 Microsoft Azure 和 Amazon AWS)在云中部署 VM 时,随着 VM 关闭和重新启动,机器码可能会发生变化。启动 Parasoft 产品时使用以下标志,以确保在云平台上重启 VM 时机器码保持稳定:
-Dparasoft.cloudvm=true