Confessions of a Full Stack Devop
ansible.com
ansible.com
DevOps, as widely debated what the actual meaning is, brings development and operations into a more symbiotic relationship. Whether that means that devs have a more operations minded outlook, or operations looks into how to make development more efficient, or automating operations or any of the other various definitions in the end it's about making sure the entire life cycle of an app is run more efficiently. From initial development and testing through scaling.
As a former DevOps engineer turned to development, DevOps has been much maligned. The idea is not to get everyone to wear all hats. DevOps makes deployment part of the development cycle rather than the broken practice of throwing code over the wall. Nothing hurts morale like resting soundly each time ops is fighting fires your code created.
DevOps done properly does not require an engineer to deploy her own code, but it does require a sense of ownership over what happens with your code in production. If that means helping someone understand your code changes enough to fix the monitoring tools or tune the database then your product will benefit.
Most importantly, deploying more often means automation gets better. As Martin Fowler keeps saying, "if something hurts, do it more often." (It must hurt him to say that.) http://martinfowler.com/bliki/FrequencyReducesDifficulty.htm...
It actually killed my motivation to program in general so it's not like I'm some ansible fanboy too. I don't use anything now because I haven't deployed a line of code in about 2 months.
Once I recover from burn out I'll likely look into an alternative to Chef.