This is a guest post for the Computer Weekly Open Source Insider column written by Shawn Powers — describing himself as Linux Journal editor, CBT Nuggets trainer, writer and geek all wrapped into one, Powers has been teaching IT for more than a decade and his specialties are Linux, Chef and integrating multiple platforms for larger networks.
Powers has just launched a new Ansible training series – Ansible Essentials – to help users develop the knowledge and skills required to install, configure and manage Ansible, the open source software automation, configuration management, application deployment and task automation platform.
The Ansible Essentials series from Powers covers playbooks, roles, templates, loops and conditionals, Ansible Tower etc.
Powers writes as follows…
I love to do system administration and operations work. I’ve been doing it for over two decades and few things bring me as much joy as solving a problem with a keyboard and green text on a black background.
I do not, however, enjoy doing the same thing more than once.
Like most veteran sysadmins (many of which have changed titles in the migration to a DevOps world), I have a /usr/local/bin folder chock full of scripts that have automated my workflow thousands of times. Some of them are brilliant. Some of them are horrible insecure kludges. None of them are as elegant as Ansible.
When I describe Ansible to folks, I explain that it’s as if all of my BASH scripts were written by a team of professional programmers. Where I have a bunch of hacks, Ansible provides elegance. It’s not that Ansible does things I couldn’t have done on my own, it’s that with Ansible it’s done efficiently, securely, and admittedly better that I could do on my own.
Basically, Ansible is what we always knew we could accomplish with scripting, but never had the time to fully realise because there was too much work to do. If I had Ansible 15 years ago, I might have been able to actually work a 40 hour week as opposed to the 60-70 hours I put in most weeks.
What is Ansible, I mean really?
That doesn’t really answer the question of what Ansible “is”, but simply saying it’s a configuration management and automation tool in the DevOps world doesn’t do it justice.
Ansible allows you to apply management tasks to 1000 computers with the same amount of effort as doing those tasks to one single computer.
It doesn’t need a fancy server running, in fact, it doesn’t need any server running at all. Ansible is simply a client-side toolset that you can run from your laptop. It also doesn’t have any agent program running on the machines it manages. It uses plain old SSH, just like us crusty old sysadmins have been using for years.
If I’m being completely honest, it’s the lack of “stuff” that makes Ansible good.
Using either ad-hoc command line commands, or simple to read text “playbook” full of commands, Ansible handles day-to-day tasks with minimal effort. I can confidently say it’s easier to use Ansible than it is to learn the BASH scripting which previously defined my IT world. Ansible is faster, easier, more scalable and better than my handmade tools could ever hope to be.
… and thanks to its open source nature, it’s completely free.