Automation is an increasingly strategic necessity as organizations of all sizes strive to deliver value faster while solving IT and business workflow challenges.
Here we offer a quick glossary of automation terms, including links where you can dive in deeper to learn more.
Ansible Automation Platform
Ansible Automation Platform is developed by Red Hat and provides an enterprise framework for building and operating IT automation at scale. Users can centralize and control their infrastructure with a visual dashboard, role-based access control (RBAC), and automation tools including analytics and certified, reusable content.
Ansible Automation Platform includes Ansible Engine, Ansible Tower, Red Hat Insights for Red Hat Ansible Automation Platform, Automation Hub, Automation services catalog, and Content Collections.
Red Hat Ansible Engine is made up of the components central to Ansible automation, including the task engine, OpenSSH and WinRM transports, and the Ansible language itself. Ansible Engine is developed by Red Hat with the explicit intent of being used as an enterprise IT platform, allowing organizations to access the Ansible technology in a more secure, stable and reliable package.
Ansible facts are data gathered about target nodes (host nodes to be configured) and returned back to controller nodes. Ansible facts are stored in JSON format and are used to make decisions about tasks based on their statistics. Facts are managed by Ansible Engine, and play a major role in syncing with hosts in accordance with real-time data.
Ansible playbooks are lists of Ansible tasks that are automatically executed against hosts. You can use Ansible playbooks from the command line interface (CLI) or using Red Hat Ansible Automation Platform’s push-button deployments.
Ansible Tower allows you to centralize and control your IT infrastructure with a visual dashboard, role-based access control (RBAC), job scheduling, integrated notifications and graphical inventory management. Ansible Tower can be embedded into existing tools and processes with REST API and command line interface (CLI).
Automated provisioning is using automated processes to set up IT infrastructure, which can include server provisioning, user provisioning, network provisioning and service provisioning. Where once these would have been handled manually, including setting up physical servers, infrastructure is now often defined in software, speeding up the provisioning process and allowing for automation.
Automation is the use of technology to perform tasks with reduced human assistance. Automation helps you accelerate processes and scale environments, as well as build continuous integration, continuous delivery and continuous deployment (CI/CD) workflows.
There are many kinds of automation, including IT automation, business automation, robotic process automation, industrial automation, artificial intelligence, machine learning and deep learning.
Sysadmins and engineers may have personal fears about adopting automation, as much of their typical day revolves around the manual tasks and processes that automation promises to eliminate. Automation anxiety is the fear that if these tasks can be handled by automated tools, there will no longer be any reason to keep a person in that role. Nobody likes being automated out of a job.
Automation anxiety is largely unfounded, however, as automating manual tasks frees up people’s time that can instead be used to work on more innovative, more strategic and higher value projects.
With automation now at the core of many organizations’ technology strategies, the automation architect is emerging as a key role to lead that transformation. An automation architect’s key tasks include:
Understanding the current state of automation and setting goals
Promoting unity and collaboration around automation efforts
Improving automation assets and capabilities
Shifting organizational culture to an automation mindset
Scaling automation solutions with proper governance and management
Read more in the automation architect’s handbook.
Automation Hub is the official location to discover and download supported Ansible Content Collections, included as part of an Ansible Automation Platform subscription. These content collections contain ways to consume automation, and how-to guides to implement them in your infrastructure.
Implementing automation is an ongoing process rather than a predefined end state, and an organization’s automation maturity can be mapped across six key competencies, including strategy, process, prioritization, people, structure and operations. You can read more about automation maturity and get some tips on assessing your organization’s current state of automation in the automation architect’s handbook.
See Ansible playbooks.
Automation services catalog
The automation services catalog is part of the Red Hat Ansible Automation Platform, giving developers and business users access to the four areas where their automation lives -- across physical, virtual, cloud and container environments. It simultaneously gives enterprise and line of business users the governance they need to meet compliance and procurement requirements around automation.
An automation-first culture is one which not only recognizes the value of automation, but makes it a primary strategic goal across the breadth of the organization. Everyone is tasked with finding new ways to automate processes to increase efficiency and achieve business goals, as well as always thinking about how to include automation in any new projects or initiatives.
An automation architect’s role includes helping to build an automation-first culture. You can read more about this in the automation architect’s handbook.
Business automation is the alignment of business process management (BPM) and business rules management (BRM) with modern application development to meet changing market demands. Digital transformation is the key strategy for thriving in today’s market environment, and it requires that business and IT leaders partner together.
Red Hat believes that the traditional business automation model needs to evolve. Instead of focusing solely on streamlining processes, businesses need to develop new strategies to automate the business itself.
Business process automation (BPA)
Business process automation is the use of software to automate repeatable, multistep business transactions. BPA solutions tend to be complex, connected to multiple enterprise IT systems, and tailored specifically to the needs of an organization.
BPA is often part of an organization’s digital transformation strategy, helping to streamline workflows and operate more efficiently.
CI/CD is short for continuous integration, continuous delivery and continuous deployment. CI/CD is a method used to frequently deliver apps to customers by introducing automation into the various stages of app development, providing a solution to the problems integrating new code can cause for development and operations teams.
CI/CD introduces ongoing automation and continuous monitoring through an app’s life cycle, including integration, testing, delivery and deployment.
A CI/CD pipeline introduces monitoring and automation to improve the process of application development, particularly at the integration and testing phases, as well as during delivery and deployment.
Typical CI/CD pipeline stages include build, test, release, deploy and validation and compliance, although every CI/CD pipeline will be unique to the requirements of the organization.
Cluster automation uses technology to reduce or replace human intervention in the process of deploying clusters, freeing up IT departments by enabling self-service cluster deployment and application delivery. Red Hat Advanced Cluster Management for Kubernetes can be used to enable cluster automation at scale.
Configuration drift occurs when unplanned changes happen and a resource’s configuration moves away from the designed baseline. Drift is common because of frequent software and hardware updates, particularly in a colocation facility or when using virtual machines.
Production, staging, development and recovery configurations are designed to be identical (or near identical) to maintain consistency. As the configurations in the different environments change, a configuration gap develops, which can lead to a variety of issues, including disaster recovery and high availability failures.
Configuration management is a process for maintaining computer systems, servers, and software in a consistent desired state. It ensures that a system performs as expected as changes are made over time. Configuration management can be automated, reducing cost, complexity and the chance for errors.
Deployment automation is an automated process that moves software between testing and production environments, ensuring repeatable and reliable deployments throughout the software delivery cycle. Automating deployments lets you release new features and applications faster and more frequently by reducing or removing the need for human intervention in the process.
Deployment automation is an important step towards implementing DevSecOps practices and managing a CI/CD pipeline.
DevSecOps stands for development, security and operations, and is an approach to culture, automation and platform design that integrates security as a shared responsibility throughout the entire IT life cycle.
DevOps and DevSecOps are the same thing, in that it was always intended that security be part of the DevOps approach. Many have switched to referring to it as DevSecOps, however, to make this inclusion explicit.
DevSecOps automation is the addition of technology that reduces the need for human intervention in processes that facilitate feedback loops between operations, security and development teams. This allows iterative updates to be deployed faster to applications in production.
Digital transformation is the process organizations go through as they adopt new and innovative ways to do business based on technological advances, fundamentally changing something using digital tools. Digital transformation isn’t a product or service that can be purchased, but it affects everything IT touches in every industry.
Enterprise automation involves the application of modern automation tools and processes to your enterprise application environment.
GitOps is an approach to managing infrastructure and application configurations using Git, an open source version control system. GitOps works by using Git as a single source of truth for declarative infrastructure and applications.
GitOps uses Git pull requests to automatically manage infrastructure provisioning and deployment, allowing teams to manage infrastructure using the same tools and processes they use for software development.
Hyperautomation is a disciplined approach to enterprise automation in which an organization works to identify and automate as many business and IT processes as possible, as quickly as possible. The term hyperautomation was coined by Gartner in 2019.
Infrastructure as code (IaC)
Infrastructure as code is the managing and provisioning of infrastructure through code instead of through manual processes. With IaC, configuration files contain your infrastructure specifications, making them easier to edit and distribute. This also ensures consistency in the environments you provision, and helps aid in configuration management.
Infrastructure automation is the use of technology that performs tasks with reduced human assistance in order to control the hardware, software, networking components, operating system and data storage components used to deliver IT services and solutions.
Intelligent automation (IA)
Intelligent automation is the use of automation technologies to streamline and scale decision-making across organizations. IA will often involve artificial intelligence (AI), business process management (BPM) and robotic process automation (RPA) to improve efficiency, reduce costs, and simplify processes.
In Ansible, an inventory is a file that identifies target systems for an Ansible playbook. There are two types of inventory files: static and dynamic. Static inventories contain a set target system or systems, while a dynamic inventory is actually a script that executes to determine the target system(s) each time you run a playbook.
IT automation is the use of software to replace or reduce human interaction with IT systems. IT automation is sometimes referred to as infrastructure automation.
You can learn more about this topic in the system administrator’s guide to IT automation.
IT process automation (ITPA)
IT process automation is the automation of IT services, support and administration into workflows in order to avoid the time and cost involved in manually managing them. IT processes include things like handling service requests, managing and monitoring hardware and software, monitoring compliance and security, and similar day-to-day IT tasks.
Jinja2 is a web template engine for Python that can be used to generate any markup and source code. Ansible uses Jinja2 templating to enable dynamic expressions and access to variables in Ansible playbooks.
Network automation uses programmable logic to manage network resources and services, allowing network operations (NetOps) teams to configure, scale, protect, and integrate network infrastructure and application services more quickly. Automating network resource and service management allows NetOps teams to become more agile and flexible to more effectively support modern business demands.
Orchestration is the automated configuration, management and coordination of computer systems, applications and services. Orchestration helps IT teams more easily manage complex tasks and workflows.
Automation and orchestration are different, but are closely related concepts. Automation generally refers to automating a single task, while orchestration typically involves automating an entire process or end-to-end workflow.
Paradox of automation
The paradox of automation is that as your organization increases the amount of automation it uses, human involvement becomes both more important and less frequent. Automation isn’t meant to replace people, it’s meant to free people from mundane and repetitive tasks so they can do more important and strategic high value work.
See Ansible playbooks.
Private Automation Hub
Private Automation Hub is a self-hosted Ansible content management system that organizations can host on their own infrastructure and manage themselves. Private Automation Hub is included as part of the Red Hat Ansible Automation Platform, and provides an easier way for Red Hat customers to manage their Ansible content.
Red Hat Process Automation is a set of products for intelligently automating business decisions and processes. It can be used to enforce business policies and procedures, automate business operations and measure the results of business activities across heterogeneous environments. Process Automation is part of the Red Hat Application Services portfolio.
Provisioning is the process of setting up IT infrastructure. It can also refer to the steps required to manage access to data and resources, making them available to users and systems. Provisioning comes before configuration in a deployment workflow.
There are many different types of provisioning, including server provisioning, network provisioning, user provisioning and service provisioning.
Robotic process automation (RPA)
Robotic process automation is the use of software robots to perform repetitive tasks previously done by humans, such as simple jobs like form entry and invoice preparations, or more complex tasks like customer service and issue resolution.
RPA solutions generally fall into one of two categories: attended or unattended. Attended RPA bots run locally on a workstation and work alongside humans, although they can still be triggered by system events. Unattended RPA bots work without human involvement and can be triggered by events or programmed to run on a schedule.
Ansible roles allow you to automatically load related vars, files, tasks, handlers and other Ansible artifacts based on a known file structure. After you group your content in roles, you can more easily reuse them and share them with other users.
Role-based access control (RBAC)
Role-based access control is an approach to restricting system access to authorized users based on defined roles and related privileges. RBAC simplifies the process of managing access rights by assigning users to roles, rather than manually configuring privileges on a user-by-user basis.
In general terms, a rule-based system is a collection of human-defined rules that are used to collect, evaluate, manipulate and react to data. Rule-based systems can mimic artificial intelligence, but are not true AI as they do not learn and adapt.
SecOps is short for security operations. See DevSecOps.
Security automation is the use of technology that performs tasks with reduced human assistance in order to integrate security processes, applications and infrastructure. As infrastructure and networks grow in size and complexity, it becomes increasingly difficult to manually manage security and compliance. Security automation helps by streamlining daily operations and integrating security into processes, applications and infrastructure at all stages.
Serverless computing is a cloud-native development model that allows developers to build and run applications without having to manage servers.
While there are still servers involved with this form of computing, they are abstracted away from app development, with a cloud provider often handling the provisioning, maintaining and scaling of server infrastructure. Developers package their code in containers for deployment, which is also often automated through a CI/CD pipeline.
A workflow is simply a sequence of tasks that occur in a particular order to achieve a specific end. For example, a software development workflow will include a number of stages, including development, integration, testing, delivery and deployment.
Workflow automation involves the use of technology to reduce or replace human intervention in workflow processes. Workflow automation improves speed and efficiency, reduces errors, and frees people’s time by eliminating repetitive manual steps.
YAML stands for Yet Another Markup Language (or YAML Ain’t Markup Language), and is a data serialization language that is often used for writing configuration files. YAML is designed to be human-readable and easy to understand, and can be used in conjunction with other programming languages. YAML is a superset of JSON.
Ansible playbooks are YAML files used to orchestrate IT processes.
Learn more about automation
Now that you have the terminology down, you'll want to continue your automation education. To get started, check out Learning Ansible basics.