We'd all be much happier if we could do away with the boring yet necessary IT tasks on our plates. Better yet,...
if we could do it as part of a disciplined IT automation and orchestration scheme.
Automation should save time and reduce errors. That's automation nirvana, and to achieve it, we start small. Everyone starts IT scripting with the tasks that will provide the quickest and most welcome return on the effort. We write scripts to create user accounts, to run quick reports, to install software and to create a VM. It seems like a good idea.
Over time, we forget which scheduled tasks that one script does at a specific time. We write a new script to automate X when, in fact, another one that automates Y just so happens to cover X, too. With too much disparate IT automation, it's easy to lose track of scripts and wreak havoc when your goal was to streamline work. Take a step back from the trees so you can see the forest.
Automation and orchestration differentiation
It's worth the time to learn IT automation and orchestration, not just scripting for specific tasks.
Orchestration is related to automation. Automation, in this context, is when an admin writes a script or creates a workflow in a tool to solve a relatively pedestrian, simple problem. It could be as easy as a script to run a scheduled task to reboot a problematic server every night, or even go so far as one that tells the coffee maker to brew at a certain time on weekday mornings. When we automate these small tasks, we rarely think about the potential effects on other systems around the target.
A musical orchestra is a great metaphor for IT orchestration. Each person in the orchestra performs a specific task, while the conductor directs all of them to play the symphony together. The conductor doesn't do the tasks, but she guides musicians to play at the right time and to stay in sync with the others. This is the act of orchestration. Musicality in your IT department may vary.
IT orchestration example
Microsoft System Center Orchestrator (SCORCH) takes prebuilt tasks and scripts as input and creates runbooks from them. These runbooks are planned and built such that they are aware of the other tasks going on around them. SCORCH orchestrates these runbooks so that the users know what each one does and when it does it.
In this example, the user has two automation scripts to onboard a new employee. A PowerShell script creates an Active Directory user account following the organization's standard naming convention. Another PowerShell script provisions a new computer with appropriate software. To turn automation and orchestration into one smooth employee onboarding process, plug both scripts into SCORCH or another tool, such as Goverlan Reach's process automation tool.
The scripts we left behind
Most IT veterans have faced down the jumble of automation scripts created by some former employee, who did everything but documentation. IT employees stay in their jobs for an average of 16.8 months, according to Glassdoor Economic Research. While this tenure is longer than many other sectors, including pharmaceuticals and retail, IT turnover still has the potential to turn an automation haven into a confusing scripted house of horrors for the new staff.
There are endless examples of IT orchestration; the common thread is that scripts execute as a group, not individually. Both aforementioned scripts automate a task that would otherwise take an admin's time to click through multiple steps. With orchestration, scripts are simply triggered by a parent action, so they are coordinated. The orchestrator is aware of an order of precedence for the operations: The user account must be created before the computer is assigned to that user account. With only IT scripting and no overseer, annoying or even dangerous overlap and mismanagement are possible: One team attempts to assign the computer too early before another team creates the account, for example.
If you aren't at the stage of IT process control where tasks are orchestrated, don't panic. Automation via IT script writing or from piecing together different systems is a significant first step to reduce time wasted on manual tasks. But be aware of the knock-on effects that automation has on other systems. Before you write that next script, think for a moment how it will affect other resources and what the pros and cons are of running it in a larger orchestration tool setup.
You're not scripting IT in a vacuum, either. Teams that embrace IT automation free up their own time but don't realize the wider reach of these scripts across the organization as a whole. Without an IT orchestration team that has an idea of what kind of solution each group is building or tight communication between disparate roles, the organization as a whole might be worse off than it was with mundane, manual processes. When two competing scripts come head to head, the organization loses.