Comment Re:Some practical examples (Score 1) 153
Ugh. Never played with Rails, but I've had to convert a lot of bash / python cluster management work into Chef / Ruby and it's been awful. I easily spend 10x longer doing trivial tasks, and in the end, I have to write a bash ssh job to verify that chef did the right thing anyway.
To be fair, there's a lot in the framework that I do like... the somewhat built-in unit and integration testing (which, for some reason, is surprisingly absent in production where you'd most want it). I sort of like the RuboCop coding convention watchdog, mostly due to the irony of it making ruby even more sensitive to whitespace formatting than python ever was. But for the most part, all this stuff just adds more pieces that randomly breaks things every 3 months, and most people trying to get actual work done end up disabling and ignoring all of it, which is a shame because doing things in The Chef Way(TM) also balloons every little 10-line bash/sed script into a monstrosity spanning multiple overlapping files, attributes, templates, and data bags. It's also dog slow and wasteful to nuke-n-pave for every little change, and/or inconsistent about deploying rolling updates and giving you no mechanism to roll back (OK, so it does provide some backup of some configuration files it touches, whooop-dee-doo).
I left my old job largely because the new tech manager wanted to introduce Chef as the silver bullet that would launch them into the next phase of their career, and forced hundreds of prod machines to start using it while they were still figuring out all of its vagaries. Of course the final straw was that we weren't allowed to in any way blame Chef on any outages or project delays, since the execs were already breathing down his neck for the ham-fisted migration.
Got another job still doing Chef-based work, but at least now I have support from management to take as much time as it needs to maintain things properly. Still spend way more time maintaining the tool instead of plying our trade, but whatever, it pays the bills. OpsCode has really got a little cottage industry going in maintaining DevOps job security, and I get a lot of coffee breaks while "waiting for my ruby scripts to converge in test-kitchen".