Today, I attended GeekNight meeting, run by ThoughtWorks Chennai.
The topics were docker and ansible.
I missed the docker talk, as I started late to the event.
Here are my notes about Ansible.
Ansible is a Free/Open Source configuration management system.
Just imagine, you have to install apache or lamp server in 200 servers.
or delete all the logs folder or upgrade or remove any package.
Logging into each server manually via ssh and doing all the things is a tired job.
Here comes these Configuration management softwares like puppet, chef, ansible, salt, cfengine etc.
Puppet and Chef are running as client/server model.
You have to run puppet/chef damenons in all the 200 servers.
In your computer, you have to write some configuration files with the commands to run and the list of servers to run the commands.
Execute these files with the puppet/chef client from your computer.
It will take to the puppet/chef servers running on the 200 servers and execute the commands.
Here, the ansible differs.
There is no client/server architecture.
All the magics are done by just ssh connections.
You have to set the passwordless ssh connections to all the 200 servers from your computer by sharing the keys.
Thats all. You are ready to run your favourite commands via ansible.
Ansible is a Gene, who can run the commands in all 200 servers by logging to them via ssh.
List of servers and activities are written in plain text files in YAML format.
It seems very simple then the chef/puppet.There are very good documentation and tutorial available on internet.
Some links to explore:
There are paid enhancements for ansible named Ansible Tower, Ansible Galaxy etc. They provide a web GUI for handling these tasks.
For a GNU/Linux lover, who enjoys the powers of commandline, the plain Ansible core is great enough.
Explore Ansbile and share your experiences here.