What is Ansible used for?
- What is Ansible used for?
- Is Ansible Free?
- What is Ansible Tower used for?
- Is Ansible Tower Free?
- What is Ansible AWX?
- Ansible vs Jenkins
- Ansible vs Docker
- Ansible vs Puppet vs Chef
- Ansible for Network Engineers
- Can Ansible run on Windows?
- What is Ansible used for?
- What is the difference between Ansible and Python?
- Is in Ansible written in Python?
- Is Ansible Tower free?
- What is Ansible Galaxy?
- What is Ansible Vault?
Ansible is an open source automation platform which was purchased by Red Hat in October 2015. It is used heavily by the server admin community for application deployment and to administer and deploy updates and patches to Linux servers.
In the last few years it has gained a great following from the network community who are now using it to administer and automate network operations across a wide variety of platforms.
Is Ansible Free?
YES! Ansible is an open source software and thus free to use and can be downloaded and installed from a number of sources, it will currently only run on a Linux or Mac that has Python installed.
It will not run directly on Windows.
However you could install WSL2 (Windows Subsystem for Linux) and run Ansible on that.
It’s one of the most popula Devops tools in use today, saving you time performing repeatable tasks. Originally used for Linux servers and web services, but now gaining a massive following in the network automation community.
If you want to move into a supported model you need to look at Red Hat Ansible Automation Platform. You can license your nodes and get support and certified collections from Red Hat.
Ansible Engine a version of Ansible with full support from Red Hat and also Ansible Tower a GUI front end to drive Ansible core Ansible Tower is licensed on a per node basis.
But if you just want to download Ansible and use it for your home or production use – it is free to use.
Ansible Architecture Diagram
The architecture of Ansible is very simple, it consists of an Automation Engine, which is typically an install on a Linux host i.e Ubuntu, then then input into that Engine via a user in the form of a Playbook. You can also optionally have input from an external source i.e Github. Then the output is an SSH connection to the hosts you want to configure. Ansible is written in Python but you do not need to know Python to use it.
If you are a network engineer check out my Ansible Training for Network Engineers Course
What is an Ansible Playbook used for?
Ansible Playbooks are written in YAML. The playbook tells Ansible what to automate. It is also a human readable file that contains a list of simple actions to perform when automating server or network tasks.
An example of an Ansible Playbook to configure a Nexus Switch is shown below
--- - hosts: NEX-9K-Leaf-1 gather_facts: false connection: local tasks: - name: Configure RID Loopback Lo0 nxos_config: lines: - description "Configured by Ansible" - ip address 126.96.36.199/32 parents: interface loopback0 - name: Configure VTEP Loopback Lo1 nxos_config: lines: - description "Configured by Ansible" - ip address 100.100.100.2/32 parents: interface loopback1
What is Ansible Tower used for?
Ansible Tower is basically a GUI front end for Ansible, but it is much more than that.
- Role based access to allow certain users to run only specific tasks
- It hides credentials from certain users running playbooks
- Full logging of all playbook runs and output
- Scheduling of tasks
- Rest API functionality
- Tower dashboard giving you visibility of job runs / success/ failures
Is Ansible Tower Free?
Ansible Tower is free to use for up to 10 devices, however Ansible Tower is really a paid tool if you want to manage a network of any size.
If you are looking for free, keep reading.
What is Ansible AWX?
Ansible AWX is the open source upstream project for Tower. It is free to use and contains all the latest code and updates. However it is not supported by RedHat. If you want try out Tower for free then look at AWX.
If you want a fully supported enterprise automation platform then you should be looking at Tower.
There are many other open source network automation tools available that do similar jobs and to which Ansible is often compared to but they are all different and are suitable for different jobs. The list below shows some of the common comparisons
Ansible vs Jenkins
Ansible is not really a replacement for Jenkins it is actually a product you would use alongside Jenkins.
Jenkins is more of a continous pipeline engine
Ansible vs Docker
Ansible and Docker are two completely different things, I am not sure why the are often compared, but Docker is a container platform used to run multiple hosts (containers) on a single platform.
Ansible vs Puppet vs Chef
The closest comparison to Ansible are other two main automation tools, Puppet & Chef. Whilst they do a lot of things the same the main advantage that Ansible has over both these tools is that it is Agentless, so only requires an SSH connection to the target device.
Puppet & Chef require an agent to be installed on the target device. Whilst this is fine for server administration it does not work for most network hardware, which is why Ansible is fast becoming the network automation tool of choice for network engineers.
Ansible for Network Engineers
Ansible is a great tool for configuration management for network devices which makes it a great tool for network engineers.
Other Ansible posts:
- Ansible vs Python
- Ansible Tutorial to Backup a Cisco IOS Router Configuration
- Ansible Hosts File
- Ansible Network Automation Course
Can Ansible run on Windows?
The short answer is no. Ansible will only run on a linux based system, however if you want to run Ansible on Windows you can look to install the Windows subsystem for Linux or run a Virtual machine on your Windows device.
What is Ansible used for?
Ansible is an IT automation engine that allows you to automate provisioning and operation of cloud, server and network devices. It can handle configuration management, application deployment and orchestration. It is free to use as it’s open source. There is also a version called Ansible Tower which gives you a GUI and more security features and is a paid version that comes with support.
What is the difference between Ansible and Python?
Ansible is an IT automation engine, whilst Python is a programming language. Ansible is written in Python. You can use Ansible or Python or both to automate your IT infrastructure but Ansible is seen as the easiest to get started with. However, if you are serious about network automation then Python is where you really need to focus your skills.
Is in Ansible written in Python?
Yes! Ansible is an IT automation platform that is written in Python. To operate Ansible you do not need to know any Python as all the playbooks are written in YAML. You can integrate Python scripts into your playbooks or write your own Python scripts and make your own Ansible modules.
Is Ansible Tower free?
No, Ansible Tower is a paid version of software from RedHat which provides you a GUI, enhanced security and enterprise level support. If you want to use Tower features you can install Ansible AWX which is the open source upstream version of the Tower product.
What is Ansible Galaxy?
Ansible Galaxy is an online repository where you can download Ansible roles. It can be found at https://galaxy.ansible.com/
What is Ansible Vault?
Ansible Vault is a feature within Ansible that allows you to encrypt secure information like credentials and passwords. This allows you to store sensitive information in encrypted files rather than plain text. On playbook runs the files are un-encrypted with the secret key which can be entered on the playbook run or stored in a secure location. Check out my Ansible Vault Tutorial for more information.