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.