Showing results for 
Search instead for 
Did you mean: 

Unlocking Performance in your NSO System, Part I

KJ Rossavik
Cisco Employee

Whether you are a new customer to the NSO product, or an established customer with hundreds of thousands of devices managed by NSO one of the key considerations is how do I get NSO to scale as I need it to in my environment in order to maximize my ROI from automation? 

Of course, as you would expect from Cisco, NSO is built to allow you to embrace it in your organization no matter if your scale is 100 devices or 100,000+, or if you are provisioning one service per day or a thousand. Let’s walk through a few scenarios that we run into, operational changes you implement to scale your equipment further, as well as hardware options to get to scale.  

This blog post is not meant as a how-to, but rather as a map over the terrain with pointers to areas of interest. 

So, let’s begin. 


I am ready to take the NSO automation journey but need to know how I should size the infrastructure that NSO will run on. 

Welcome! As a new user to NSO we recommend deploying on a single server as you scale your deployment up. This has several advantages for new customers: 

  • A single server simplifies the deployment process 
  • A single server limits the complexity of troubleshooting if you run into challenges while deploying 
  • We see that several customers have been able to scale up to tens of thousands of devices in single server deployments 

We find that these advantages can help lower the complexity and therefore the total cost of ownership (TCO) of the product in early stages and help drive your business toward return on investment (ROI) more quickly.  


How big should the NSO server be? 

To state the obvious: The NSO server needs to be big enough for what you are planning to do with it. But that does not mean you need to have all the resources now for what you are planning to do in three or five years from now. Most automation projects grow incrementally. You start off small, and get some early successes, and then you automate more and more use cases, and bring more and more devices, virtual network functions, controllers, and EMS/NMS systems under management. 

One approach could be to start with server resources to last you to the end of the first year, and then plan to re-evaluate periodically, e.g. every six months, and add more resources as the requirements grow. Now, that virtual server hosting has become commonplace, adding resources is simple. 

But the starting point must be to define what you are planning to do with it - what operations will be automated for which devices? 


Defining scale and performance requirements 

We are often asked: “What size of server do I need for a network of X devices?”. But there are many other parameters that define the scale and performance required. These include: 

  • Size of the device configuration 
  • Number of service instances 
  • Frequency of operation 

In Part II of this blog post series we dive into more details about scale and performance requirements. We then discuss baseline testing and profiling before diving into architectures that may make your solution more performant.