Ansible is an open-source tool that enables cloud automation provisioning, application deployment, configuration management, orchestration, and manual IT processes. Unlike other simplistic management tools, what is Ansible capable of are installing software, automating daily tasks, infrastructure and cloud provisioning, security improvement and compliance, system patches, and automation sharing across the whole organization.
Ansible works by connecting to nodes such as clients and servers on the network by forwarding a small program known as the Ansible module to that node. Ansible modules are executed over SSH and then removed afterward. The sole requirement for this instruction is that the Ansible control node has log-in access to the node that is being managed. The most common way to gain access is via SSH keys though other authentication forms are also supported. Windows Remote Management (WinRM) is also supported.
Ansible has two computer categories which are the control node and managed nodes:
- Control Node – the computer that runs Ansible. It must have at least one control node, but it is also best to have a backup.
- Managed Nodes – are the devices that are managed by the control node.
Ansible rose to popularity when RedHat purchased the company in 2015 because its capabilities are simple, and it is an open-source automation tool. It was created with the following capabilities below in mind:
- Free: Ansible is open-source.
- Ease of Use: no special coding skills are needed to use the Ansible playbook.
- Powerful: enables you to automate even complex IT processes.
- Flexibility: orchestration of the entire application environment is possible regardless of the location and can be customized based on your requirements.
- Agentless: to install Ansible, 3rd party software is no longer required. No ports on the client’s firewall are required to be automated. A separate management structure is not necessary to set up.
- Efficient: provides more efficient use of resources because it does not need other software to run it.
The Ansible automation engine has a lot of capabilities to offer, making it a powerful tool as an enterprise automation platform.
- Configuration Management – is designed to be reliable, simple, and consistent for configuration management tools.
- Orchestration – uses automated workflows and provisioning, to name a few, to ensure that all the tasks are appropriately orchestrated within the nodes that are in the Ansible automation platform environment.
- Application Deployment – lets the user install multitier applications quickly, securely, and efficiently.
- Security and Compliance – aside from the automation tasks that are pulled up from the control node, system administrators can configure security policies such as firewall rules or prevent user access across the environment.
- Cloud Provisioning – enables automation of provisioning your infrastructures such as cloud platforms, virtual hosts, network devices, and servers.
Here are what makes up an Ansible environment in a nutshell:
- Modules – are tiny programs that push out a control node towards the remote hosts. They are implemented using Ansible playbooks that control services, files, and packages.
- Plugins – are supplemental lines on the codes that improve their functionality.
- Inventories – the nodes within the Ansible environment are listed in a file with their details, such as IP addresses, servers, and databases.
- Task – is basically a call to an Ansible module.
- Play – is a set of tasks mapped to a single or group of hosts.
- Playbook – is a set of plays. It is an instructional manual for the tasks written in YAML (Yet Another Markup Language). It gives the users the ability to declare configurations and orchestrate the steps of manually ordered tasks that can be executed simultaneously or asynchronously.
- APIs – different APIs are available to widen the reach of Ansible’s connection types without limiting it to SSH.
Download our Free CCNA Study Guide PDF for complete notes on all the CCNA 200-301 exam topics in one book.
We recommend the Cisco CCNA Gold Bootcamp as your main CCNA training course. It’s the highest rated Cisco course online with an average rating of 4.8 from over 30,000 public reviews and is the gold standard in CCNA training: