Some of the challenges introduced by automation can be addressed through orchestration. In fact, orchestration can best be conceptualized as the automation of automation.
This can force multiply automation in ways similar to how automation multiplies individual human effort. And there are further benefits as well.
Unfortunately, this concept of “automating automation” can invoke images of matryoshka dolls, or worse, incomprehensible complexity and recursion. It is informative therefore to consider the origin of the term “orchestration.”
Orchestration Origins
Perhaps obviously, this term is borrowed from the world of music. More specifically, it refers to the writing of music for an ensemble of instruments, most typically an orchestra. In this traditional usage, orchestration is the assignment of various parts of a musical work to the different musical instruments that will ultimately play each portion of a given composition.
A simplistic example is the assignment of the melody to the strings section and the baseline to the percussion section. In reality musical orchestration is much more involved. Often a single chord is broken into its constituent notes, with each note assigned to a specific instrument.
Network Orchestration
Bringing this back to the world of computer networking, we can say that automation is the delegation of a single task to a single bot, while orchestration is the outsourcing of an entire process to a team of bots.
Just as a musical orchestrator can take a piece of music written for a soloist and adapt it to be played by a band or a full orchestra, a network orchestrator can take a common process or workflow and break it out into the required string of individual tasks. Each task (or set of tasks) is then assigned to the device or function that must execute it, in concert with other network components.
This coordination and synchronization of multiple devices, systems, services, applications, and automations in order to execute a larger workflow or process is what we mean by orchestration.
Beyond Networking
As we’ve already seen, orchestration, like automation, is not a network specific construct. We can find the human embodiment of orchestration in coaches, gamemasters, and project managers. And within computer science we can find orchestration in various domains and at multiple levels. Service orchestration, container orchestration, application orchestration, cloud orchestration, and security orchestration all function similarly to network orchestration.
What’s more is that these various forms of orchestration can be tied together to meet even larger and more complex objectives. Orchestrating orchestration?
Yes, it’s turtles all the way down.
Beyond Orchestration
This is part 4 of our 12 part series intended to provide an introduction to “Network Automation 3.0” — the next installment covers Feedback.
And a reminder for those who would rather read this material all at once; everything in this series is pulled directly from the FullCtl whitepaper: The NetDevOps Primer.