Home > Workload Solutions > Data Analytics > White Papers > Application Modernization for High-Volume Workloads with DataStax > Infrastructure overview
Dell Technologies and Intel engineers deployed two DataStax Enterprise configurations that mirrored a typical, yet smaller-scale, Apache Cassandra deployment. The first configuration used Red Hat OpenShift, while the second configuration used VMware Tanzu. Both of these configurations are the foundation of modern Kubernetes container environments.
The Red Hat OpenShift deployment consisted of five Dell EMC PowerEdge R640 servers running Red Hat OpenShift Container Platform 4.6.6. Because of the smaller test environment, there were no separate control-plane nodes. All control-plane and management containers ran on the same servers as Apache Cassandra, which allowed better resource utilization. Larger production clusters that contain additional management and monitoring components would use dedicated control-plane nodes with monitoring and logging tools.
Red Hat OpenShift was installed on Red Hat Enterprise Linux CoreOS (RHCOS), a lightweight container-based Linux operating system, with OpenShift software-defined networking (SDN). The engineers followed the Red Hat OpenShift installation procedures as described in the Red Hat OpenShift documentation.
Two additional components were used with the Red Hat OpenShift configuration:
# kubectl –context ocp get nodes
NAME STATUS ROLES AGE VERSION
ocp1 Ready loadbalancer,master,worker 62d v1.19.0+43983cd
ocp2 Ready loadbalancer,master,worker 62d v1.19.0+43983cd
ocp3 Ready loadbalancer,master,worker 62d v1.19.0+43983cd
ocp4 Ready loadbalancer,worker 62d v1.19.0+43983cd
ocp5 Ready loadbalancer,worker 62d v1.19.0+43983cd
Apache Cassandra is responsible for data redundancy and replication, so there is no need for a storage solution that provides these functions. This capability helps reduce costs and complexity, and it can also scale with the number of Apache Cassandra nodes. Enterprises can use standard Linux Logical Volume Manager (LVM) commands to create smaller logical volumes for each physical server, or they can combine multiple storage devices into a large volume. For this test, each server contained a single volume on each storage device.
Each server was running multiple Apache Cassandra instances to allow better resource utilization and data redundancy. Each server was assigned to a separate logical Apache Cassandra rack, which helps ensure that multiple copies of the same data never reside on the same physical server. With a replication factor of 3 (RF=3), the deployment contained 15 pods running Apache Cassandra database instances. Each pod was assigned 16 logical CPUs and 48 GB of RAM. The pod configuration can be viewed using the following command:
# kubectl –context ocp get pods
NAME READY STATUS RESTARTS AGE
cass-operator-6b76b647ff-6sb7h 1/1 Running 0 9d
cluster1-dc1-racka-sts-0 2/2 Running 0 2d20h
cluster1-dc1-racka-sts-1 2/2 Running 0 2d20h
cluster1-dc1-racka-sts-2 2/2 Running 0 2d20h
cluster1-dc1-rackb-sts-0 2/2 Running 0 2d20h
cluster1-dc1-rackb-sts-1 2/2 Running 0 2d20h
cluster1-dc1-rackb-sts-2 2/2 Running 0 2d20h
cluster1-dc1-rackc-sts-0 2/2 Running 0 2d20h
cluster1-dc1-rackc-sts-1 2/2 Running 0 2d20h
cluster1-dc1-rackc-sts-2 2/2 Running 0 2d20h
cluster1-dc1-rackd-sts-0 2/2 Running 0 2d19h
cluster1-dc1-rackd-sts-1 2/2 Running 0 2d19h
cluster1-dc1-rackd-sts-2 2/2 Running 0 2d20h
cluster1-dc1-racke-sts-0 2/2 Running 0 2d19h
cluster1-dc1-racke-sts-1 2/2 Running 0 2d19h
cluster1-dc1-racke-sts-2 2/2 Running 0 2d19h
The storage configuration for each of the five servers varied among the write-intensive, read-intensive, balanced read/write, and high-performance scenarios. The Red Hat OpenShift write-intensive scenario used the Dell EMC PowerEdge R640 server configuration, as shown in the following table:
Component | Description |
CPU | Two Intel Xeon Gold 6248 processors running at 2.5 GHz |
Memory | Twelve 32 GB RDIMM DDR4 memory modules running at 2,666 MHz, for a total of 384 GB |
Storage controller | Dell EMC HBA330 12 Gbps) Serial-Attached SCSI (SAS) host-bus adapter (HBA) controller in a non-RAID configuration |
Boot device | 480 GB Dell EMC Boot-Optimized Server Storage (BOSS)-S1 boot device |
Storage | Eight 1.92 TB Intel Solid State Drive (SSD) D3-S4510 2.5-inch Serial ATA (SATA) drives; for write-intensive workloads, Intel recommends the higher endurance Intel SSD D3-S4610. |
Embedded network interface controller (NIC) 1 | Dual-port 10 GbE Intel Ethernet Converged Network Adapter X710 SFP+ |
Embedded NIC 2 | Dual-port 1 GbE Intel Ethernet Server Adapter i350 |
Additional NIC | Dual-port 100 GbE Intel Ethernet Network Adapter E810-CQDA2 PCIe |
The Red Hat OpenShift read-intensive and balanced read/write scenarios used the Dell EMC PowerEdge R640 server configuration, as shown in the following table:
Component | Description |
CPU | Two Intel Xeon Gold 6248 processors running at 2.5 GHz |
Memory | Twelve 32 GB RDIMM DDR4 memory modules running at 2,666 MHz, for a total of 384 GB |
Storage controller | Dell HBA330 12 Gbps SAS HBA controller in a non-RAID configuration |
Boot device | 480 GB Dell BOSS-S1 boot device |
Storage | Four 1.6 TB Intel SSD DC P4610 2.5-inch NVM Express (NVMe) SSDs |
Embedded NIC 1 | Dual-port 10 GbE Intel Ethernet Converged Network Adapter X710 SFP+ |
Embedded NIC 2 | Dual-port 1 GbE Intel Ethernet Server Adapter i350 |
Additional NIC | Dual-port 100 GbE Intel Ethernet Network Adapter E810-CQDA2 PCIe |
The Red Hat OpenShift high-performance scenario used the Dell EMC PowerEdge R640 server configuration, as shown in the following table:
Component | Description |
CPU | Two Intel Xeon Platinum 8280L processors running at 2.7 GHz |
Memory | Twelve 32 GB RDIMM DDR4 memory modules running at 2,666 MHz, for a total of 384 GB |
Persistent memory | Twelve 512 GB Intel Optane PMem modules, for a total of 6 TB, configured for Block (BLK) mode. |
Storage controller | Dell HBA330 12 Gbps SAS HBA controller in a non-RAID configuration |
Boot device | 480 GB Dell BOSS-S1 boot device |
Embedded NIC 1 | Dual-port 10 GbE Intel Ethernet Converged Network Adapter X710 SFP+ |
Embedded NIC 2 | Dual-port 1 GbE Intel Ethernet Server Adapter i350 |
Additional NIC | Dual-port 100 GbE Intel Ethernet Network Adapter E810-CQDA2 PCIe |
The VMware Tanzu configuration consisted of five Dell EMC PowerEdge R640 servers running VMware vSphere 7.0 Update 1 with Tanzu. The VMware vCenter Server VM that is used to manage the VMware vSphere cluster was deployed on an additional, separate Dell EMC PowerEdge R640 server. While it is possible to run VMware vCenter on the same VMware vSphere cluster that it manages, VMware recommends running the VMware vCenter VM on a separate management cluster. The engineers followed the installation procedures provided in VMware documentation.
The VMware vSphere cluster was configured with the following:
When VMware vSphere was fully configured, the engineers installed and configured VMware Tanzu with the following settings:
When VMware Tanzu is deployed, the node configuration can be viewed using the following command:
# kubectl --context tkg get nodes NAME STATUS ROLES AGE VERSION tkg-control-plane-967f5 Ready master 10d v1.18.5+vmware.1 tkg-control-plane-n2x96 Ready master 10d v1.18.5+vmware.1 tkg-control-plane-pvsnl Ready master 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-4l6s5 Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-5kz5w Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-5p4wk Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-6z67r Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-9dhxl Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-fbntb Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-fc5dx Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-g2tmg Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-gqj2n Ready <none> 10d v1.18.5+vmware.1 tkg-workers-zqq6s-847b88dd66-qcwrq Ready <none> 10d v1.18.5+vmware.1
With 10 virtual Kubernetes workers running on five physical server nodes, the engineers created nine Apache Cassandra node instances and grouped them into three logical racks using a replication factor of 3 (RF-3). Each Apache Cassandra pod was running on a separate worker node, with each pod assigned 16 logical CPUs and 64 GB of RAM. The physical servers had Intel Hyper-Threading Technology (Intel HT Technology) enabled, so the 32 CPUs assigned to each worker node were logical cores, not physical cores. Unfortunately, there is some discrepancy in how VMware vSphere and VMware Tanzu count CPU cores with Intel HT Technology enabled, so organizations must consider this discrepancy when planning their own deployments. For more information about this discrepancy, see “vSphere 7 with Kubernetes” in Performance Best Practices for VMware vSphere 7.0.
The pod configuration can be viewed using the following command:
# kubectl --context tkg get pods
NAME READY STATUS RESTARTS AGE
cass-operator-557f6689df-527mq 1/1 Running 0 9d
cluster2-dc1-rack1-sts-0 2/2 Running 0 2d20h
cluster2-dc1-rack1-sts-1 2/2 Running 0 2d20h
cluster2-dc1-rack1-sts-2 2/2 Running 0 2d20h
cluster2-dc1-rack2-sts-0 2/2 Running 0 2d20h
cluster2-dc1-rack2-sts-1 2/2 Running 0 2d20h
cluster2-dc1-rack2-sts-2 2/2 Running 0 2d20h
cluster2-dc1-rack3-sts-0 2/2 Running 0 2d20h
cluster2-dc1-rack3-sts-1 2/2 Running 0 2d20h
cluster2-dc1-rack3-sts-2 2/2 Running 0 2d20h
The storage configuration for each of the five servers varied among the write-intensive, read-intensive, balanced read/write, and high-performance scenarios. The VMware Tanzu write-intensive scenario used the Dell EMC PowerEdge R640 server configuration, as shown in the following table:
Component | Description |
CPU | Two Intel Xeon Gold 6248 processors running at 2.5 GHz |
Memory | Twelve 32 GB RDIMM DDR4 memory modules running at 2,666 MHz, for a total of 384 GB |
Storage controller | Dell HBA330 12 Gbps SAS HBA controller in a non-RAID configuration |
Boot device | 480 GB Dell BOSS-S1 boot device |
SSD storage | Eight 1.92 TB Intel SSD D3-S4510 2.5-inch SATA drives. For write-intensive workloads, Intel recommends the higher endurance Intel SSD D3-S4610. |
NVMe SSD storage | Two Intel Optane SSD DC P4800X NVMe drives |
Embedded NIC 1 | Dual-port 10 GbE Intel Ethernet Converged Network Adapter X710 SFP+ |
Embedded NIC 2 | Dual-port 1 GbE Intel Ethernet Server Adapter i350 |
Additional NIC | Dual-port 100 GbE Intel Ethernet Network Adapter E810-CQDA2 PCIe |
The VMware Tanzu read-intensive and balanced read/write scenarios used the Dell EMC PowerEdge R640 server configuration, as shown in the following table:
Because VMware Tanzu does not support Intel Optane PMem, the high-performance scenario was not run on VMware Tanzu.