A common misconception in DevOps is that when we are discussing automating the entire delivery pipeline and orchestrating all of the automated pieces into a single process we are discussing the same thing. There is actually a significant difference between orchestration and automation, automation deals with single automated functions or tasks, while orchestration involves arranging all of the individual automated tasks into a single process. In order to understand the difference, we need to key on the concept that automation is about codifying individual tasks and orchestration is about codifying entire processes. Orchestration makes use of automation by using it as basic building blocks.
In DevOps, the concept of orchestration normally involves procedures or scripting tools, which are merely a collection of commands used to deploy and connect an application. The orchestration tools on the market take an organizations manual processes and derive these processes into scripts. It is important to remember that though the orchestration tool can fairly easily turn manual processes into scripts, the orchestration tool only focuses on the process and doesn’t check the process outcome.
In DevOps, its necessary to use automation and orchestration together because they can build standardized processes which allow for greatly shortened cycle time in order to get code delivered to the end user. But as was mentioned at the beginning of this section, it’s important to know the difference between automation and orchestration.