DevOps engineers and systems administrators share a range of common tasks but there are also some fundamental differences that IT professionals and hiring managers should be aware of.
Employers should be wary of systems administrators who claim they can do anything a DevOps engineer can. While the two roles are similar, they are not identical.
In this article, we’ll aim to provide some clarity on the issue by highlighting the cause of confusion and the main points of distinction between the two roles.
Before we start, it’s important to first define the relevant terms.
What is DevOps?
Given that DevOps encompasses so many different tasks and processes, coming up with a clear and comprehensive definition is challenging.
Writing about how she personally came to understand the concept, computer engineer and blogger Cindy Sridharan offered some helpful clarification:
It became clear to me that when people spoke about ‘DevOps’, they didn’t necessarily mean individual tools or job titles but more a set of practices that roped in both developers and operators to deliver software to the end users in a more holistic and efficient way. It was more a philosophy along the lines of Agile that tried to break down organisational silos and promote cross-functional teamwork and cooperation,
In other words, DevOps represents a convergence of several different spheres within enterprise IT.
What is a systems administrator?
As the scope of the job is narrower, providing a definition of a systems administrator role is much easier. According to Wikipedia it can be defined as follows:
“A system administrator, or sysadmin, is a person who is responsible for the upkeep, configuration, and reliable operation of computer systems; especially multi-user computers, such as servers.”
The cause of confusion
As the descriptions above show, there is a clear difference between the two – so where does the confusion come from?
Much of the confusion has arisen because “DevOps” has become a fashionable buzzword in the tech space. It is frequently used inappropriately by companies and individuals to describe things that do not align with the actual meaning of the term.
The word “DevOps” has been misused countless times by companies seeking to cut corners and get things done quickly. Using the word to gloss over a desire to save money by reducing staff typically creates major problems down the line.
There are also many companies and startups that think DevOps engineers can do everything themselves and will solve all their problems once hired. This is not the case. It is wrong to think that a DevOps professional can be brought in to clean up all the mess that a company has made up until that point.
The origins of DevOps
Traditionally, developers and administrators were two distinct entities, working closely with quality assurance professionals.
The developers programmed, created and innovated, the QA team tested the stuff the developers put out, while the administrators ensured the other two actually had infrastructure capable of supporting their work. However, the market changed significantly when cloud computing arrived.
With the inception of the cloud, a lot of tasks began to get automated, especially the ones that were traditionally done by sysadmins. The cloud also took away most of the work done by network engineers and database administrators.
With most of the work for the sysadmins becoming automated, they were asked to support the developers to become more effective and also assist end users. Over time, this type of work gave rise to DevOps as it exists today.
As the diagram below shows, the tasks of a DevOps engineer are not limited to what sysadmins typically did in the past.
Done right DevOps can be transformative. For example, when high-end fashion retailers Net-A-Porter and Yoox merged back in 2015, work needed to be done to reconcile differences in the tools and systems used by each business prior to the merger. The infrastructure team at the newly-formed Yoox Net-A-Porter group made changes in in their DevOps delivery pipeline to create a workable solution to the problem. They outlined the implementation process in a recent blog post. Some of the senior figures on the infrastructure team at Yoox Net-A-Porter include Danny Cooper, James Witter, and Primoz Fonda.
DevOps vs System Administration
To understand the distinction between a DevOps engineer and a sysadmin it helps to keep the following key points in mind:
- Ultimately, the aim of a DevOps engineer is to make every section of an IT company collaborative in nature. On the other hand, a sysadmin is more narrowly focused on configuring, keeping up and maintaining servers and computer systems.
- DevOps engineers should ideally have experience working on a product from end-to-end while sysadmins are confined a smaller scope and responsibility.
- A DevOps engineer can do everything a sysadmin does, but a sysadmin cannot do everything a DevOps engineer can do.