We keep hearing about all of these wonderful technological advances that seem to never come to fruition. How many decades have we been waiting for the hovercrafts and flying cars we saw in cartoons and movies? We still haven’t cured major diseases yet, let alone the common cold. If you’re an IT administrator, you probably keep wondering when all this automation we’ve been promised is going to finally take place. You know, that magic automated tool that will rid ourselves of those humdrum tedious tasks that bog us down every day. Why is it that the development team is able to be agile but the server and networking teams are still bound by the same routines? Wasn’t the CLI supposed to be dead by now?
Well, that solution is here, and not a moment too soon. It’s called Ansible, the tool you were promised that will free you from those monotonous repetitive tasks, such as:
- Pushing changes
- Copying files
Are you tired of SSH remoting into your appliances to update or reconfigure them? Most of us are.
What is Ansible?
Ansible is a lot of things. On one hand it is an open-source IT automation engine. On the other it is a universal language that can talk to all of your devices, conveying what exactly needs to be done, including configuration management, application deployment, and task management functions. Don’t just limit Ansible to simple one-step processes, however. It can run orchestrated task sequences involving complex event chains involving multiple devices. Ansible handles task complexity within complex hybrid IT environments that include bare metal servers, virtualized platforms, or multiple clouds. It can automate the configuration of many of your systems and devices including network appliances, firewalls, storage devices, servers, and databases. In fact, you can automate your existing CLI commands across 45 + network platforms.
Think about all the steps involved in updating the IOS of a router for instances such as:
- Copying the image
- Changing the boot system order
- Saving the configuration
Now think about all of the prerequisites involved in installing some of your enterprise applications. Ansible performs these steps in the proper order to ensure a successful install. Ansible can help you obtain consistency throughout your enterprise. Maybe you have a multitude of webservers with different versions Apache. Want to upgrade all of them to the most current version without the headache of updating each and every machine? Just issue a playbook to Ansible with the IP addresses of the servers and the job gets done. No need to worry about the present state of each server. Only the final state matters.
Ansible serves as a configuration management database (CMDB) containing all of the relevant information you need about your network and server components, as well as the relationships between them. Ansible can change application or OS configurations, start or stop services, install or update applications, implement security policies, and so much more, all in automated fashion.
Ansible is Simple
Automation is great, but if the involved solution isn’t simple, any involved learning curve may inhibit its potential. But Ansible was designed to be simple. Simple to administer and simple to install. According to Michael DeHaan, the creator of Ansible, the stated goal was to:
“Create a configuration management tool that you could not use for six months, come back to, and still remember.”
And that he did. Ansible doesn’t require you to know special coding skills. Ansible uses a human-readable data serialization language called YAML. The real nuts and bolts of YAML are the playbooks. Just like a sports team that follows the plays outlined in the playbook, Ansible does so as well. The playbook is the instruction manual that serves as a universal mode of communication for your enterprise components, yet is human readable as well. That playbook lists all the steps required to perform the desired tasks and maps them accordingly. Ansible was designed so that you can begin writing playbooks within hours. Want Ansible to ping all of the devices within your database? Simply type the command:
“ansible all -m ping.”
Ansible doesn’t require agents to be installed on your involved servers and devices. There is no additional software, no firewall ports to enable, no separate and storage infrastructure. Linux servers simply require Python, PowerShell for windows. All of your appliances simply need SSH. As for the host itself, it can either install on one of your existing servers or prepackaged in the Ansible Tower. The Ansible Tower provides you a dashboard in a traditional NOC style display showing everything in your environment. You can view your targeted nodes, job runs and job status all in a single pane of glass. Manage your entire infrastructure by pulling your inventory from all of your public cloud providers including AWS, Azure and more. Stay informed of your automated tasks through notifications using Slack, Hipchat, SMS, email, or other popular communication mediums.
A Culture of Automation
It’s impossible to fully describe what Ansible is all about and what it can do in just a short blog. It’s best to see it in action, which is easy because it performs all the mundane action so you can focus on more value added projects. Yes, we may have to wait a long time for the flying cars we saw in the Jetsons Cartoon, but automation is obtainable now. The wait is over. Talk to an IT solutions provider for help navigating this ever-evolving world of automation.
Next Steps: The more digital businesses become, the more room for automation is created. Learn how Wi-Fi plays a role in all this by downloading our tech brief, “Top 5 Roles of Wi-Fi for the Enterprise.”