This is meant to be a short post with my quick thoughts on devops - with the same title as a really good post recently at http://opscode.com/blog/2010/07/16/what-devops-means-to-me/ by John Willis.
We have a long history in UNIX/Linux system administration of automating tasks. Easy access to tools such as cron and shell scripts made repetitive tasks easy to automate. Experienced sysadmins tended to have a large ~/bin directory with lots of scripts that did increasingly complex things.
Over time this collection of shell scripts was seen as a problem, and tools such as cfengine started to gather fans and supporters. Infrastructures.org was developed as a way to share hard-won experience with automation across an entire infrastructure. Now with the rapid provisioning of entire infrastructures in the cloud, we have a number of quality tools to choose from: chef, puppet, cfengine, bcfg2, and more.
What do all these tools give us? Over time, my mental concept has changed a bit...
Initially - cfengine allowed me to stop treating my site as a collection of standalone hosts and start treating it as a whole. I could configure a new host as a DNS server, and configure all other hosts to immediately start using it. This was a huge win, and saved lots of time. I didn't do things differently, when you got down to it. I simply used cfengine to roll out config files and manage processes, but in-house code releases were still done using in-house tools and generally using painful and manual procedures.
Now, these tools mean something different to me - they allow me to come up with new ways to interact with in-house developers. I can give them new, automated ways to deploy to a staging environment. I can have workflows that allow the deployments to go to production in a robust, repeatable way - one that's tested via the continuous deployments to a staging/QA area.
In short, I can stop thinking of automation as a way to do the same things better (edit files, manage processes), but as a way to improve deployment processes and improve the lives of our entire technical organization at work.
It's fitting that we have a new term for this. Though I see it as an evolutionary step in system administration, it can and does have a revolutionary effect on operations at many sites.
i'm Here to learn DevOps, Thanks For Sharing
ReplyDeleteDevOps Training in Hyderabad