Just wanted to say thanks to all of the Ansible developers and the 
community of users, and to share my success story with Ansible.  

I stumbled upon Ansible a couple of months ago, and it was the perfect 
solution for a particular problem space that we had. In the past, I've 
tried the various open source CM tools and never found the one that matched 
my style of working.  Each has its own strengths and weaknesses, but 
Ansible seems to work the way that I want it to pretty much right out of 
the box.

Over the last couple of months, I needed to expand from a single pair of 
Solaris systems running a clustered application, to having 6 different 
clustered instances of that same application on RHEL instead of Solaris, 
each with its own slightly different configuration (from a single PROD 
instance with a cloned TEST, to 3 different environments each with their 
own PROD and TEST clustered pairs). Also, the new instances of the 
application didn't necessarily have the same requirements, since one 
environment only needs to be active/passive, another needed to be 
active/active with an additional Terracotta shared memory cluster, another 
needed to be active/active without Terracotta, etc....

In the past, I simply had scripts to manage the app on each Solaris server, 
with the conf directory of the application in a subversion repository and a 
clone of one of the Solaris zones as a test system.  I would test out a 
configuration change on the clone, and if it worked I would check it into 
svn and check it out on the 2 production nodes. 

When this new project came to pass, I started down the route of standing up 
the new systems using my old method, but that was obviously not going to 
work.  I looked at puppet and chef (briefly, since I knew they really 
wouldn't have suited the situation), and decided to test out Ansible. I had 
the first TEST instance running on a pair of RHEL VMs within a day or two, 
and a more fully fleshed out setup for the first TEST/PROD environment 
within a week. 

Ansible also forced me to do a particular task in the "right" way by 
packaging up the common parts of the application into a RPM package and 
setting it to install with the yum module, instead of trying to keep the 
files for each version in sync on every play. I even have group_vars for 
each environment so that I can control which version of the RPM is 
installed, so I can test upgrading to new versions and roll back to the old 
versions if needed just by changing a variable.

We put the first of the new environments into PRODUCTION status this week 
and it was a great success. It is also very easy to migrate configurations 
from TEST to PROD for each environment. The next step is to migrate the 
current PROD environment over to RHEL, and I am confident that this process 
will go much more smoothly, since I have the first "Ansible managed" 
environment as a guide.

The "no client" approach of Ansible worked best for me, since we are all 
adept at using scripts over SSH to manage our systems.  I feel confident 
that I could hand over this project to another analyst today and they would 
hit the ground running and stand up the other 2 environments with minimal 
problems. 

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b4337eae-90aa-4c78-8a34-1c9a4e978058%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to