Forum Discussion

JonHunt's avatar
JonHunt
Level 5
6 years ago

What are the typical Hardware requirements for NSS

What is the hardware requirement to deploy NSS in terms of servers etc.

  • The general advice on server system resources is as follows. NSS system requirements tend to reflect the system requirements of the platforms it is installed on (Windows, IIS, SQL):

    Small 

    • One VM with all components including SQL Server
    • 12GB RAM

    Medium 

    • Web/App VM with 8GB RAM
    • DB VM with 8GB RAM

     Large

    • Scale out Web/App VM’s as necessary with load balancing
    • Increase memory of DB hosting VM as necessary

    VM profile:

    • Web/App – general purpose or compute optimised
    • DB - memory optimised with fast storage

    Networking considerations are:

    • Ensure low latency between DB and Web/App VMs
    •  

    Cloud databases:

    • NSS 8.2 will support both Azure SQL and AWS RDS (for SQL Server)
    • Using one of these cloud database services greatly simplifies the installation of NSS.
    • It allows the Small config (above) to be downgraded to 8GB and obviously removes the need for a dedicated DB VM in the Medium and Large configs.

    Load balancers for NSS tend to be for emergency failover rather than actual load balancing nowadays as the system is relatively lightweight and the number of web requests for most of our customers relatively low.  So this decision may be driven more by how important it is to keep the system online rather than based on the overall load. Additional balanced servers can also be configured in later if you wanted to start with just one.

    Additional Information

    When assessing the load, this would be related to the number of concurrent requests rather than the number of users. However, generally customers are primarily using one web server and one database server to deliver the application.  The exceptions are where the customer has corporate policies that require them to implement the system to provide load balancing or high availability (active-passive web, clustered DB).  As such, the categories can be considered as follows:

    • Small only used for a POC system as its recommended to use separate database and web servers in production.  It is useful to know that the system can be set up on a single server as this allows easy demonstration of NSS in an environment.

      Medium is suitable for most customers and even large customers with HA requirements often begin the first phase of implementation with a single web/single DB server setup.

      Large would be for those larger customers that have specific corporate policies for handling web servers and database servers (e.g. web load balancing, DB clustering, high availability).  NSS can run well with multiple balanced web servers and clustered databases.  Even for these customers, the LB would normally be set up in an active-passive configuration (i.e. load just on one server until failover).

    Its extremely rare for customers to require to balance load in NSS, even those that have tens of thousands of users.  Medium would be our recommendation for customers unless corporate policies meant a need to implement additional policies as mentioned above for Large customers.

    NSS can handle active-active and active-passive configurations for load servers.  Active-passive is easily the most common implementation as customers tend to use LBs for high availability rather than actual load balancing.

    There is no specific advice on actual load balancers but transparency is a requirement, so as long as URLs are passed through the load balancer appropriately, the system should work as expected.

     

2 Replies

    • JonHunt's avatar
      JonHunt
      Level 5

      The general advice on server system resources is as follows. NSS system requirements tend to reflect the system requirements of the platforms it is installed on (Windows, IIS, SQL):

      Small 

      • One VM with all components including SQL Server
      • 12GB RAM

      Medium 

      • Web/App VM with 8GB RAM
      • DB VM with 8GB RAM

       Large

      • Scale out Web/App VM’s as necessary with load balancing
      • Increase memory of DB hosting VM as necessary

      VM profile:

      • Web/App – general purpose or compute optimised
      • DB - memory optimised with fast storage

      Networking considerations are:

      • Ensure low latency between DB and Web/App VMs
      •  

      Cloud databases:

      • NSS 8.2 will support both Azure SQL and AWS RDS (for SQL Server)
      • Using one of these cloud database services greatly simplifies the installation of NSS.
      • It allows the Small config (above) to be downgraded to 8GB and obviously removes the need for a dedicated DB VM in the Medium and Large configs.

      Load balancers for NSS tend to be for emergency failover rather than actual load balancing nowadays as the system is relatively lightweight and the number of web requests for most of our customers relatively low.  So this decision may be driven more by how important it is to keep the system online rather than based on the overall load. Additional balanced servers can also be configured in later if you wanted to start with just one.

      Additional Information

      When assessing the load, this would be related to the number of concurrent requests rather than the number of users. However, generally customers are primarily using one web server and one database server to deliver the application.  The exceptions are where the customer has corporate policies that require them to implement the system to provide load balancing or high availability (active-passive web, clustered DB).  As such, the categories can be considered as follows:

      • Small only used for a POC system as its recommended to use separate database and web servers in production.  It is useful to know that the system can be set up on a single server as this allows easy demonstration of NSS in an environment.

        Medium is suitable for most customers and even large customers with HA requirements often begin the first phase of implementation with a single web/single DB server setup.

        Large would be for those larger customers that have specific corporate policies for handling web servers and database servers (e.g. web load balancing, DB clustering, high availability).  NSS can run well with multiple balanced web servers and clustered databases.  Even for these customers, the LB would normally be set up in an active-passive configuration (i.e. load just on one server until failover).

      Its extremely rare for customers to require to balance load in NSS, even those that have tens of thousands of users.  Medium would be our recommendation for customers unless corporate policies meant a need to implement additional policies as mentioned above for Large customers.

      NSS can handle active-active and active-passive configurations for load servers.  Active-passive is easily the most common implementation as customers tend to use LBs for high availability rather than actual load balancing.

      There is no specific advice on actual load balancers but transparency is a requirement, so as long as URLs are passed through the load balancer appropriately, the system should work as expected.