DevOps is another buzzword that has caused a wave in the IT industry over the past few years. With the growth and popularity of this methodology, we are seeing that many traditional development roles are slowly moving to the DevOps profile. And the most common of them are our old friends, System Administrators.
From System Administrator to DevOps
Before, we had System Administrators and traditionally they only dealt with system configuration, monitoring and maintenance. These tasks covered critical systems and servers, and one of the key SLAs for system administrator performance would be system downtime and overall performance level.
However, as the nature of software development evolved from the traditional Waterfall to the current Agile models, all roles associated with it had to evolve as well. This is where DevOps came in, which is in some ways a complex role with overlapping responsibilities. It is a combination of development and activity, it is a mothodology, not a technology. Due to the nature of Agile development, the role and responsibilities of DevOps are closely related to each phase of the Agile development model. So there are no clear lines as in the earlier System Administrator roles.
A DevOps person must be active from the design phase of a software project. Responsibilities include the creation of a development pipeline, Quality Assurance as well as traditional System Administrator activities. The activities of the entire team overlap. This improves team coordination to ensure adherence to Agile delivery times. There is smooth coordination between team members.
Diffrences and challenges
So, while the traditional System Administrator role is limited to systems and their configurations, the DevOps role also involves in software deployment and operations. Contrary to the clearly stated expectations of the System Administrator role, the challenges here are more and more complex. Opportunities to learn and develop as well are just as abundant.
DevOps Specialists are Developers who are interested in deployment and operations over time or System Administrator who also knows to code, and they move to the development phase where they can improve test and deployment planning. DevOps Engineers are people who have gone beyond their defined areas of competence and have a more holistic view of their technical environment. They negates the “throw-it-over-the-wall” mindset where Developers do their job and System Administrators do their sole job.
But the skills of the System Administrator and DevOps Engineer also overlap. The School of DevOps report lists the 9 most important skills companies are currently looking for. We can easily see that System Administrators already possess some of these skills, such as scripting, OS administration, and monitoring. But there are also some skills that System Administrators are lacking.
New Technical Skills Needed for System Admins to get into DevOps
The traditional System Administrator approaches (with some changes) are still valid. DevOps Engineers must apply their skills throughout the product development lifecycle. They must be familiar with cloud services and state-of-the-art automated tools, and must be able to collaborate with other members.
Here are some of the key things a System Administrator should learn in order to become a DevOps Engineer:
- Continuous Integration (CI) – CI allows developers to continuously update changes to a single repository from which automatic builds and tests are created;
- Cloud Computing – most projects are now hosted in the cloud, so DevOps Engineers need to be able to configure servers and services related to AWS, MS Azure, Google Cloud and other cloud hosts;
- Configuration Management Tools – These tools help to automate various processes, which is one of the main features of DevOps.
The System Administrator role has been around for a long time with well-defined tasks and responsibilities. DevOps is a different approach, it creates a pipeline of development, QA and System Admin to overcome the lack of coordination.
Some DevOps skills such as scripting, OS administration, and monitoring are already possessed by System Administrators. However, there are still some key skills a System Administrator should have to become a DevOps Engineer, such as hands-on experience with some popular continuous integration tools, cloud computing, and configuration management tools.
Would you like to accelerate your software lifecycle and improve software reliability? Our experienced DevOps consultants will help you implement the concept in your organization. Contact our experts!