By the end of 2020, it was estimated, that there were around 21 billion active connected devices worldwide1. To put this into perspective: the world population right now is around 7.8 billion people. That is around 2.6 devices per person that need an internet connection. We know that not everyone on this planet owns a device, so we can estimate that the devices-per-person number is much higher.
If the networks are growing so rapidly, are they also spiralling out of control? The short answer is no! There are many concepts and technologies out there that can help you wrestle with the challenges of your network. The first and hardest part of it all is choosing the right tool for a specific job. And one of these tools are network orchestrators. But what is network orchestration actually?
Orchestration is …
Simple; orchestration is the “automation of the automation.” Do not be alarmed; it does not require musical theory knowledge. However, let us keep the musical analogy for now. Try to think of an orchestra smoothly playing Beethoven’s Moonlight Sonata. The sheer skill and the right leadership that it takes for so many people to produce such an amazing piece of music is almost unimaginable.
Every musician, every instrument needs to be in perfect harmony. For an outsider, it looks so effortless, does it not? We both know that this is not just something that happens by itself. It takes a lot of training and dedication to be on that kind of level of unity. So why do we expect our networks to simply grow and just work spontaneously? To bring out the best in our networks, we need to treat them like an orchestra.
However, to properly understand the need for orchestrators, we first need to understand the evolution of how and why orchestration came to be.
From Automation to Orchestration
Long before the software-defined network (SDN) days, IT/network engineers were already writing some basic scripts that helped them automate tasks. Automation in the IT/network terminology means automating a specific task or job instead of doing it repeatedly. And as you can imagine, this has got them only so far.
Out of the necessity for automation scripts, tools such as Ansible came to be. Ansible is an agentless tool that helps you automate your IT (network, security, cloud, and infrastructure) tasks in the form of simple scripts called playbooks. Ansible of course is not the only tool. Puppet, Chef, and many others are also popular, but they require running a software agent on every managed device (more on these tools in the future).
All mentioned tools are still within the knowledge realm of an “average” IT engineer since their use does not require any programming language skills. With the birth of SDN, network-centric software libraries and development kits (SDKs) began to rapidly evolve.
Cisco’s Yang Development Kit (or just YDK), ncclient (Python NETCONF client), Napalm (python library that supports several methods to connect to devices), and other (Netmiko, Genie, Requests) are just a few to name. The positive side of software tooling is that it allows you to customize and build your own solutions, but that comes with a price to pay—you need software engineers. Most of the IT/network engineers, without extra training, will not be proficient with these software tools.
And to completely move away from the traditional way of managing networks (established on managing devices), the future of networks is based on a service-oriented way of management. This means that convoluted services are supported by a variety of divergent systems. The core idea of the SDN is to provide an undivided group of APIs that can control services (and devices) via software. The result is simple: lower operational costs and higher performance.
Modern Orchestration Tools
This is all manifested in orchestrators such as Cisco Network Services Orchestrator (Cisco NSO) or Blue Planet Multi-Domain Service Orchestration (Blue Planet MDSO):
- Cisco NSO is a multivendor service-layer SDN controller that supports traditional L2-L7 networking, virtual devices and enables a single API and a single web user interface, which makes managing services easier and faster.
- Blue Planet MDSO software is a vendor-agnostic solution that helps you swiftly build, automate, and deploy network services over virtual and physical networks.
NSO and MDSO can be used for simple solutions, and they do not require much knowledge for simple tasks. But your network will quickly overgrow the simple use cases. Neither NSO nor MDSO were meant to be an out-of-the-box solution. For proficient deployments and complex use cases, you will need at least some training and skills. Therefore, most of the vendors provide courses for their tools.
Finally, when it comes to choosing the right tool for each job, you need to ask yourself this question: when it comes to managing 20k devices, would you trust your Python scripts or proven tools like NSO or MDSO?
Are you struggling with deciding which tool would be the right one for your company or need help starting the process of orchestration? We are happy to support you on your way. Please contact us at [email protected]. For more information, articles and updates follow us on LinkedIn.
1 Gartner, Inc. (2017). Leading the IoT. https://www.gartner.com/imagesrv/books/iot/iotEbook_digital.pdf