On this page:

Both Teamwork Cloud (TWCloud) and Cassandra installations are required. This section contains system requirements for installing TWCloud. The hardware requirements for Cassandra can be found here:

https://cwiki.apache.org/confluence/display/CASSANDRA2/CassandraHardware.

Recommended system requirements

System requirements are dictated by the intended deployment, taking into account the overall load which the environment will experience

  • Number of concurrent users
  • Level of activity (commits) per day
  • Overall number and size of the projects stored in Teamwork Cloud.

From a hardware perspective, the database (Cassandra) can be located on the same server as Teamwork Cloud, or separated into its own server. Storage requirements apply only to the node where the database is located.

Ideally, the node hosting Cassandra should be a physical node, since virtualization will introduce a performance degradation. Nodes running Cassandra should have DAS SSD drives (direct-attached).  Best performance will be obtained using NVMe drives.  Presently, there are hardware limitations on the size of the NVMe drives as well as the number of NVMe drives that can be installed on a single machine.  Therefore, if the expected number and size of projects are significant, SAS SSD backed by a high-speed caching controller may be a more suitable choice.  For ease of maintenance and reduction of risk, we recommend that the volumes reside on RAID-1 or RAID-10.  If RAID is not used, the failure of a drive will result in a downed node, impacting the enterprise.  By opting to deploy on RAID volumes, a drive failure will not affect the application and will allow the replacement of a drive with zero downtime. 

Nodes hosting Teamwork Cloud nodes can be virtualized without any issues, provided the host is not oversubscribed on its resources.

Nodes containing both Teamwork Cloud and Cassandra

  • 96 -128 GB ECC RAM
  • >=16 processor threads (such as E5-1660)
  • >1TB SSD DAS storage

Nodes containing only Cassandra

  • 48 - 64 GB ECC RAM
  • >=8 processor threads (such as E5-1620)
  • >1TB SSD DAS storage

Nodes containing only Teamwork Cloud

  • 48 - 64 GB ECC RAM
  • >=8 processor threads (such as E5-1620)
  • >250GB storage


Multi-Node Clusters

Recommended minimum sizing stated above applies to each node in a multi-node cluster.

SAN Storage

SAN Storage should not be used on Cassandra nodes for data or commitlog volumes. This will result in severe performance degradation. There is absolutely no amount of SAN tuning and OS tuning which will mitigate this.

Minimum server system requirements

  • 8 Processor Cores - i.e. Quad Core Hyper-threaded CPU (such as Intel E3-1230 or faster).
  • 32 GB RAM (Motherboard with an ECC RAM is always preferred on any critical database server).
  • At least 3 separate disks, preferably SSD (NVMe), (OS/Application, Data, and Commit logs). Depending on company backup procedures and infrastructure, an additional disk, equal to the data disk in size, may be required for storing the backup snapshots.
  • Linux (RedHat/CentOS 7), 64 bit or Windows 2012 R2, Windows 2016.

    Operating Systems

    Although Windows is supported, we recommend using Linux. For more information, please visit https://www.datastax.com/dev/blog/cassandra-and-windows-past-present-and-future.

  • Cassandra 3.11-x.
  • Oracle Java/OpenJDK version 8 (update 202 or higher).
  • A FlexNet License Server.
  • Static IP address for each node.
  • Open ports 1101, 2552, 7000, 7001, 7199, 9160, 9142 and 27000-27009 between servers in a cluster, and open ports 3579, 8111, 8443, 8555 and 10002 (default) to clients. Port number 10002 can be changed according to the port assigned to secure connections between the client software and Teamwork Cloud.

    ServicePortDescription
    FlexNet server (lmadmin)1101FLEXnet server port

    8090Default vendor daemon port (web browser management port)

    27000-27009License server manager port



    Cassandra7199Cassandra JMX port

    9160Thrift client API port (used until 2021x version, still required for migrations from 19.0 version)

    9142 DSE client port when SSL is enabled



    TWCloud2552TWCloud default remote server port

    3579Default TWCloud port when SSL is not enabled

    7000Internode communication port (not used if TLS is enabled)

    7001TLS Internode communication port (used if TLS is enabled)

    8111TWCloud REST API port

    10002 Default port when SSL is enabled



    Web Application Platform8443Web Application Platform port (TWCloud Admin, Collaborator…)



    Authserver8555 Authentication server port

Please see the article found at the following link for additional server recommendations for capacity and performance:

http://cassandra.apache.org/doc/latest/operating/hardware.html

Currently, if deploying on Amazon EC2, we recommend m5-2xlarge, r5-2xlarge, or i3-2xlarge instances.  Depending on the workloads, you may want to go to the -4xlarge instances, but for the vast majority of users, the -2xlarge will suffice.  m5 instances will meet the minimum system requirements, which will be acceptable for small deployments.  r5 instances provide more memory for the same CPU density.  i3 instances should be used when workloads have a higher level of user concurrency, due to the significantly improved performance of the ephemeral NVMe storage.