It's important to understand the difference between two terms often associated with DevOps and cloud.
Are you managing or orchestrating? We are at a point at which this question has become pertinent and, unfortunately, confusing to organizations everywhere. That’s because pundits not only conflate, often unintentionally, the terms orchestration and management. This liberal interpretation of terminology associated with cloud, with DevOps, with software-defined data center and even SDN is problematic because management is not the same as orchestration, and vice versa.
Knowing brevity is required these days, the TL;DR on these concepts is simply this: Orchestration is about automating processes, and management is automating all that tedious busywork that keeps the infrastructure secure, up to date, and available.
For example, nightly backups -- or commits, if you’re that far along in adopting continuous deployment principles for infrastructure -- is a management task that might be automated using a variety of technologies, including command line scripts or external network management systems. Automating the provisioning of the infrastructure services needed to support an app moving into production – in the right order – is orchestration.
For instance, even though you might use OpenStack to enable provisioning of services across network, compute, and maybe even security as part of a continuous deployment process, you wouldn’t necessarily use OpenStack to patch or upgrade one of those services, perform nightly backups or otherwise manage its configuration state. That’s a completely different domain. Management does – and should – focuses on the health of the system. How’s the RAID doing? Are all the ports operational? Why is that link down? Hey, let’s patch this vulnerability before someone finds it.
I like concrete examples, so let’s walk through a few to solidify the differences, shall we?
- If you find yourself peering at SNMP MIBs, you might be doing management.
- If you spend hours poring through system logs trying to find out which drive is failing, you might be doing management.
- If you query a server or switch on a regular basis to determine what firmware it’s running, you might be doing management.
- If you find yourself at a whiteboard creating a flow chart to show which deployment steps precede others, you might be doing orchestration.
- If you have ever considered using Six Sigma to ferret out the inefficiencies in your “move into production” process, you might be doing orchestration.
- If you are using scripts, APIs, or a system to “chain” other scripts to execute based on corporate standard operating procedures, you might be doing orchestration.
So now that we know there is a difference, why is it important to make the distinction in the first place?
It’s not just pedantry, I assure you. The differences between management and orchestration are important because they require and rely on different skill sets and, in most cases, different tools. And that’s particularly true in the network infrastructure, where there are a lot of minutia to manage that simply aren’t covered by the much higher-level orchestration systems. Orchestration doesn’t care if a drive fails on a server. That’s not its job. Its focus is on deploying services and applications onto that server. The whole point of many emerging technologies and approaches is to abstract that level of detail away from the day-to-day business of deploying things.
But management does – and must – care about that drive failing. So the tools and methods used to monitor and manage those systems have to focus on that, not only using APIs and templates to provision and configure services.
Both management and orchestration are critical components for modern data centers. Without the former, you’d end up with a disposable physical infrastructure that's not cost effective, environmentally friendly, or business enabling, and an unstable environment. Without the latter, you’d never improve the speed and frequency necessary to deploy applications on the increasingly demanding schedule set by the business.
So make sure you know which one you’re doing, and how, so you can choose the right tool for the job. Management is key to ensuring stability, and orchestration is all about enabling agility. You need both to succeed.