Through our work on automated service delivery, our customer’s investment in automation is tempered by network provisioning times that are often too slow and prone to error. They’re looking for ways to improve deployment and management of networking services due to changes in expectations regarding the speed and flexibility of IT services. Often network service configuration relies heavily on manual configurations based on “runbooks” and Operational Support Systems (OSS) containing static and hard-coded content. The processes can become stale and outdated due to incremental process changes and variations not being included in them over time, resulting in processes that do not properly reflect the final service. Additionally, mixed-vendor environments are common and each service deployment, modification and upgrade increases overall complexity and overheads associated with maintaining automated services. This leads to other common problems with traditional network automation:
- Inability to integrate new services into existing provisioning workflows
- Incomplete workflows focused on provisioning without update or rollback procedures
- A lack of visibility, or knowledge, of configuration states
- Impracticality of granular control at scale
These problems increase the risk that during maintenance or deployment incomplete or failed changes can leave network services in an unknown state of partial change. This potentially leads to outages and complicated troubleshooting to either resolve or rollback the changes. Broken configurations result in higher costs and slower service activations, which leads to customer dissatisfaction with the network communication service itself.
In order to differentiate themselves, network providers have a need to reduce the failure rate and deployment times of existing services while also rapidly creating and delivering new service offerings for their consumers. Network abstractions such as Software-defined Networking (SDN) and Network Functions Virtualisation (NFV) become essential to build a platform that can facilitate these goals, but management of these platforms becomes difficult when trying to manage more complicated network services at increasing scale.
Cisco Systems’ Network Services Orchestrator (NSO) is a tool that can help automate and orchestrate provisioning, configuration and updating of network services, both physical and virtual and across multiple vendors. NSO provides an abstraction layer between service models and their component device configurations; enabling administrators to define vendor agnostic services and topologies which NSO translates into vendor specific device configurations. This enables networks that are more scalable by allowing new devices to be added or reconfigured with minimal effort and greater consistency. This configuration consistency between the network devices and NSO’s central configuration database in turn improves the process of network planning and troubleshooting by circumventing configuration errors and maintaining consistent configuration state.
Leveraging the model based approach, NSO automatically creates the appropriate update and rollback methods for each network service without the need to design those specific processes, allowing the service designer to focus on creating new services and letting the tool handle the detail of update or rollback for a specific service.
NSO also enables a transactional method of applying changes to services, where the complete set of required changes are applied as a single transaction. Transactional processing ensures that the components of a service are always in a consistent state, removing risks around partial reconfigurations during failed changes. This transaction can be leveraged as a single object and can be rolled back as a whole if errors are encountered or to a desired previous state.
NSO aids visibility through centralised management by providing a “true” view of the network by maintaining a real-time embedded configuration database of all devices, services and service to device configuration mappings. This ensures that there is always a single point of reference for the dynamically changing network services configuration and topology, ensuring a known network state before changes are applied.
Diaxion consultants have been working with Cisco on several NSO projects for service providers in Australia, New Zealand and Singapore, relating to automation of service provisioning of network services built on virtualised network functions. A major goal of these projects has been to facilitate rapid, self-service deployment of network services to customers. Our involvement has seen us mapping network service provisioning processes, assisting in deployment of platforms supporting the NSO and NFV environments and testing of NSO service code developed by Cisco and third party partners, ensuring that the automated provisioning behaves as required. Automation of these tests has been essential, to ensure consistency of tests across code versions and to significantly reduce the time taken to perform tests on new code releases, especially when regression testing.