Why do sysadmins, developers and testers need to learn DevOps practices?

Why do sysadmins, developers and testers need to learn DevOps practices?

Where to go with this knowledge, what to do in the project and how much to earn, what to say and ask at the interview - says Alexander Titov, Express 42 Managing Partner and author online course "DevOps practices and tools".

Hello! Although the term DevOps has existed since 2009, there is still no consensus in the Russian community. Surely, you have noticed that some consider DevOps a specialty, others a philosophy, and others consider a set of technologies under the term. I have spoken many times with lectures about the development of this direction, so I will not go into details in this article. Let me just say that we at Express 42 put the following into it:

DevOps is a specific technique, a culture of creating a digital product, when all specialists in the team participate in production.

In classic corporate development, everything goes sequentially: programming, testing, and only then operation, and the speed of such a process from idea to production is 3 months. For digital products, this is a global problem, because it is impossible to quickly receive feedback from customers.

In DevOps, tools and approaches are sharpened to ensure that development, testing, and production processes run simultaneously.

What follows from this approach?

  • You can’t hire some β€œengineer” who will come and solve all the problems with production. The entire team must apply the methodology.

    Why do sysadmins, developers and testers need to learn DevOps practices?

  • DevOps is NOT the next form of sysadmin to upgrade to. "DevOps engineer" sounds about the same as "Agile developer".

    Why do sysadmins, developers and testers need to learn DevOps practices?

  • If a team uses Kubernetes, Ansible, Prometheus, Mesosphere and Docker, this does not mean that DevOps practices are implemented there.

    Why do sysadmins, developers and testers need to learn DevOps practices?

Life after DevOps will never be the same

The DevOps approach is, first of all, a different way of thinking, a perception of development in general and one's place in the process. We divided our online course into 2 blocks:

1. Self-determination

First, we analyze in detail the essence of the DevOps approach, and students discover new roles in the team, see which one responds more and determine for themselves which way to develop.

2. Tools and practices

Students master specific technologies from the point of view of the DevOps method.

DevOps tools can be used in both DevOps and classic development. The most notable example would be using the Ansible configuration management tool. It was created and conceived to implement the DevOps practice "Infrastructure as code", which means that different system states are described from operating system settings to application software. The description is divided into layers and allows you to manage a complex constantly changing configuration. But often engineers use Ansible as a way to run bash scripts on multiple machines. This is neither bad nor good, but you need to understand that the presence of Ansible does not guarantee the presence of DevOps in the company.

We have in the course of course you will dive into the process of developing an application similar to the famous Reddit, starting with its monolithic version, step by step moving to microservices. Step by step we will master new tools: Git, Ansible, Gitlab and finish Kubernetes and Prometheus.

In terms of practices, we will follow the tactics of the three paths described in the DevOps Handbook - continuous delivery practices, feedback practices, and the essence of the entire course of practicing continuous learning with your system.

What does this knowledge give to each of the specialists?

sysadmins

Practices will make it possible to move away from administration towards the creation of a continuous delivery pipeline and an infrastructural software delivery platform. The point is that he creates a product - an infrastructure platform for developers that helps them quickly push their changes to production.

Previously, sysadmins were the last bastion after which everything goes into production. And basically they were engaged in continuous firefighting - in the light of which it is quite difficult to delve into the needs of the business, think about the product and the benefits for the user.
Thanks to the DevOps method, thinking changes. The system administrator understands how to translate the configuration into code, what practices exist for this.

This is important because companies are increasingly realizing that they don't just need to automate everything and everything; in what, in fact, system administrators of the old school are used to doing, who, plus, communicated little and did not inform the team about all the changes made. Now the teams are looking for those who will become the manufacturer of the internal infrastructure product and help combine the separated processes into one.

For developers

The developer stops thinking only in algorithms. He acquires the skill of working with infrastructure, the skill of architectural awareness of the landscape. Such a developer understands how the application works, how it goes through the continuous delivery pipeline, how to monitor it, how to pledge it so that it benefits the client. As a result, all this knowledge allows you to write relevant code.

Testers

Testing has been switching to automatic mode for a long time, we all say that many tests should not be done, but written πŸ™‚ Testing becomes part of the entire pipeline for delivering your product. The tester needs not only to learn how to write code, but also to understand how to integrate it into continuous delivery systems, how to get feedback from the code at all stages of delivery, how to constantly improve testing in order to detect errors as early as possible.

It turns out that all three steps happen at the same time. For example, it might look like this:

The developer writes the code, immediately writes tests for it, and describes the docker container for the code that should run. It also immediately describes monitoring that will monitor the operation of this service in production, and commit all this.

When continuous integration is started, the processes run simultaneously. The service starts, is configured. In parallel, the docker container starts, it is checked that it works. At the same time, all information goes to the logging system. And so at each stage of development - it turns out a real teamwork of system administrators, developers and testers.

Studied DevOps, what's next?

As you know, one in the field is not a warrior. If your company does not use this method, the acquired skills will lie idle. And after getting acquainted with DevOps approaches, you probably don’t want to be a cog in corporate development. There can be one exception: you are a system administrator on the team and you can rebuild all processes in a new way. It is worth adding here that there are a lot of companies that use this approach, and they are not affected by the lockdown and are looking for specialists. Because DevOps is about creating online products.

And now about the pleasant: owning DevOps practices and tools is about + 30% to your value in the labor market. Salaries start from 140 thousand rubles, but are determined, of course, by your main specialty and functionality.

You can look at vacancies marked β€œwith a focus on infrastructure”, where there is test automation, development of microservice applications using cloud technologies, vacancies for infrastructure engineers and all sorts of mentions of DevOps. Just remember that each company means something different by this definition - read the description carefully.

During the launch of our course, an insight came to me - a lot of people after the course fall into the trap of a DevOps engineer. They find a job with the above title, get a good offer, and then come to work and realize that they have to maintain a three-page bash script in Jenkins. And where are Kubernetes, ChatOps, canary releases and all that? But there is nothing, because the company does not need DevOps as a methodology, but separate innovations are used.

This is an occasion to intensively find out from the company how the software delivery process works, the technology stack, and what duties you will perform.

If the employer answers your questions abstractly, like a book, without details, then most likely there is no DevOps process in the company yet, but this is not a reason to refuse, study the company and its products, are there any online services that the company develops itself, mobile applications , product ideas.

If so, please specify whether you will have to work directly with these systems or whether there is a possibility of moving horizontally to the teams of these services while demonstrating good results in DevOps practices. If so, then it is worth going and being active and helpful, and if you complete our course, then the latter is guaranteed.

It is important to note that Devops practices only gain true value when they have experience in development/administration/testing. Only then the knowledge will not be abstract, but will enrich the specialist (in every sense). Therefore, the idea of β€‹β€‹β€œlearning devops from scratch” is about the same as learning to β€œuse lenses from scratch” if you have never held a camera in your hands or directed a shoot. To help you decide if the course is right for you, we have made an entrance test that will check the sufficient level of knowledge.

I think one of the features of course - the fact that during the training, each student determines for himself in which direction he wants to develop. We often see transitions when a developer becomes an infrastructure engineer, and the administrator realizes that he is interested in writing code - then he additionally learns the language and supplements it with the acquired DevOps skills. Therefore, we especially look forward to those who feel that their career is stuck at a crossroads. The course starts on May 28, but you can join 2 weeks after the start of classes. View the program and take the test here to register:. See you at OTUS!

Source: habr.com

Add a comment