Software automation is the use of instructions to create a repeated process that replaces an IT professional's manual work in data centers and cloud deployments. Software tools, frameworks and appliances conduct the tasks with minimum administrator intervention. The scope of software automation ranges from single actions to discrete sequences and, ultimately, to an autonomous IT deployment that takes actions based on user behavior and other event triggers.
Software automation is different from orchestration, but commonly, the terms are used together. Automation accomplishes a task repeatedly without human intervention. Orchestration is a broader concept wherein the user coordinates automated tasks into a cohesive process or workflow for IT and the business. For example, an IT administrator enables workload scaling with automated instance creation, operating system (OS) installs and storage provisioning. They orchestrate the automation tasks in a workflow with a specific order of operations for each task. Orchestration can also include permissions and roles enforcement, approval gates and more.
How software automation affects processes software automation relies on software tools to define and conduct a prescribed series of detailed actions that are invoked manually or by an external trigger, such as a change in IT capacity demand.
Software automation replaces a series of actions and responses between an administrator and the IT environment. For example, a software automation platform, such as Microsoft Windows PowerShell, combines cmdlets, variables and other components into a script to mimic the series of commands and steps that an administrator would invoke one line at a time through the command-line interface (CLI) to provision a virtual machine (VM) or implement a backup process. A more complex software automation outcome can be achieved by combining multiple scripts into a series. These limited-scope automation processes are most beneficial when they replace a task that an administrator has to perform frequently. Admins do not save much, if any, time by automating a rote action made once per month. Automating a rote action that occurs multiple times a day, however, significantly increases an administrator's time for other tasks that require decision-making and assessment skills.
Enterprise-class IT infrastructure automation tools trigger actions in response to thresholds and other situational conditions in the IT environment. Advanced Software automation tools oversee the configuration of systems, software and other infrastructure components; recognize unauthorized or unexpected changes; and automatically take corrective actions. For example, if a workload stops responding, this triggers the automated steps to restart it on a different server that has available capacity to run it. When software automation is set to enforce a desired state of configurations, the tool will detect changes in a server's configuration that are out of spec and restore it to the correct settings.
Software automation pros and cons
Software automation's benefits include faster data center and cloud operations; reduced errors and variation from one implementation of a task to the next; and enhanced security and governance. However, a software automation strategy must account for and eliminate errors; an automated error will proliferate much more quickly than a manual error. Software automation can also erroneously become a goal in and of itself, regardless of the return on investment from the initial setup work to time saved.