Minimal Technical Requirements and Architecture
Scalability Guide
This guide is for users who are utilizing virtual machines in their Hubble deployment, whether it is an on-premise or cloud deployment. The purpose of this guide is to provide guidelines for hardware and virtual machine configurations, and to illustrate how many users an organization could accommodate per server, based on the types of users, data, and frequency of change in their environment. The data below is sourced from a combination of application recommendations from our independent software vendors (ISVs), along with customer data from actual deployments. This is not an application scalability guide.
This guide is therefore best used as a starting point for your planning - as with any deployment, your usage will depend on the variables of your own environment.
Servers and Virtual Machines: Recommended Platforms
Hubble Accelerator Server
For prerequisite and installation information for the Hubble Accelerator, please select the appropriate Hubble Accelerator Release Version Documentation from: https://help.insightsoftware.com/s/article/Hubble-Accelerator-Releases
Hubble Application Server Configuration
Table 1: Application Server Guidelines
| VIRTUAL MACHINE SETTINGS | MINIMUM | RECOMMENDED | ADVANCED |
|---|---|---|---|
| Memory | 8 GB | 16 GB | 32 GB |
| vCPUs | 4 cores | 8 cores | 16 cores |
| Disk Space 1 |
OS - 20 GB Application - 50 GB Data 2 - 100 GB |
OS - 20 GB Application - 50 GB Data 2 - 150 GB |
OS - 20 GB Application - 50 GB Data 2 - 300 GB+ |
| Virtualization Technology | Optional (customer supplied; VMWare, HyperV, etc) | ||
| Operating System 3 | 64-bit Linux distribution that supports the required version of Docker (customer supplied), Version 4.0 or higher of the Linux kernel, or RHEL or CentOS using version 3.10.0-514 of the kernel or higher. | ||
Software Dependencies Needed 4 |
|
||
1 Each of the mentioned storage needs will require their own separate drive/partition (i.e. you will not be able to combine the OS and Application parts in a single 70 GB partition).
2 The Data drive will need to be formatted with the ext4 filesystem and be auto-mounted to the /mnt/ data/ folder. We also HIGHLY RECOMMEND configuring an NFS mount upon /mnt/data/backups to prevent losing data in an event of a disaster with App Server. For more details, please see “Prerequisites” in Hubble Application Server Installation section of this guide.
3 We recommend using one of the following Linux distributions, as we use them ourselves (however, Hubble Customer Services does not provide support for installing or maintaining operating systems):
- Ubuntu: Versions 16.04.4 LTS to 22.04.2 LTS
- CentOS: Version 8
- RHEL: Versions 7.5 to 9.2
4 For instructions on installing Docker Compose see https://docs.docker.com/compose/install/. For installing Docker see:
- Ubuntu - Docker CE installation documentation can be found at https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/.
- CentOS - Docker CE installation documentation can be found https://docs.docker.com/engine/installation/linux/docker-ce/centos/. See below for a troubleshooting tip.
- RHEL - RedHat supports the version of Docker provided in their repository. See https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html-single/getting_started_with_containers/#getting_docker_in_rhel_7.
- For non-RedHat customers, it is not requirement of Hubble that you purchase the commercial Enterprise Edition of Docker (although you may want the support that comes with it). Like the operating system, Hubble classifies Docker as a prerequisite that you must arrange support for yourself.
Troubleshooting Docker CE Installation on CentOS
If you see the following error during Docker CE installation on CentOS:
Error: docker-ce-selinux conflicts with 2:container-selinux-2.12- 2.gite7096ce.el7.noarch
To resolve this, you should uninstall docker-engine-selinux:
sudo yum erase docker-engine-selinux
Then install the newer container-selinux package (version 2.42 was appropriate at time of writing but you may need to update this):
sudo yum install http://mirror.centos.org/centos/7/extras/x86_64/Packages/ container-selinux-2.42-1.gitad8f0f7.el7.noarch.rpm
And then try using yum to install docker-ce again.
Installing Docker on Systems with RHEL 8 Servers
Steps to install docker on systems with RHEL 8 servers:
- sudo dnf config-manager --add-repo=https://download.docker.com/linux/ centos/docker-ce.repo
- sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
- sudo dnf install docker-ce
- sudo systemctl enable --now docker
- curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-com
- sudo mv docker-compose /usr/local/bin && sudo chmod +x /usr/local/bin/ docker-compose
- sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Hubble Web Server
A load balancer is included in the Application Server, which can distribute user requests across multiple web servers. Depending on usage profile, we recommend a maximum loading of about 50 users per web server.
Table 2: Web Server (IIS) Guidelines
ASPECT |
MINIMUM |
RECOMMENDED |
ADVANCED |
|---|---|---|---|
Instances |
1 |
1-2 |
3+ |
Memory |
16 GB |
16 GB |
32 GB |
vCPUs |
4 cores |
8 cores |
16 cores |
| Disk Space | 100 GB free on C: drive1 | ||
| Virtualization Technology | Optional (customer supplied; VMWare, HyperV, etc) | ||
| OS | Windows Server 2016, 2019, and 2022 with Internet Information Services (IIS) (customer supplied) | ||
1 The Hubble software will only install on the C: drive, not another drive.
Networking Requirements
- Internet access during deployment, installation and configuration on all nodes.
- See the Network Diagram.
Storage Requirements (Accelerator)
- Specific storage requirements will vary depending upon source ERP data, desired replication and analytics functions.
- For guidance, the compression ratio between source ERP and Vector is 4:3.
- Future disk expansion will require assistance from the Hubble Infrastructure Team.
Clock Synchronization
Hubble's servers communicate with each other and require that their clocks are sufficiently synchronized. If there is more than 5 minutes difference between their clocks, a timeout error will be logged and users will not be able to login.
Please ensure that each machine used for Hubble is maintained with the correct time by using the corresponding VMWare option or operating system settings/services.
Performance Testing
Below is a list of important things to remember during your own testing:
Define “acceptable” user experience: Defining user experience (UX) requires careful examination of user and application interaction. This can be obvious, like the rendering time for a workspace to appear. It can also be less obvious, like the ability to smoothly scroll down a page or the “snappy” reaction for a menu to appear after a right click. Ask users to report metrics, and to judge specific activities or functions using finite scales (e.g. 1-5, 5 being best), to avoid feedback that is too generic.
Compare real world workloads: In virtual environments, time-slicing of resources allows users to get the same level of performance even when sharing resources. This is due to user “think time” which includes any time the user is not actually interacting with the application, or when not using the application or even sitting at their workstation. Add up all the time away from the application (meetings, lunch, out of office, etc.) and one could expect to get even more benefits from shared resources. These benefits equate to more resources for the user’s session and typically a more responsive application, thus a better perceived experience by the end user, as opposed to peak workload benchmarks with inhuman-like uninterrupted work.
Test with real users: It is important to actually look at the application running be sure that the experience is enjoyable for users. That being said, it’s also important to maintain perspective, especially if you are not a regular user of the applications. While a data center administrator deploying Hubble in a virtual environment might view a testing desktop and think the experience is slow or sluggish, while a user who works with it daily might find it normal. The feedback from an actual end user using the application in a virtual desktop is the ultimate test of success. Add in the point above about real world workloads and you see why real users are the most accurate means of testing.
Network Diagram
Note: External Access
We require external (Internet) access, during deployment only:
- In the Hubble Application Server, we need internet access for downloading containers from Docker Hub. You can test this by running the “docker run hello-world” command from a shell with root privileges.
- In the Hubble Web Server, we need internet access for downloading updates from Microsoft.
This access can be provided through a proxy if your organization requires one for internet connectivity.
The following diagram illustrates the network architecture of an On-premise deployment:
Port Explanations
The ports that are used to access the Hubble Application Server:
- TCP 22: SSH
- TCP 80: HAProxy
- TCP 443: HAProxy (if using HTTPS)
- TCP 591: HAProxy
- TCP 592: HAProxy (if using HTTPS)
- TCP 3000: Configuration UI
- TCP 5000: Repository Backup Service
- TCP 5432: PostgreSQL
- TCP 5433: Repository Backup Service
- TCP 5580: Wkhtmltopdf (PDF generation)
- TCP 5672: RabbitMQ
- TCP 6379: Redis
- TCP 15672: RabbitMQ Admin
The ports that are used to access the Hubble Accelerator:
- TCP 22: SSH
- TCP 3552: Qlik Replicate Admin
- TCP 27832: Actian Vector:
- TCP 27839: Actian Vector
The ports that are used to access the Hubble Web Server:
- TCP 80: IIS
- TCP 3389: RDP
The source ERP database server needs to allow incoming connections from the accelerator to the ports which that RDBMS uses for client connections.
Hubble Tools
As part of Hubble installation, some third party tools are installed. Below is a list of the services Hubble uses, with the corresponding vendors:
| HUBBLE SERVICE | THIRD-PARTY TOOL |
|---|---|
| Hubble Queues | RabbitMQ |
| Hubble Cache | Redis |
| Hubble Load Balancer | HAProxy |
| Hubble Repository | PostgreSQL |
| Hubble Storage | Scality S3 Server |
| Hubble Web PDF Service |
Chromium v88.0.4292.0 |
Configuration
Default Configurations
- Administrator password: password
Hubble Configuration Page
There are a number of configuration details that are required when deploying Hubble.
These are entered into the configuration web page, and should be known before deployment.
|
|
|
|
|
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Network | Hubble Application Server IP Address | The IP address for the Hubble Application Server. | Yes | |||||||||||
Network |
Hubble Web Server IP Address(es) / Hostname(s) |
List of Web Server IP's and/or hostnames (Example: "192.168.0.101,webserver1.mycompany. lan") |
Yes |
|||||||||||
Network |
Hubble Web Server IP Address / Hostname(s) |
The IP address or hostname for the Hubble Accelerator. |
No |
|||||||||||
Hubble |
Web URL |
DNS name for users to access Hubble web application (Example: hubble.mycompany.lan). This must be mapped to the IP address of the Hubble Application server, not the Web server, because that is where the load balancer is. If the domain name hasn't been determined yet, enter the IP address of the Application server. |
Yes |
|||||||||||
Hubble |
Web Protocol |
The protocol to be used for Hubble. If you choose HTTPS, you will need to generate and install a certificate that matches the Web URL provided. See HTTPS setup instructions for more detail. |
HTTP |
Yes |
||||||||||
Hubble |
SMTP Host |
Mail server host. This will be used to send email notifications from Hubble. |
Yes |
|||||||||||
Hubble |
SMTP Port |
Mail server port. Normally 25 or 587. |
25 |
Yes |
SECTION |
FIELD |
DESCRIPTION |
DEFAULT |
MANDATORY |
|---|---|---|---|---|
| Hubble | SMTP SSL Enabled | Indicates if SSL is enabled on the mail server. | true | Yes |
Hubble |
SMTP Username |
Mail server username. |
No |
|
Hubble |
SMTP Password |
Mail server password. |
No |
|
Hubble |
Email From |
Emails will be sent by Hubble using this email address. |
Yes |
|
Hubble |
Email BCC |
Send a copy of all emails sent by Hubble via BCC to the specified address. |
No |
|
Hubble |
Company Logo URL |
This is the logo URL to be used on PDF prints and on the Hub. This URL needs to be accessible from the Hubble Environment machines. |
No |
|
Hubble |
PDF Disclosure Text |
This is the text that appears at the bottom of all PDF prints, for example "Disclosures: Private and Confidential.". Backslashes (\), forward slashes (/) and double quotes (") are not allowed |
No |
|
Advanced |
Backup Schedule |
When to perform backups of the repository, where users' documents are stored. Note: The time specified here must match the one defined in the Hubble Application Server (e.g. timezone, DST) |
Everyday at 00:00 |
Yes |