Production Environments
Production environments need to be designed and scaled with customer specific requirements.
This provides a small, medium, and large sizing guide for each type of server. This can help as a starting point when designing your platform. For a medium or large platform you will have multiple servers for the agent and repository tiers.
Scaling
Agent Servers
Small – 4 CPU cores, 16GB RAM, 100GB local disk
Medium – 8 CPU cores, 32GB RAM, 100GB local disk
Large – 16 CPU cores, 64GB RAM, 100GB local disk
Repository Servers
Small – 8 CPU cores, 16GB RAM, 200GB SSD local disk
Medium – 16 CPU cores, 32GB RAM, 400GB SSD local disk
Large – 32 CPU cores, 64GB RAM, 800GB SSD local disk
Proxy servers do not need the same amount of memory and local disk since they store no data. For this 16GB RAM will be sufficient and the CPU loading will increase with transactional concurrency.
Web Servers
Small – 4 CPU cores, 16GB RAM, 100GB local disk
Medium – 8 CPU cores, 32GB RAM, 100GB local disk
Large – 16 CPU cores, 32GB RAM, 100GB local disk
Generally, for a production platform you should consider the following in your design:
Separate agent servers and web servers should be used.
The number of agent servers required will depend on:
The number of source repositories
Their respective size
Pipeline complexity
Content Ingestion rate
In most scenarios only a single web server will be required. If you use two then you will need to load balance the user requests using a standard load balancer.
Load balancing should be ‘sticky’ – i.e. send the same users requests to the same web server
If OCR is heavily used, then this should be split onto its own agent server.
Separate proxy nodes in the repository tier.
Multiple elastic servers and limit the maximum amount of memory per-node to 64GB.
See our scaling guide for further information on the number of nodes required at each layer of the platform.