📜 ⬆️ ⬇️

On the role of DevOps in IT - expert opinions


Image site tricentis.com

Existing realities literally require the development of software to further reduce the time to complete a project: from the emergence of an idea to the release of a finished product. With enviable periodicity, customers are asked to implement the project “yesterday” so that it is not copied “today” by someone else. And, of course, the budget for doing the impossible, as always, is limited.

There is nothing left for developers to do again and again to work on the optimization of the technical process, to experiment, to try new methodologies. In particularly "neglected" cases, temporary reserves are searched literally in every department, and not only force developers to print faster.
')
It turns out that testers, managers, analysts, and the implementation department can work faster. All that remains is to figure out how to achieve this.

They come to the aid of methodologies of agile and rapid, and sometimes extreme, development. It really allows to partially solve this problem.


Image site quora.com

The Agile model provides for a fruitful interaction between the development and testing departments, carried out in accordance with common goals, general rules and general performance criteria.
Agile became public in 2001.
Agile development boils down to a series of short cycles called iterations, which usually last two to three weeks. Each iteration in itself looks like a software project in miniature and includes all the tasks necessary for issuing a mini-gain in functionality: planning, requirements analysis, design, programming, testing and documentation. At the end of each iteration, the team reevaluates the development priorities.

It is understood that the “flexible” software project is ready for release at the end of each iteration. However, in practice this happens far from always and not as quickly as clients want now.

In addition, development is slowed down due to the fact that various departments involved in software development do not have common tools and there is no opportunity to share the knowledge gained.

Each division performs its own tasks and uses different criteria for evaluating the effectiveness of its work. For developers, this is the speed of writing and the number of functions implemented in the program code, for testers, the number of errors found, for the operations department, the stability of the systems and the minimum number of incidents. Such a model of work often leads to a conflict of interest: the first try to write the code as soon as possible and send it for review, the second is ready to check and test for as long as possible to identify all the bugs, and the third hardly accepts the code because any changes entail potential risks for the entire IT infrastructure.

It also turned out that the operations department is another weak link that remains “beyond the framework” of the Agile model.



In 2009, the creators of DevOps instilled hope in the general public for a bright future.

This is how the noble goals of DevOps are formulated:
DevOps (development and operations) is a software development methodology aimed at active interaction and integration of development specialists and information technology service specialists. It is based on the idea of ​​the close interdependence of software development and operation, and aims to help organizations quickly create and update software products and services.

It is worth noting that Agile is not a prerequisite for implementing DevOps.

Clyde Logue, founder of StreamStep, says it this way: “Agile played an important role in developing to restore business confidence, but he accidentally left IT Operations behind. DevOps is a way to restore trust in the entire IT organization. ”

DevOps Cookbook and The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win describe the underlying principles by which all DevOps patterns can be obtained using the Three Ways approach:
The First Path emphasizes the performance of the entire system as a whole, in contrast to the performance of an individual unit or department.

The focus is on all value creation business flows that are included in IT.

The second Way is to create a feedback loop going from right to left. The goal of almost any initiative to improve the process is to reduce and strengthen the feedback so that the necessary amendments can be implemented continuously.

The third way is to create a culture that affects two things: constant experimentation, which requires taking risks and learning from success and failure, and understanding that repetition and practice are a prerequisite for mastery.

According to many customers, the value of the described approach is that it allows you to get a complete picture of the development model - with the participation of absolutely all stakeholders, with clearly defined processes and integration mechanisms.

We asked the experts to answer a few questions in order to find out how things are going with DevOps in the Russian-speaking world.



Evgeny Ogloblin, DevOps company of the largest Russian troika:

1. Which companies are suitable for DevOps?

It seems to me that sufficiently any. Large - because it will speed up the development, testing and release of products, small - because everyone will be involved in the process, there will be some kind of employee interchangeability.

2. How deep is the understanding of DevOps in the Russian-speaking community?

We still have a lot of “classic admins” who aren't interested in the product at all. They have FreeBSD 8 or CentOS 5, everything works and does not ask for food. So, you don’t need to invent anything.

Plus, the associated DevOps automation involves a lot of work, often with new technologies, sometimes not known to people at all.

To explain clearly what DevOps is, in my opinion, no one has yet been able to - in any company there are subtleties, legacies and the like. In general, everyone agrees that it is automation, standardization and more active participation of the operations department in development, but these “all” are not so many, if we take it as a percentage of the total number of IT people.

3. What are the advantages of DevOps?

In case of successful implementation of DevOps, companies can in the future rely on:


4. What are the disadvantages of DevOps?

Need a lot of work.

We must not forget about the still-current best practices of previous generations - this is easy to do in the sea of ​​new technologies.

DevOps for various reasons may not be suitable for the team trying to implement the subject.

DevOps is not a silver bullet (which is a pity).

5. How widespread is DevOps in the CIS / Russia?

In the companies-leaders of the IT-market - has spread widely. Although, as usual, there are exceptions. But living companies increasingly understand the need for modern methodologies.


Evgeny Potapov, ITSumma CEO:

1 Which companies are suitable for DevOps?

There are several meanings of the term, several layers of understanding what DevOps is.

If we are talking about a culture of interaction between development and operation, where programmers understand how systems work, and have system administration skills, and administrators understand the principles of development, then this is certainly necessary for any company, since such tight contact ensures the simplicity of interaction and the speed of solving problems often lie on the border of these areas.

If we are talking about a set of specific practices related to virtualization, containerization, automation of infrastructure management, then the most important thing is that the company (and most importantly the project itself) should reach a size where the overhead of organizing these practices will be lower than overhead for managing infrastructure without them.

2 How deep is the understanding of DevOps in the Russian-speaking community?

In our 21st century, the differences between communities of different countries are not as strong as you might think. Yes, we are somewhat lagging behind in terms of the beginning of the application of new technologies compared to, first of all, the companies of the Valley, but this is a question of months, not years.

3 What are the benefits of DevOps?

Simplifying communication between specialists leads to faster interaction.

The classic problem disappears, where programmers blame the servers for everything, and administrators respond that code creates problems.

Accelerated as the creation of new functionality, and the solution of old problems.

Automation allows you to get rid of the eternal routine and chaos in IT projects.

4 What are the disadvantages of DevOps?

The main problem that we see now is connected not so much with the DevOps methodology itself, as with increased attention and excitement around any new technology or practice, when they are applied not out of necessity, but because of interest in the technology itself.

Often, the overhead of introducing and supporting automation practices is such that they do not even accelerate, but slow down the processes within the company.

Yes - to be able to frequently update the project code is really important, but how often does a small project need to be able to post the code daily, dozens of times a day?

At the same time, the human and monetary costs of maintaining this opportunity are quite large.

5 How widely has DevOps spread in the CIS / Russia?

There are developed communities of DevOps-experts, pass mitaps, excellent books are published:



The authors of the book DevOps Cookbook and The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win highlight the following business benefits of DevOps:



PS
Perhaps the next step in team development optimization will be the introduction of telepathic communication between employees from all departments and even with customers.

Source: https://habr.com/ru/post/306260/


All Articles