Happy Trails, Ansible

Happy Trails, Ansible [1]





I started the Ansible project on my couch in Feburary of 2012, about three years ago.



I’ve written about this before, but in short, starting the Ansible project was about wanting another open source project under my belt (after Cobbler/Func/others), wanting to get some long explored ideas out of my head, and also wanting to keep that same head from having to bang itself on a desk when needing to automate things in the future.

The key ideas were to make a good automation system that realized computers were a group of machines, not just individual boxes, which I had long described as “multi-tier orchestration”. Modelling a process was just as important as modelling a state. Also, I wanted to challenge the conventional thought that configuration management required custom agent-architecture, and to make something that only required SSH as an agent. This was to avoid the typical certificate-exchange “fun” in some pull based systems, where things like reverse-resolving DNS and NTP issues could make even the first steps of provisioning extra-fun, among other things. Also I wanted to make things pluggable to a fault, to enable massively wide-scale levels of contribution and adoption, because I wanted to build a project that everyone could contribute to easily. Keep things simple (YAML, etc), have a plan, and stick to it. See what happens.

I’m fortunate to say a lot of people really liked the idea of Ansible and it grew quickly, and lots of great people joined to help the project – too many to name here, but you’re all greatly appreciated. I was super excited the day the IRC channel had 30 people in it. Now that 30 is something like 900. This was something I couldn’t have forseen.



That first year, Ansible ate nearly all of my nights and weekends, and eventually a company formed up around it a year later with me as CTO. I got to a lot of interesting places and meet a lot of interesting people. It still ate my nights and weekends after that, and in fact, there was even more to do.

Over this time, connecting with users was one of the best things that I got out of the project and the company. I wore a lot of hats - I ran the OSS project, made thousands of source code commits and many more merges and code reviews, wrote most of the documentation, architected nearly everything, designed APIs and systems for Ansible Tower, managed websites, answered many thousands of emails on the mailing list, marketed the project, project managed, product managed, people managed, tested, tweeted and blogged and wrote other things, spoke at events all over the place, and hired an amazing team of developers that eventually grew to about a dozen people - distributed all over the US.

We learned a lot - ways to make a REST API super understandable (even if you’ve never seen it before), what it’s like to run a open source project efficiently with nearly a thousand contributors with a team of three, how to balance everybody’s idea of what Ansible wanted to be with what we wanted it to be, how to build a rock solid commercial product and balance the right mix of open source project and commercial company-supporting endeavors (which I think we balanced very well).



One of the highlights for me was waking up one morning and flipping on the twitter stream to find there was a very long meetup in Japan going on that I didn’t know about, live streaming, all about Ansible. There were people overflowing in another room, watching that stream on video too. I watched a good chunk of it over YouTube, occasionally hearing “Ansible” here and there every few words. That was a very cool and humbling moment, to see an idea that had basically taken on a life of its own and could do things when you slept, knowing that it now effectively spread all my itself. It was like the project was a living entity.

I remember lots of mornings waking up and finding 10 or 15 pull requests waiting from Europe too. Open source doesn’t stop, or know about time zones!



It’s been about three years for the project now, and about two years for the company, and those three years felt like about nine, Ansible becoming all encompassing in my identity. It’s undeniable to say that I’ve become very very close to the project. I’ve loved working with everyone, and greatly appreciate all the contributions people have sent in and talks, blogs, screencasts, and more people have done (even several books!). Not everyone gets to see a project run at that kind of scale, and once again, thanks greatly for helping make this thing happen!



Unfortunately, my time at Ansible Inc is coming to an end, and it is now going to have to be time for different things, but these are things I’m also looking forward to. Today is my last day at Ansible, Inc.



I am greatly thankful for everyone on my team working for me here at Ansible Inc - and for everyone in the Ansible community. I don’t have space to thank everyone individually but believe me I want to. You all mean a lot.



The best tools come from when all of us can work together regardless of who we work for, and I have learned something from all of you. I think it’s great that it’s possible to create spaces where people, regardless of employer, can come together to make our life all easier, and help each other. This is the true purpose of open source as a knowledge continuum, more important than the code or the things that we produce.



Ansible the project, and Ansible Inc the company are going to keep going.

James Cammarata who has already been omniprescent in all things Ansible, coding even more than myself for most of the last year, is taking over formal leadership of the project – with much help supplied from Toshio Kuratomi and Brian Coca. I believe it is in great hands. I’ll be backing off my involvement quite a bit, but I might send in a pull request or two and I’ll still be around on the twittersphere.

Similarly, James Laska is taking up the leadership of Ansible Tower, our commercial product, which I started with some great people about two years ago – many are still with the company, others have moved on, and many more have been added – I greatly appreciate all of their work. James has pretty much been my right hand over the last year or so, and I think it’s also going to do fantastically well and has a nice roadmap ahead of it.



Once again, thanks to everyone that has helped with the project, and I think we’ll see each other again.



If you would like to get in touch with me, you can email me at michael DOT dehaan (at gmail.com), please do not try to use my ansible.com email address.

1. Enterprising readers will note that “Happy Trails” fits with the Ansible project’s Van Halen release naming conventions, being one of the covers off of 1982’s “Diver Down”.

