A Transition Guide from System Admin to DevOps Engineer

6 of my favorite Jenkins plugins
September 22, 2017
Things to Watch out When Working with Docker Containers
October 11, 2017
Show all

A Transition Guide from System Admin to DevOps Engineer

Ever since DevOps concept was introduced in the market, its use is on the rise. As businesses across the world have accepted this fast methodology for software development with open arms. Due to its acceptance worldwide, DevOps offer many attractive jobs that are yet to be filled. Companies are looking for professionals, who are experienced enough to introduce DevOps in their organization. Lack of skilled professionals is the main dilemma of this philosophy.

Be it a system admin, programmer or any other professional who can work in software development process has its place in DevOps. But before you make a switch, it’s vital to analyze yourself that as a system admin, developer or QA  professional your skills are fully compliance with needs of DevOps industry.

During my past few years, I have worked with quite a few excellent system admins in various projects and I understand that some of them would like to transition to DevOps roles. In this post, I will try to explain what attributes a system admin should have in order to make a successful switch towards DevOps.

Difference between System admin and DevOps Engineer

Traditionally system admin job is limited to configuring, keeping up and maintaining servers and computer systems. Usually, system admin has no role in the development process of software and there is a huge fence separating system administrator and developer. System admin role has been around for quite a while now, with tasks and responsibilities well defined.

DevOps is a different approach, it’s creating a pipeline of development, QA and system admin to overcome the lack of coordination. In DevOps, the whole team has an overlapping role throughout the product development lifecycle, a developer will perform tasks in production, while a system admin will look after things during the design phase of the product.

There is no formal definition of DevOps engineer, it’s a complex role and is believed to be one of hardest role to be filled and kept with success.

 

DevOps professionals are programmers who get interested in deployment and operations over time, or system administrator who also knows the coding, and move into the development phase where they can improve the planning of test and deployment. DevOps engineers are people, who have pushed beyond their defined areas of competence and who have a more holistic view of their technical environments.

 

System Admin Skills which are transferable to DevOps Engineer

DevOps negates the “throw it over the wall mindset”, where developers do their job,  and system admins do their sole job. DevOps breaks teams and departments into one single unit, with the overlapping role. It’s important to understand that nothing beats the experience, adopting “DevOps” to reduce staff and save money to increase revenue will have a negative impact.

There is an overlap of skills between system admin and DevOps Engineer. A report from School of DevOps lists top 9 skills which companies are looking for these days

It can be easily seen that some of these skills such as scripting, OS admin, and monitoring are already possessed by system admin, some are not.

New Technical Skills Needed for System Admins to get into DevOps

System admin traditional approaches (with some changes) are still valid for DevOps. A DevOps engineer needs to apply his skills to entire life cycle of product development. He must be familiar with cloud services and the state of the art automated tools and finally, he must be able to collaborate with other members as well.

Following are some key things which a system admin should have in order to become a DevOps engineer

Continous Integration

The most important aspect about DevOps is Continuous Integration (CI) which is a software development practice, CI allows developers to continuously update changes to a single repository, from where automated builds and tests are made.

Usually, traditional system admins roles do not involve developing continuous integration pipelines, but if you are looking to dive into DevOps, getting hands-on experience with continuous integration tools is a must.

There are different products and tools which can help you implement Continuous Integration in your organization. Some tools let you host the CI servers in your own network infrastructure. The most popular one is Jenkins which is rebranded from the Hudson project of Sun. There are some other hosted CI products such as CircleCI and Travis CI which is completely hosted in the cloud.

Clouds Computing

Majority of DevOps projects are cloud hosted. As a DevOps engineer, you must be able to configure servers and services relating to Amazon Web Service, MS Azure, Google Cloud and other cloud hosts. Apart from that you should also be familiar with cloud services like Software as a Service (SAAS), Platform as a Service (PAAS), Infrastructure as a Service (IAAS).

Configuration Management

As DevOps engineers, you must be familiar with configuration management tools like Puppet, Chef, Salt or Ansible. They all are built to make it easier to automatically configure and maintain hundreds, or even thousands of servers. These all tools helps in automating various process, which is one of main feature of DevOps.

 

 

In Summary

System admin role is around for quite a while with tasks and responsibilities well defined. DevOps is a different approach, it’s creating a pipeline of development, QA and system admin to overcome the lack of coordination.

Some of DevOps skills such as scripting, OS admin, and monitoring are already possessed by system admins. But there are still a few key skills which a system admin should have in order to become a DevOps engineer such as hands-on experience with some popular continuous integration tools, cloud computing, and configuration management tools.

 

Tao
Tao
Tao is a passionate software engineer who works in a leading big data analysis company in Silicon Valley. Previously Tao has worked in big IT companies such as IBM and Cisco. Tao has a MS degree in Computer Science from University of McGill and many years of experience as a teaching assistant for various computer science classes.

5 Comments

  1. Thanu Alia says:

    I simply wanted to write down a quick word to say thanks to you for those wonderful tips and hints you are showing on this site.

    https://www.besanttechnologies.com/training-courses/devops-training-in-bangalore

  2. Thank you @James Lee for publishing the articles like “A Transition Guide from System Admin to DevOps Engineer” which is very informative and helpful to us thank you

    https://www.svrtechnologies.com/devops-training

  3. Vicky says:

    Thanks to @James Lee. Its really an impressive post about DevOps.
    Thank you for this post.
    Devops Training in Chennai

  4. I read this blog i didn’t have any knowledge about this but now i got some knowledge so keep on sharing such kind of an interesting blogs.

  5. I hope you all are having a great weekend. I have a new list for you. Read the latest update on how I compiled the list. I’m still surprised by the results.

Leave a Reply

Your email address will not be published.

LEARN HOW TO GET STARTED WITH DEVOPS

get free access to this free guide, downloaded over 200,00 times !

You have Successfully Subscribed!

Level Up Big Data Pdf Book

LEARN HOW TO GET STARTED WITH BIG DATA

get free access to this free guide, downloaded over 200,00 times !

You have Successfully Subscribed!

Jenkins Level Up

Get started with Jenkins!!!

get free access to this free guide, downloaded over 200,00 times !

You have Successfully Subscribed!