Showing results for 
Search instead for 
Did you mean: 

Unlocking Performance in your NSO System, Part II

KJ Rossavik
Cisco Employee

In part I of our Unlocking Performance in your NSO System blog we started discussing scale and performance requirements, including 

  • Size of device configuration 
  • Number of service instances 
  • Frequency of operation 
  • Interactive or batch operation 

Here will we continue that discussion 


Size of device configuration 

What is the size of the running configuration of the devices? This may vary from device to device based on device type and the device role in the network. Often it is useful to create a few categories, e.g. core devices and edge devices, and estimate the configuration size and quantity of each. E.g. CPE devices could have 100s of lines of configuration, and edge devices could have 1000s or 10s of thousands. 

The aggregate configuration sizes will be proportional (but not equal!) to the NSO model instances in CDB, and hence guides the NSO server memory required, since NSO has an in-memory database. 

The CDB size also influences the disk size required, and logs are another significant consumer of disk space. 

Number of service instances 

The other factor that determines storage requirements is the number of service instances the system will be managing. However, unless the number of service instances is vast, the contribution to storage requirements will be insignificant compared with the device configurations. 

Frequency of operation 

What is the frequency of operation – what operations will the system operate, and how often will the system carry out each operation?  One way to estimate the frequency of operation is to take the total number of service instances and estimate how long it will take to reach that number. If you are aiming for e.g. 10,000 service instances in a year, and orders will arrive during a 10-hour working day, 200 days a year, then that means an average provisioning rate of 50 adds per day, or 5 per hour. Consider some factor for peaks and troughs and take account for some proportion of deletes and modifies. 

Interactive or batch operation 

Is the focus on minimising the duration of individual operations,i.e. running interactively, or is it on maximising the throughput when running operations in bulk? What are the expected (or desired) response times for individual operations or for a batch of them? 

Other factors 

Are there any special types of scenarios that will put more load on the system? Any mass operations such as bulk VNF stop-restart, etc.? Any error recovery situations? 

How do the operations translate to device operations? Are there central devices that are hit by every operation, e.g. in a star shaped network? This may constrain the operational throughput. 

Are there other systems or operators that configure the same devices that are configured by the NSO automation? 


Choosing the NSO server size 

The requirements that you identify will help guide the selection of NSO server size. Please note, however, that the demands on the server are also driven by the implementation of the service application (or function pack). The automation use cases that you are implementing may have specific complexities that drive the need for more resources than usual. The initial implementation of your service application may also be less than optimal. 


In part III of this blog we discuss baseline testing your solution, profiling and optimising the solution implementation, and on-going monitoring of the deployed solution.