Cloud installation¶
The following section contains technical articles on the processes used during the manual Frontstage deployment to the cloud. More will be added in the future.
Important
A higher technical English level is presumed for understanding the articles because they are provided only in English.
Requirements and architecture¶
FrontStage contact center is designed as a cloud-native application using Kubernetes. Although deploying and running in Kubernetes (managed by you or providers like Azure) is not the only option, it is the recommended way.
Components¶
FrontStage is not a monolith. The components that are developed and supplied by Atlantis include:
GMDB - general-modeldb
PS - ProServer
PR - ProRelay
SS - ServiceSync
SA - ServiceAsync
SB - ServiceBulk
RC - ReactClient
RA - ReactAdmin
WS - WebSite
SL - ServiceLink
RS - reporting service (Superset)
Other required third-party components:
database (SQL Server or PostgreSQL)
Any of the wide list of supported PBXs.
A running Kubernetes cluster with Ingress Controller
Azure Blob Storage for storing email attachments
A FrontStage instance within a Kubernetes cluster is called a tenant. Each instance lives inside a Kubernetes namespace (e.g. “tenant1”) and requires:
Custom database (usually named as a namespace)
A Kubernetes Ingress resource that (a) routes HTTP traffic to web applications and APIs like RC or RA; (b) adds SSL encryption
Multi-tenant setup¶
Multi-tenant means multiple FrontStage instances on the same Kubernetes cluster. By placing instances in separate namespaces, multi-tenant really just means multiple namespaces. The operation of a single or ten FrontStage does not differ from each other in any component or configuration.
Shared resources among tentants¶
MS SQL Server or PostgreSQL database - Access for administrators at the OS and DB level - HA mode (MS SQL AlwaysOn, PostgreSQL replication)
Kubernetes cluster - Admin access - HA achieved by cluster with multiple nodes and dedicated capacity
Branch exchange - Administrator access - HA achieved by redundant installation
Dedicated resources for tenants¶
MS SQL Server or PostgreSQL database - Administrator access at OS and DB level - isolation achieved by DB roles and name/password
Kubernetes namespace - Tenant access is not controlled - isolation is automatic thanks to Kubernetes namespaces
Branch exchange - Administrator access - HA achieved by redundant installation
Requirements¶
Software requirements are the following:
at least Kubernetes 1.24
at least SQL Server 2015 or PostgreSQL 14
Hardware requirements are difficult to specify because they depend on the number of agents, contact center operation, amount and length of stored information, etc.
You can use the following as an approximate calculation:
Application server requirements
RAM [GB] = 8 + (number_of_agents / 100) * 8
CPU [cores] = 2 + 2 * number_of_agents / 100
For example, for 240 agents you will need approx. 28 GB RAM and approx. 6-core CPU.
Database server requirements
The requirements for the database server are primarily based on the duration of data storage and whether you use emails that are stored in the database.
For every approx. 250 agents, you need 4 CPU cores, 8 GB of RAM and an HDD of approx. 100 GB when considering approx. 6 million calls and storage for 3 months.