“I’ve noticed a disturbing trend lately,” writes reddit user mrcrassic on the sysadmin subreddit. “When I was first introduced to the concept of “devops” a few years ago, I thought that these were for people who were good at programming AND good at systems, and wanted to use that knowledge to help pure devs ship builds. Instead, what I saw during my last job search (from June to early October) was a lot of hiring managers thought that “DevOps” == “sysadmin + scripting.”
Even a cursory read through the thread demonstrates that this user’s experience is far from unique. Increasingly, hiring managers and IT professionals alike are confusing the difference between the two roles. The problem is that even though DevOps and Systems Administration do share a great deal in common, they’re nevertheless distinct from one another.
Traditionally, developers and administrators were two distinct entities, working in tandem with quality assurance professionals. The developers programmed, created and innovated, the QA team tested the stuff the developers put out, and the administrators ensured the other two actually had infrastructure capable of supporting their work. Then somewhere along the line, something changed.
DevOps came along.
“DevOps is meant to denote a close collaboration and cross-pollination between what were previously purely development roles, purely operations roles, and purely QA roles,” writes professional software engineer Jeff Knupp. “Because software needs to be released at an ever-increasing rate, the old “waterfall” develop-test-release cycle is seen as broken. Developers must also take responsibility for the quality of the testing and release environments.”
In other words, DevOps represents a convergence of several different spheres within enterprise IT; an evolution which Knupp points to as stemming straight out of the Agile methodology. Although such a shift inevitably means that technical professionals are in greater demand, Knupp’s far from happy about it:
“We’ve taken the multiple technical roles that engineers at startups were forced to play due to lack of resources into a set of minimum qualifications for the role of developer,” he continues.
Knupp is far from the only professional left unimpressed by the DevOps mindset, which many seem to feel was born in the board-room rather than the server room. The problem isn’t with the concept, mind you. It’s with the fact that so many businesses seem to do it horrendously wrong.
With all the hand wringing and flashing of this “DevOps” term, I dug in and read about it, and what all the hubbub was about,” explains programmer Josh Johnson. “I then realized something. What we were doing wasn’t DevOps…Putting me, and other devs with similar culture on a separate team, whether that was the “DevOps” team or the infrastructure team was a fundamental mistake.”
Alright. But…that still doesn’t explain what DevOps IS. Nor does it get us any closer to understanding what you need to do in order to do it RIGHT.
What DevOps REALLY Means
According to The Agile Admin, the simplest definition of DevOps is thus: it’s the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.
The keyword here is participation. And therein lies the problem with most implementations of DevOps, according to Johnson. If not everyone’s on-board with the technique, it’s doomed to fail. He has the following to say on the matter:
- DevOps doesn’t make specialists obsolete.
- Developers can learn systems and operations, but nothing beats experience.
- Operations people can learn development too, but again, nothing beats experience.
- Operations and development have historically be separated for a reason – there are compromises you must make if you integrate the two.
- Tools and automation are not enough.
- Developers have to want DevOps. Operations have to want DevOps. At the same time.
- Using “DevOps” to save money by reducing staff will blow up in your face.
- You can’t have DevOps and still have separate operations and development teams. Period.
To go back to our original question…what’s the difference between DevOps and Sysadmins? Everything and nothing. With DevOps, everyone’s a sysadmin – and at the same time, no one is.