About
Zephyr Data Center is a Zephyr Enterprise solution with horizontal scalability support for high availability, scalability, and performance. It involves deploying Zephyr Enterprise on multiple nodes, which are stateless engines where all the business logic resides, along with an external database and a shared folder as shown below:
The deployment components include the following:
Load Balancer - balances the load across the cluster nodes.
Elasticsearch – a search engine deployed on the server node as a micro service or as a separate process in the virtual private network.
Shared database – a shared database used by the nodes. Zephyr supports MySQL, MS SQL Server, and Oracle Database.
Shared directory – a shared folder where attachments are stored. In a cluster environment, this folder must be shared with write permissions. Network-attached storage (NAS) and similar devices are supported.
It is recommended to have this clustered deployment behind a firewall.
Recommended Configurations
The deployment components may vary depending on the number of concurrent users who will work with Zephyr Data Center. There are three recommended configurations:
Configuration 1: Up to 100 concurrent users
Component | Number of Nodes | vCPU | System Memory | Application Memory | Storage |
---|---|---|---|---|---|
Application | 1 (single node) |
4 | 16 GB | 8 GB | 350 GB* |
Elasticsearch | |||||
Database |
* Depending on the database size.
Configuration 2: 100 - 500 concurrent users
Component | Number of Nodes | vCPU | System Memory | Application Memory | Storage |
---|---|---|---|---|---|
Application | 2 | 4 | 16 GB | 16 GB | 350 GB |
Elasticsearch | 1 | 4 | 16 GB | 8 GB | 350 GB |
Database | 1 | 8 | 16 GB | 16 GB | 350 GB* |
Load Balancer | A load balancer to distribute load among the application nodes | ||||
Shared | Shared among the application nodes to store attachment files for Requirements, Test Cases and Executions |
* Depending on the database size.
Configuration 3: Over 500 concurrent users
Component | Number of Nodes | vCPU | System Memory | Application Memory | Storage |
---|---|---|---|---|---|
Application | 4 | 4 | 16 GB | 16 GB | 350 GB |
Elasticsearch | 3 | 4 | 16 GB | 8 GB | 350 GB |
Database | 1 | 16 | 32 GB | 16 GB | 350 GB* |
Load Balancer | A load balancer to distribute load among the application nodes | ||||
Shared | Shared among the application nodes to store attachment files for Requirements, Test Cases and Executions |
* Depending on the database size.
System Memory is the total memory allocated to the virtual machine.
Application Memory is the memory allocated to the respective applications running on the machine.
Requirements
The same Java version must be installed on all the nodes.
The same time zone must be set on all the nodes and the current time must be synchronized (use the Network Time Protocol daemon (ntpd) or a similar service).
Installation procedure
To install Zephyr Enterprise on cluster nodes, you need to perform the following:
1. Install a database
You can install one of the following database management systems on any computer where Zephyr is not installed:
MySQL (make sure the ITCC and Dversion databases are not installed)
You must have a connector JAR file for your MySQL, Microsoft SQL Server or Oracle database.
2. Install Elasticsearch
Install Elasticsearch 6.8.1 (a search engine) on a separate node where Zephyr is not installed and configure it for your cluster environment.
3. Install Zephyr Enterprise on your nodes
When installing Zephyr on your nodes, keep in mind the following:
Install Zephyr on any drive other than drive C: to avoid permission issues, as administrator permissions may be required to work with this drive.
Use the same Zephyr version and build on all the nodes.
Zephyr installed on all the nodes must have the same license.
Installation steps:
Install Zephyr Enterprise on nodes. The installation steps on the first node differ from the steps you perform on the other nodes.
1. To install Zephyr Enterprise on the first node:
2. After you install Zephyr, stop the node.
3. Install Zephyr Enterprise on another node. The way you do this depends on your operating system:
4. Once the installation is complete, stop the node.
You can use any number of nodes. If you want to add more nodes, repeat steps 3-4.
Write down the IP of each node – you will need them at step 7.
5. After you install Zephyr Enterprise on all the nodes, you need to modify the following files on each node:
6. On all the nodes, open the folder zephyr/tomcat/webapps/flex/WEB-INF/template, copy the file cluster.properties.tmpl, paste it to the folder zephyr/tomcat/webapps/flex/WEB-INF/classes and change the file name to cluster.properties.
7. Make the following changes in the cluster.properties file:
Remove the following lines:
#unique identifier for the cluster node cluster.aws.enable=false HAZELCAST_PASSWORD=huser HAZELCAST_USERNAME=hpass
Update the following information:
cluster.key=node1 (this should be a unique name of the node) cluster.node.1.key=node1 cluster.node.1.url=172.17.18.141 (the IP address of node 1) cluster.node.count=4 cluster.node.2.key=node2 cluster.node.2.url= 172.17.18.157(the IP address of node 2) cluster.node.3.key=node3 cluster.node.3.url=172.17.18.223 (the IP address of node 3) cluster.node.4.key=node4 cluster.node.4.url=172.17.18.201 (the IP address of node 4)
The cluster.key
name must be unique in each file.
8. Start the first node where you installed Zephyr by using the hostname or the IP address of the machine. Zephyr will start on it. After Zephyr is launched, the HAZELCAST_USERNAME and HAZELCAST_PASSWORD values will be generated in the zephyr/tomcat/webapps/flex/WEB-INF/classes/cluster.properties file.
9. Copy the HAZELCAST_USERNAME and HAZELCAST_PASSWORD values and paste them to the zephyr/tomcat/webapps/flex/WEB-INF/classes/cluster.properties file on the other nodes.
4. Set up a shared directory
Now you can use your nodes.