throwing babies out with bathwater?
A good deal of skepticism certainly seems warranted, and I agree with pretty everyone that states that DevOps is not an excuse to shove turds out the door.
But at heart, it is just tools and methods. You can use them responsibly or not, depending on your mindset.
2 things stand out for me:
- automate your server/app/<whatever> builds.
I.e. don't configure by clicking or manually running stuff. Slow, error prone.
But it's not just automate everything via laboriously hand-built shell files. You can use config management tools like Chef that do an amazing lots of things around package and library installation and configuration file scripting.
You can take those install and configuration directives and put them under version control.
The outcome is that, once it's done, you should be able to build a server really quickly, without worrying too much about it. Whether you are brave enough to do so on a production server is one thing, but surely things like resetting a QA server or copying the production environment to a dev server will benefit from less manual intervention.
- have your dev and ops team work together more closely.
That's not necessarily saying let devs anywhere close to production. But breaking down communication barriers and working together on configuration tools will give them a better feel for the moving parts their programs will interact with in prod. Surely not a bad thing either.
Coming from the dev side, using Chef has given me way more insight into Linux system internals than I would have had if I was doing all the configs by hand willy nilly.
But, yes, DevOps is not fully mature yet.
Fail fast, fail often isn't too cool when it means code that hits paying customers or users. In Chef at least, a lot of the ecosystem at least seems to assume you are operating in an freebie/open source-y context: your programs' codelines are coming from open GitHub, so no authentication is needed. Your packages are all an apt-get repo away, without worrying your pretty head about the $50K/server license that the vendor has in mind for his amazing enterprise app. The programs you are using are amazingly all script-configurable, no click-only GUIs to be found. Unicorns are merrily dancing on rainbows.
At heart however, DevOps tools allow configuration automation and versioning and I see that as a benefit if not abused.