A couple of months ago I decided to learn Ansible. I grabbed this book and, since learning with real projects is what works best for me, I implemented a system to deploy Rails apps to provisioned EC2 instances using Ansible. You can check the result on Github.
I love Ansible. I had played a bit with Puppet and Chef in the past, and I can say that Ansible clicked for me, while those didn’t. I think the book contributed greatly to it. It is concise, cover many basic devops concepts and is full of real-world examples.
This experiment also made me appreciate how this role can be a full-time job on its own. I spent a lot of hours implementing a clunky subset of what is needed for putting a real app in production.
In the past, I have used Heroku and Cloud66 to run a real business. Before the experiment, I assumed that cooking my own infrastructure could be a good approach if I wanted to start some new side-business online today. I am now more convinced than ever that Platform as a Service (PaaS) is a much better answer. Abstracted-out infrastructures deliver the most precious gift you can ask for when you are starting something: time.