Let's explore the essence of the methodology and who can benefit from it.
We will also discuss DevOps specialists: their tasks, salaries, and skills.
Photo / Flickr / CC BY-SA
What is DevOps
DevOps is a software development methodology aimed at facilitating collaboration between programmers and system administrators within a company. If IT specialists from different departments misunderstand each other's tasks, the release of new applications and updates can be delayed.
DevOps creates a seamless development cycle, thereby helping to accelerate the product release. This acceleration is achieved by implementing automation systems. Additionally, programmers start to get involved in server configuration and bug fixing; for example, they may write automated tests.
This fosters interaction among departments. Employees begin to better understand the stages the software product goes through before reaching the user.
When a developer understands what challenges the administrator faces during server configuration, they will try to smooth out any potential 'sharp edges' in the code. This reduces the number of bugs during application deployment—statistically, it by about five times.
Who Needs and Doesn't Need the Methodology
Many , that DevOps will benefit any organization involved in software development. This is true even if the company is merely a consumer of IT services and does not develop its own applications. In this case, adopting a DevOps culture will help focus on innovations.
An exception startups, but even here it depends on the project's scale. If your goal is to launch a minimum viable product (MVP) to test a new idea, then you can manage without DevOps. For instance, the founder of Groupon manually all the offers on the site and collected orders without using any automation tools.
Implementing methodology and automation tools makes sense only when the application begins to gain popularity. This will help streamline business processes and speed up the release of updates.
How to Implement DevOps
Next are some recommendations for transitioning to the new methodology.
Identify problems in business processes. Before implementing the methodology, outline the goals and challenges of the organization. These will determine the transition strategy to DevOps. To do this, compile a list of questions, for example:
- What takes the most time during software updates?
- Can this process be automated?
- Does the organizational structure influence this?
More details on identifying problems in the organization «" and "" by the authors of the methodology.
Change the culture in the company. It is important to convince all employees to change their habitual ways of working and expand their skill set. For example, at Facebook, all programmers for the entire application lifecycle: from coding to deployment. Also, at Facebook, there is no separate testing department — the tests are written by the developers themselves.
Start small. Choose the process that takes the most time and effort during releases, and automate it. This testing or the application deployment process. Experts first implementing distributed version control tools. They make it easier to manage source code. Among such solutions, the most well-known are Git, Mercurial, Subversion (SVN), and CVS.
You should also pay attention to continuous integration systems responsible for building and testing the final product. Examples of such tools include Jenkins, TeamCity, and Bamboo.
Evaluate improvements. Develop performance metrics for implemented solutions and create a checklist. Metrics can include release frequency, working time on software features, and the number of bugs in the code. Discuss results not only with managers but also with the rest of the team involved in the project. Ask what tools are lacking. Take these requests into account for further process optimization.
Criticism of DevOps
Although the methodology organizations make faster decisions regarding application development, the number of errors in software and encourages employees to learn new things, it also has its critics.
There is , that programmers shouldn't need to delve into the details of system administrators' work. Allegedly, DevOps leads to the emergence of individuals in the company who superficially understand everything, rather than specialists in development or administration.
It is also believed that DevOps with poor management. If developer and administrator teams lack common goals, it is the managers' fault for not facilitating interaction between the teams. To resolve this issue, a new methodology is not needed, but a system for evaluating managers based on feedback from subordinates should be implemented. Here you can read about .

Photo / Flickr / CC BY-SA
Who is a DevOps engineer
A DevOps engineer is responsible for implementing the DevOps methodology. They synchronize all stages of software product creation: from coding to testing and application release. This specialist oversees the development and administration departments and automates task execution by implementing various software tools.
The key to a DevOps engineer's role is that they combine multiple professions: admin, developer, tester, and manager.
Joe Sanchez, a DevOps evangelist from VMware, the virtualization software company, a series of skills that a DevOps engineer must possess. In addition to the obvious knowledge of the DevOps methodology, this person should have experience in administering Windows and Linux operating systems and experience with automation tools such as , , . They should also be able to write scripts and code in a couple of languages and understand networking technologies.
A DevOps engineer is responsible for automating tasks related to application configuration and deployment. They also monitor software performance. To accomplish these tasks, they apply various configuration management systems, virtualization solutions, and cloud tools for resource balancing.
Who hires
DevOps engineers can benefit any organization involved in application development or managing a large number of servers. DevOps engineers IT giants like Amazon, Adobe, and Facebook. They also work for Netflix, Walmart, and Etsy.
Only startups employ DevOps engineers. Their task is to release a minimum viable product to test a new idea. In most cases, startups can manage without DevOps.
How much do they earn
DevOps engineers the highest in the industry. The average salary for these specialists worldwide ranges from $100,000 to $125,000 per year.
In the USA, they $90,000 per year (500,000 rubles per month). In Canada, they $122,000 per year (670,000 rubles per month), while in the UK, they earn £67,500 per year (490,000 rubles per month).
As for Russia, companies in Moscow pay DevOps specialists between 100,000 and 200,000 rubles per month. In Saint Petersburg, employers are slightly more generous, offering 160,000 to 360,000 rubles per month. In regional areas, salaries range from 100,000 to 120,000 rubles per month.
How to become a DevOps specialist
DevOps is a relatively new field in IT, so there is no established list of requirements for DevOps engineers. Job postings may list a variety of skills for this position, from administration of Debian and CentOS to working with disk .
From this, we can conclude that above all, a DevOps engineer should possess a broad technical knowledge base. It is important for such a person to continuously learn new tools and technologies.
A systems administrator or developer will find it easiest to become a DevOps engineer. They already have a number of skills that simply need to be developed. The main task is to hone a minimal set of knowledge in DevOps, understand how to work with automation tools, and fill gaps in administration, programming, and virtualization skills.
To understand where knowledge may be lacking, one can use or . Residents of Hacker News can also read the books “" and "” (which we mentioned earlier) and “” published by O’Reilly Media.
You can also subscribe to , read articles on the thematic , and start interacting with DevOps engineers in . It’s also worth studying free courses on or .
Posts from our blog:
Source: habr.com
