Test environment reference architecture
Test environment
Purpose
- Internal validation, bug fixing, development testing.
User Types
- Developers - Access for feature development, debugging
- QA/Test Engineers - Perform functional, regression, and integration testing
- Automated Testing Tools - Automated scripts or pipelines
Access Method
- Typically via direct login/password accounts (local/test accounts)
- No OpenID or external authentication (to maintain security and isolation)
Data
- Synthetic or anonymized datasets
- No real user information
Typical Activities
- Feature testing and debugging
- Functional verification
Test Environment requirements
The test environment should mirror the development setup as closely as possible and must meet the following technical and functional requirements:
- Minimal Restrictions - Configure with as few restrictions as possible to allow smooth debugging, integration, and testing.
- AI Configuration - Requires an active (paid) API key to access AI services such as OpenAI or other platforms.
- Database Requirements - Installation of Microsoft SQL Server is required:
- Version: Standard or Enterprise
- Full Text Search must be enabled to support advanced query functionality
- Security (SSL/TLS) - The environment must support SSL:
- Browsers impose restrictions on HTTP, leading to reduced performance compared to HTTPS.
- Supported certificate types:
- Standard SSL certificate
- Wildcard certificate
- Self-signed certificate (acceptable for internal testing)
- Indicium Service Account - A dedicated service account is required for running Indicium. This account must have:
- Write permissions on the Indicium directory
- Access rights to both the IAM database and the application database
- Secure management in line with the organization's IAM policies
Cloud
Architecture and connections
Cloud test environment reference architecture
Connections:
- Internet → Azure SQL (VNet 1)
Traffic from the Internet or external Azure services reaches Azure SQL Database directly, typically via secured endpoints. - Application Server (VNet 2) → Azure SQL Database (VNet 1)
The application hosted in VNet 2 (e.g., an App Service plan) communicates internally with the Azure SQL database hosted in VNet 1.
Summary of commonly used ports:
Service | Typical Port Numbers |
---|---|
Azure SQL Database | TCP 1433 (secured via TLS) |
HTTPS (external access) | TCP 443 |
Sizing (hardware cloud)
Recommended specifications (cloud):
Component | Azure | AWS | |
---|---|---|---|
SQL | AzureDB | AWS RDS db.m5.xlarge (4 vCPU, 16 GB) | SQL server 4 vCPU, 16 GB |
Indicium & Universal | AppService Premium v3 P1V3 (2vCPU, 8 GB) | Elastic Beanstalk t3.large (2 vCPU, 8GB) | Cloud Run (Memory: 1 GB) Storage Bucket Class data: Default Class Standard |
Cloud environment setup
For more information about setting up a cloud environment, see:
On Premise
Architecture and connections
On-premise test environment reference architecture
Connections:
- Internet → External Firewall
Traffic from the Internet first passes through an external firewall, controlling inbound access. - External Firewall → Reverse Proxy (DMZ)
Allowed web traffic reaches a reverse proxy server placed in the DMZ (Demilitarized Zone). - Reverse Proxy (DMZ) → Internal Firewall
Reverse proxy forwards legitimate requests through an internal firewall towards the internal networks. - Internal Firewall → App Server (Network 2)
Internal firewall allows specific traffic to reach application servers within the secured network. - Client Network → App Server
Internal clients (devices like phone, laptop, tablet, desktop) directly connect to the App server within the secured internal network. - App Server → SQL Server (Network 1)
Application servers establish secure database connections to the SQL Server.
Summary of commonly used ports:
Service | Typical Port Numbers |
---|---|
HTTP | TCP 80 |
HTTPS | TCP 443 |
SQL Server | TCP 1433 |
Sizing (hardware on premise)
Recommended hardware specifications (IIS Server):
Component | Configuration |
---|---|
CPU | 4 vCPUs |
Memory | 16 GB RAM |
Storage | 100–200 GB |
OS | Windows Server 2019/2022 |
Recommended hardware specifications (SQL Server):
Component | Configuration |
---|---|
CPU | 4 vCPUs |
Memory | 16 GB RAM |
Storage | Windows/SQL installation: 200 GB SQL Data: 200 GB SQL Log: 100 GB Best practice is to separate the installation, data and log locations. |
OS | Windows Server 2019/2022 |
SQL | SQL Server 2019/2022 Standard or Enterprise |
On-premise environment setup
For more information about setting up an on-premise environment, see: