Understanding the Recommended Architecture

Overview

This document outlines the preferred architecture for Kinetic Request CE. We use this architecture for our own internal instances. Kinetic Request CE will run on other hardware and software.

Kinetic Data encourages the use of the latest stable releases for all software supporting our applications. All versions referenced in this document are the latest stable release at the time of this writing.

Hardware

Web Application Server (Minimum 2)

  • CPU Cores - 4+
  • RAM - 8+GB
  • Storage - HDD or SSD - 500GB minimum
  • OS - Ubuntu 16.04 LTS

Cassandra Database Server (Minimum 3)

  • CPU Cores - 4+
  • RAM - 8+GB
  • Storage - Solid State Drive (SSD) - 1TB minimum
  • OS - Ubuntu 16.04 LTS

Software

Database Server

  • Java Server JRE 8 or JDK 8
  • Python 3 (used for cqlsh - a command line CQL tool)
  • Apache Cassandra version 3.11

Web Server

  • Production Grade Relational Database (for Kinetic Task)
    • PostgreSQL 10 (Microsoft SQL Server and Oracle are also supported)
    • This database does not need to be installed on the web server, it just needs to be accessible from the web server.
  • Java Server JRE 8 or JDK 8
  • Apache Tomcat Apache Tomcat 8.5 w/adjusted Java Heap size to 2 GB+
    • Kinetic Request CE
    • Kinetic Bridgehub
    • Kinetic Filehub
    • Kinetic Task

Port Summary

User Ports

  • 80, 8080, 443, 8443 - Ports used to access the system. Typically only ONE will be chosen. 80/8080 are non-secure, 443/8443 are SSL ports.
  • 3389 - Used by Admins to access the web servers via Remote Desktop. Does not
    have to be open to all users, but to a restricted Source IP/Range. (Does RDB require additional ports?)
  • 22 - Used by Admins to access the Cassandra servers. Does not have to be open to all users, but to a restricted Source IP/Range.
  • 1433 - Used by Admins to access the Task database. Does not have to be open to all users, but to a restricted Source IP/Range

Internal to application

  • 1433 - Used by web servers to access Task Database servers
  • 9042, 9160 - Used by web servers to access Cassandra Databases
  • 7000, 7001, 7199 - used for inter-server communication between Cassandra servers.

Integration

Example: 389 - AD Integration used for authentication / and other lookup/updates. (This is a configurable port, and needs to match what the AD system is configured for.)

Preferred Architecture Diagrams

Development

ArchDevIcons
ArchDevIcons

Production

ArchProdIcons