DevOps was a term created because other titles have been watered down. Any real sysadmin has been automating deployments, updating, backups, and failovers for over a decade now. Don't claim we aren't sysadmins anymore now that it's getting interesting.
Sure, you might get your precious “predictability”,
but at what cost? I mean, can you even still remember
that rush of intrigue and anticipation you get when
your application refuses to work on two of the twelve
servers it was deployed to? The thrill of the hunt as
you figure out exactly which configuration settings are
different and, of those, which one is causing the
problem? The sweet taste of relief that you get after
hours upon hours of debugging finally narrowed it down
to a rogue registry setting?
> “I come from a long line of sysadmins. My father was a sysadmin, as was his father before him. I have apprenticed at the feet of some of the greatest sysadmins American BankCorp has ever seen.
The lineage would mean that they've been in the business for 30+ years now?
The heading on the page "geek humor and other drivel" was also something of a hint.
Giving developers admin access isn't the answer.
I've seen both sides - where admins didn't undersatnd the environment well enough or the application in it and broke it, and where developers didn't understand the system well enough and pushed out code releases that broke things. Neither situation should exist if things are set up correctly.
Things should be automated and documented. You need systems knowledge as part of your development process.... it's not enough just to throw a PHP guy at something..... everything needs to be architected in a way everyone understands.
Several very important standards require that developers do not have access to production (PCI comes to mind if I'm not mistaken).
You have a few things from an internal control POV that you can do to help prevent "bad" things from happening. Examples include: privilege separation, change control, dev/test/prod environments, scripted deployments, automation, etc.
When devs bitch about not having the privileges they need, the biggest issue is usually communication. The SAs work for a different Director, and there is an adversarial relationship. Fix that, and most of your problems go away.
Devs are more aggressive and forward-looking. Admins are more conservative and status-quo-oriented. You don't want folks with an aggressive mindset to admin your stuff. You don't want folks who worship the status quo to do development.
Developers probably shouldn't have root privilege on production but they need to have read access at the very least. They also should have write and deployment privilege on a few production machines for testing and experiment. Whatever mess they made there should be counted under acceptable loss.
But, I've worked in places that had bad resource planning, and didn't allocate the same kinds of resources in staging. When we had performance problems, there was no place else to go.
It can be hard to convince people to take their expensive hardware and IT time to set that production system up, and now, "duplicate it so we can debug". Eventually, I think you just give up and go somewhere else.
It's an amazing thing to "knife vsphere vm clone" and "knife bootstrap" a system! Even though I built and implemented our automated architecture I'm still amazed every time I have a precise production system in under 5 minutes servicing client requests.
I think Chef may have found the equivalent to my systems administration G-Spot =P
Now I just define the outcome I want, assert that a unwritten function produces that outcome and code the outcome. Sigh /s
As to its content, I would say that server administration as a craft has moved up a level. It is now developing programs like Chef, designing 'clouds', choosing hardware and so on.
Also, in before, "Lol, Windows admin". I cringed when I saw a registry reference.
The only disturbing trend is how far the helpdesk types get in the hierarchy. My shock at introducing an IT Engineer to ubuntu, only to discover he'd never used a CLI on any system...
My speciality is disaster planning and recovery. I consider myself being hit by a bus a potential disaster. That freak occurrence should not mean the end of a business.
And don't know those helpdesk types who have never touched a CLI. They allow me to bill a fortune when I step in to fix their botched deployments.
I... You're setting up servers with a mouse?
Deployment is so much more complicated today than it was just a few years ago. What we call 'DevOps' is really just a subset of systems administration work. Every developer (yes, sysadmins are developers) has specialties regardless of the term of the week.
Edit: Care for a reply with that downvote?
Do you think Amazon builds one compute node at a time? You may think it is art, but you can conversely look at a very sterile, well built environment where there is no room for error as art as well - something produced by DevOps.
Finally DevOps threatens nothing, at least nothing that shouldn't be. It promotes progress. Why? Because if your skill and craft is so good, why not be able to push it to the masses. And if you want to remain in the realm of niche then find the players that need one-off art. Past that, DevOps is long overdue.
DevOps hasn't ruined anything. Get over sysadmin as "art", otherwise I have unicorns and rainbows to sell you. Sure, there are good sysadmins and bad, but it's a stretch to say that you're so good your job can't be replicated with a build framework that fosters sane and repeatable process.
> Get over sysadmin as "art"
> Building platforms is akin to building cars by hand
Uhhh... no. My server is art. Now, I built my own build system, so do I really build servers by hand? No. But I built the build system. And I configured it. And it produces a server that is exactly to my specification. Down to every single file.
After the build? I click save. Then I duplicate. Then I have lots and lots of servers that are built to my precise desire. That's art.
Is my system more performant and secure than the system you built with:
(your favorite package manager) install (all the shit you need)
Yes. By a lot.
(chef or whatever off-the-shelf build system) install and configure (all the shit you need)
Yes. By a little.
But, hey, you know what? It's my server. And it's exactly the way I want it. And there's value in that. I own my stack.
Which makes writing software for it more fun. By a lot.
Yes. By a lot."
You should take a look at DevOps.