Server Components

Software Components

No. Component Details Supported Version
1 Database Microsoft SQL Server 2014, 2016, 2017 Standard or Enterprise
2 Elastic Search Distributed, RESTful search and analytics engine for providing advanced search capabilities across large datasets v6.8.6+
3 Redis Redis is an open-source, in-memory data structure store, used as a database, cache and message broker, for high-performance data caching v4.0.14+
4 RabbitMQ Lightweight, open-source message broker v3.7.14+
5 Docker Containers-as-a-Service platform for IT that manages and secures diverse applications across disparate infrastructure, both on-premises and in the cloud Latest support OS version
6 Caddy Webserver Caddy web server is an open-source, HTTP/2-enabled webserver written in Go 2.0
7 NFS Network File Share is used to share persistent files such as photos, reports, and email templates between the other components Latest support OS version

Latest support OS version will install the latest version of the application that is currently supported by the OS being used.

Virtual Machine and Operating System Components

No. Component Details
1 Virtualization System VMWare ESXi
2 Database Server Operating System Microsoft Windows Server 2012 R2, 2016, 2019, Red Hat Enterprise Linux (RHEL) 7.3 – 7.8, 8.0 and 8.2, Ubuntu 16.04 or 18.04
3 Operating System for All Other Components Ubuntu 18.04 and 20.04 LTS, Red Hat Enterprise Linux 7.6 and 8

Database operating system version must support the version of SQL Server being used

Physical Server Architecture

The physical server architecture will depend on the size of the overall solution and the high availability requirements of the organization.

Server Resources

Small, medium, and large solutions are categorized by the following metrics:

  • Small: < 10,000 ID’s (employees, contractors etc.). Less than 2,000 readers managed in total. This is typically used only for Symmetry Guest deployments.
  • Medium: 10,000 – 40,000 ID’s (employees, contractors etc.). 2,000 – 7,000 readers managed in total.
  • Large: > 40,000 ID’s (employees, contractors etc.). >7,000 readers managed in total.
Component Small Medium Large
CPU 10 Cores 12 Cores (Per Server) 12+ Cores (Per Server)
RAM 64 GB 128 GB (Per Server) 96GB – 144GB (Per Server)
HDD 2 TB 15K SAS Minimum (SSD Preferred) 1.5 TB 15K SAS Minimum (SSD Preferred) 2.3TB - 3TB 15K SAS Minimum (SSD Preferred).
Network Gigabit Ethernet Gigabit Ethernet Gigabit Ethernet
OS Windows Server, or Linux OS with VMWare ESXi installed. The bare-imaged Ubuntu VM’s must be built and available on the physical servers. For more detail please review: https://ubuntu.com/download/server

AMAG recommends a RAID10 configuration which provides both redundancy and high throughput. Other options are also acceptable.

The specifications provided above are per physical server. Please review the description provided above regarding the number of physical servers required for the solution

The specifications provided above are to be used as a rough guide only. Additional scoping meetings are required to specify the exact server requirements

Server Configuration Examples

The server configurations presented below are provided as an example of what the server configuration may look like in a production environment.

Small System

Medium System

Large System

High Availability

CONNECT / GUEST Application

The Large System is architectured to achieve high availability. For this, the following are required:

  1. There needs to be more than one physical server to host CONNECT/Guest. Having a single physical server would result in a single point of failure.
  2. Elasticsearch needs at a minimum of 3 instances to provide a quorum.
  3. RabbitMQ needs at a minimum of 3 instances (Cluster).
  4. Redis needs at a minimum of 2 instances (Master/Slave). 3 instances are recommended to provide a quorum.

SQL Server

SQL Server can be cluster using Microsoft Failover Cluster Instance which uses Windows Server Failover Clustering (WSFC) functionality to provide high availability via redundancy at the server-instance level. This model relies on two servers and some form of shared storage and results in a zero data loss solution. When an issue with one node is encountered, the entire instance including the database, jobs, etc. will move to the other node.

Figure 1: Failover cluster instance

In addition, the CONNECT/Guest database can be hosted on a customer’s existing SQL cluster if available.