Ansible – Manage all your servers like a king

Today, I attended GeekNight meeting, run by ThoughtWorks Chennai.
http://twchennai.github.io/geeknight/

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.

Interesting, Right?

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:

http://docs.ansible.com/intro_installation.html
http://docs.ansible.com/intro_getting_started.html
https://www.digitalocean.com/community/articles/how-to-create-ansible-playbooks-to-automate-system-configuration-on-ubuntu

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.

One thought on “Ansible – Manage all your servers like a king

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s