* Marc Lucke <marc at marcsnet.com> [2012/07/20 20:11]:
> ...well there you have it.  No advantages.  Or nobody cares about
> this better system.  Or nobody knows :)
> 
> On 18/07/2012, at 8:54 AM, Marc Lucke wrote:
> > So I'm seeing a lot of hype around Ansible.  It seems to be a
> > compelling story.  I've looked around and found a lot of stories
> > about why you would use it over puppet, but not puppet over
> > ansible.  Can anyone relate personal experiences or point to
> > some interesting reading?

I've been investigating ansible over the last few weeks and I've
found it to have a lot of interesting things going for it: Ansible
is small, fast, lightweight, and consise, but also young, immature,
and rapidly evolving. Puppet has a vast and interesting ecosystem
around it, with lots of integration points with external tools;
ansible, by virtue of its youth, has none of that -- yet. For
example, if you want to set up a centralized dashboard to manage
your ansible jobs, you need to build it from scratch[*], while with
puppet, you have several mature alternates to choose from or build
upon. There are also numerous examples of puppet manifests and best
practices on the web, countless puppet modules freely available on
puppetforge and github, and many blog posts and presentations from
which to learn puppet, while ansible has basically just the mailing
lists (which is fairly active), the official docs, and a few github
repos of examples, but since ansible is evolving so rapidly these
examples are potentially of limited value. (Michael DeHaan has done
an admirable job of keeping the docs up-to-date, though.)

The speed of ansible's evolution is actually my biggest concern
about it right now; I don't want to get in a situation where my
playbooks (ansible-speak for what puppet calls manifests and what
cfengine calls promises) become outdated and need to be rewritten.
(I have hit this problem with puppet, too, though; I unintentionally
used several features that have been changed or deprecated as puppet
evolved, especially ones involving variable scope.)

Having said that, ansible is already incredibly usable and I haven't
yet found anything that I'm currently doing in puppet that I cannot
do in ansible. I'm using puppet to manage over 400 mixed-OS nodes in
a distributed, masterless environment, and I'm not using the
foreman, mcollective, puppetdb, storeconfigs, or any of those types
of features, so my environment might be fairly atypical.

As for why one should choose puppet over ansible, I think the
deciding factors for most people will be the tool ecosystem, the
developer ecosystem, and your comfort with evolving tools. I am
personally of the opinion that the tools managing your
infrastructure should be as mature and surprise-free as possible,
since any change in those tools could cause all sorts of problems
down the line; with the changes coming in puppet 3.0, I think the
playing field is about level here -- ansible may be young, but
Michael seems to have a very clearly defined end goal for what
ansible will become, and I don't see that changing much. Puppet
obviously has the lead in the tool and developer ecosystem fronts,
by virtue of its maturity (as I mentioned above), so if reporting,
long-term trending, and the like is a hard requirement then ansible
cannot be considered.

[*] I've actually got a very usable ansible dashboard setup using
    Jeknins, pulling playbooks and inventory lists from subversion.

-- 
Darren Chamberlain <dar...@boston.com>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to