Ansible year-end survey results

Here is a anonymized summary of survey results. My goal in this was
to check assumptions about how things were being used, so we could
learn more, and I could share with others so they too could get a
better perspective of how their usage was like and unlike other
people.

** Where people are using Ansible

42% of people are using Ansible to set up development machines
17% QA
51% in production with an additional 17% about ready to use it in
production (68% total for production)
15% who answered the survey were still choosing config tools --
compared to the last survey point, this is a lot less percentage wise
now

We've clearly transitioned beyond 'this is new', to "I'm using this
for serious things". Good.

** Where users are coming from

This was an open ended question so no percentage results

- some people are moving from puppet -- I'd say this is 40% of where
people are coming from
- a couple of mentions of people leaving Fabric
- some are keeping puppet and using ansible for ad-hoc tasks only
(/usr/bin/ansible vs /usr/bin/ansible-playbook)
- some of that ad-hoc task stuff are users replacing Func (which Seth
and I both were involved with starting, so that's cool)
- some users cited using cfengine previously and now picking ansible
for new projects
- those switching from Puppet cited recipe complexity and dealing with
puppetca as major reasons
- some users also were using chef, but slightly less than the number
coming from puppet, but made similar comments
- one user mentioned dropping Rundeck
- one user mentioned they were using Ansible alongside Red Hat Satellite

In all, about what I expected, I was somewhat curious to see if users
were mostly coming from Puppet or Chef -- it seems to be Puppet, and
from that, I think I would infer our users were more general sysadmin
oriented than Ruby oriented, and perhaps a bit more slanted towards
IT/devops/automation than development, but even then, that stereotype
about those communities is also slightly wrong. Still, I wanted to
get a feel of the character of the userbase. I think when the site
talks about being a good alternative to those various tools it is
therefore justified, and not just marketey, which it is important that
this remains the case -- that keeping things simple, obvious, and
auditable is exactly why people are here in the first place. I know
we're not perfect at that either, but we'll try!

** Features seen as missing in Ansible

- lots of answers of "none" :slight_smile: Thanks, made my day!
- CI integration (how?)
- better logging (no details given) -- though I'd be inclined to agree
that logging is good stuff :slight_smile: Improvement ideas welcome!
- official Debian/Ubuntu packaging -- agree! Someone make it happen!
- better conditionals -- let's start a thread about this -- want to
know more, but there are some reasons things are the way there are,
but also there are some ideas we've been throwing around too
- dashboard - yeah, wanted to build this, but ENOTIME for me, other
attempts welcome! got a couple of requests for this
- rollback software versions -- rollbacks are an illusion, so not
going to happen :slight_smile:
- windows -- not going to happen, I think a bad windows solution
dillutes focus severely and is not how people really manage Windows
anyway. Not a domain expert either, we'd break it from lack of use.
- dry-run -- not going to happen, it would mostly be a false report,
as it is in systems that have it IMHO, and overcomplicates modules
- macports module -- open to it, somebody submit a pull request!

In any event, features all come from you, so if you have an idea, talk
about it on the list, and then maybe send in a pull request

If it's reasonable you could also just do the PR, but big stuff, like
conditionals, should be talked about and designed first, I don't want
growth to be strictly organic. Been there with other things,
algorithms can lead to local maxima :slight_smile:

** How large are deployments

Also an open ended question

widely distributed, as per the goals of the project!

- several folks deploying small numbers of machines
- quite a few folks in the 40-60 server range (ballpark)
- several people have 200-400
- some people report, 600, 800, etc, highest is ~1800, but are using
it mainly in ad-hoc mode

** Do you talk to all your nodes at once?

- less people concerned with continual remediation than typically you
get in Puppet/Chef space
- lots of folks configuring at provisioning time or when changes are needed
- talking to multiple servers at a time usually maxes out around 30
- some folks do talk to the huge groups (500-800, etc) in defined
serial batches, usual is around 10
- no mention of ansible-pull but also I forgot to ask, I assume
fireball means this is much less important
- people did mention fireball, so that's getting use!

** How often should we do releases

46.7% percent of people consume github directly and don't care about
releases. Others split, but every 2-3 months seems
reasonable. Most folks seem to not worry about releases if we
continue to preserve compatibility like we have been doing.

** How do you most often install Ansible

74.3% from github checkout!
8.6% from Fedora
another 8.6% from EPEL
everything else 2% or so (tarball/pip/didn't answer)

** What OSes do you manage?

60% of users have CentOS boxes
48.6% Red Hat
14% Fedora
34.3% Debian
48.6% Ubuntu

I was surprised to see the two styles of distros so close and would
really be curious about how that crossref'd with geography and company
size -- but didn't ask any of those questions :slight_smile:

** Who Are You

among various industries and things listed by survey respondants
(note: I have a lot more data from repeat Google Analytics readers
that is really cool but won't ever share it)

- cloud management for iOS app servers in ec2
- some people that might work for Area 51
- some telephony providers
- internal IT
- managed Ruby hosting
- University departments
- finance industry folks -- lots of them
- major dotcom websites you have heard of
- individual developers managing their own servers (scaling to this is
just as important as scaling up! good deal!)
- general systems adminstration
- more

I am withholding info from those that shared company names, but thanks
immensely to those that do so, I like knowing who you are as it's
really some of the only reward you get for building
one of these things sometimes is knowing where your bits on the internet run :slight_smile:

** General conclusions on now and the future

Basically ansible targets a wide variety of users were simplicity is
important. We don't appear to have major scaling problems or feature
problems (cited by large/prominent usage), and should be happy about
that. Users continue to want things to be simple and backwards
compatible. Our primary users are all CentOS/RHEL/Fedora and
Debian/Ubuntu, there is some prominent BSD on IRC though, but it's a
small portion. If there's a way we should think when doing more
stuff, it is to be compatible, easy to use, and intuitive. Ansible
is for everybody and not a particular class or group of users, and
there is really not a userbase that is not inappropriate for it either
-- unless it's uber-large (i.e. 2x bigger than most sites you read
about on High Scalability) (which means there is a 99% chance if you
are reading this this is not you, even if you think you ARE that big),
and even then you can still make it work if you really really want.
If you are a super large Googley company, you still have ansible-pull
if you really like it, and if you don't like it, we are not really
trying to own that anyway. There is a particular mindset in every CM
tool, so you pick the one you like. Ansible is for people who like
Ansible. It's pragmatic, and it tries to be obvious and helpful.
It does not try to be smart, it wants you to get done using it so you
can do other things, not to dedicate your life to it. We'll keep it
that way.

Thanks everyone for their GREAT feedback, especially people that
provided lots of extra detail and went above and beyond the call about
how you use things and what you do. I can't thank everyone (many were
anonymous), so thanks to you now!

Also a huge thanks to Daniel and Steven for running point on all
things Ansible lately, as you have noticed, I have *mostly* stepped
back to the role of occasional help, releases, and docs -- at least
for a while. This transitioning to being more of a group led thing
is also something we should be really happy about. Thanks to you
two, and also all the recent contributors regardless of whether that
is spreading the word, helping on IRC/email, helping with docs, or
helping
with code. This is your product, not just mine, I'm just sharing
the survey results!

--Michael

Hi,

Thanks for this point.

I think you made a mistake :

60% of users have CentOS boxes
48.6% Red Hat
14% Fedora
34.3% Debian
48.6% Ubuntu

The total seems over 100% :slight_smile:

That's a well known high availability technique.

If you use ALL of the types of Linux simultaneously your software
becomes much more fault tolerant, secure, and change resistant.

People should also look into running some Caldera and TurboLinux.

It has been submitted to ubuntu.
https://bugs.launchpad.net/ubuntu/+bug/1036331

On other news, Gentoo just updated it's ansible package to version 0.9.

Hi,

What was the total number of participants that completed the survey?

thanks,

Walid

Somewhere in the 30 to 35 range.

Not too much love for taking surveys, apparently.

Understood, may be we need to market the survey to reach larger audience next time (podcasts, linkedin, magazines, social network sites,…etc), and provide an incentive, i can for example sponsor a 15 USD amazon voucher for survey raffle, have you thought of participating in TWIT FLOSS weekly podcast?

Understood, may be we need to market the survey to reach larger audience
next time (podcasts, linkedin, magazines, social network sites,..etc), and
provide an incentive, i can for example sponsor a 15 USD amazon voucher for

I think that's kind of overkill, I got enough data for my purposes.
It was intended for active users who are paying attention only.

survey raffle, have you thought of participating in TWIT FLOSS weekly
podcast?

I emailed Randall about it a while back. Nothing happened on that
front. I'm fine with growth being organic and whatever it is at this
point.

My interest was not so much 'how do we grow' anymore, but mostly
learning more about what was already deployed.

Growth is already quite insane, no need to accelerate it :slight_smile:

--Michael

Check out the Ohloh comparison and click on the graphs.
http://www.ohloh.net/p/compare?project_0=opscode-chef&project_1=Ansible&project_2=puppet&submit_2=Go

Quite a rapid uptake for "Infrastructure as Data".