Network orchestration is a policy-driven approach to network automation that coordinates the hardware and software components required to run a software application or service. An orchestrator functions to arrange and organize the various components involved in turning up a network service.
For example, a cloud orchestrator manages the configuration of storage, compute, and networking resources within the cloud to provision a virtual machine or virtualized network device. The critical point being that orchestrators typically manage a single domain, such as the cloud, access network, core network, or data center. The primary exception to this single domain management scenario is when an orchestrator is used to orchestrate other orchestrators. This orchestrator of orchestrators performs end-to-end, cross-domain orchestration by federating each domain orchestrator involved in a service.
(Image: Gorodenkoff/Shutterstock)
Orchestration is important as we move to the modern network because the devices and services provisioned, at the scale required, have become too complex for manual interaction. Orchestration enables a network engineer to have ease of visibility into this complexity by abstracting it into templates or models. The most common modeling or templating languages used are YANG, TOSCA, Heat Orchestration Templates, and YAML. This human consumable view provides centralized management of activities to ensure network efficiency and quality.
What is automation?
Network automation is a methodology in which software automatically configures, provisions, manages, and tests network devices. This description implies no human interaction unless errors occur that produce fallout requiring corrective action by a network engineer. In many cases, automation can remediate fallout issues by launching child processes that are defined to handle known error cases. It’s important to note that effective network automation is vendor agnostic to an extent that all equipment can be managed fully. Many vendor-centric solutions claim vendor agnostic capabilities but favor their own equipment or a small subset of equipment offered by partners.
There are a number of reasons why network automation is important including:
- Today’s networks are complex puzzles comprised of many different segments including access networks, data center networks, core networks, LANs internal to a physical location, WANs spread across the country and world, virtualized networks, and more. Managing these segments is too heavy a load to maintain with direct human interaction. For small networks, you can scale your workforce to manage the complexity, but this is an expensive solution that has a limited lifespan of viability.
- The network is constantly evolving. The introduction of new technologies further complicates things due to the mixture of old and new components. Migrating from one technology to the other can often take years of manual work by scores of engineers, versus months with automation.
- Companies are constantly looking to cut costs, or, at a minimum, do more with the resources they have. Automation allows for headcount reductions or expansion of what can be done with existing headcount. This is a touchy topic when working on these kinds of efforts, but it is naive not to acknowledge the part this plays in the cost justification.
- Due to the complexity mentioned above, human error impacts the quality of the network. A single mistyped letter or number by an engineer can bring the network to its knees. By automating activities, this risk is mitigated.
Why orchestration is not automation
As previously mentioned, you can have orchestration within a single domain that is human driven and does not automate a process beyond certain specific activities. You can also have cross-domain orchestration with an orchestrator of orchestrators that comes close to meeting the definition of automation but is still operating in a vacuum that typically requires some level of human interaction.
Automation means everything operates with no human interaction. This encompasses integration with the northbound business systems making requests into the automation ecosystem. It also includes integration to the domain-specific orchestrators, controllers, and other tools that touch the network, as well as network events that are integrating with assurance systems that monitor the network. This is where the major divide between orchestration and automation happens.
Orchestration is narrowly focused on a specific domain or set of domains. Orchestrators typically run into crippling deficiencies when services traverse multiple domains. Orchestration is not focused on interfacing with the northbound business systems, and certainly not east/west to other orchestrators and controllers. It is important to understand that orchestration is a vital piece of automation due to its domain ownership, but it is a subset of automation, not a replacement.
The confusion arises because orchestration is one of the most overused words in the networking industry. Solutions are being marketed as end-to-end automation solutions when in reality they are nothing more than a piece to the overall automation puzzle.
Orchestration solutions typically work well with equipment or software that is provided by the same vendor. Most orchestrators provide some level of multi-vendor capability, but if you stray from the preferred vendor ecosystem, the capability becomes severely limited. That’s why it’s common to see vendors attaching hardware sales on top of software sales opportunities. This approach is an attempt to sell customers on migrating to a single vendor network, which is just not realistic for most organizations. However, this is the only way an orchestrator only approach to automation can work.
The key point to remember is that orchestration is an important part of network automation, but it’s just a part. It’s an important distinction to understand, especially with the misrepresentations in the marketplace. Network automation will play a leading role in enabling enterprises to move beyond the fragile practices of the past (like CLI and scripting), while extending capabilities to take advantage of emerging technologies enabled by the modern network like IoT, NFV, and 5G.