DevOps methodology: what is it and why should you care?

Vittorio Scacchetti
4 min readJan 25, 2021

You’ve probably heard of the DevOps method in recent times, or you’ve read this word in some magazine or blog dedicated to the IT world. With this article I will try to briefly illustrate the DevOps method: what is it and why is this new methodology so important and innovative for your business?

DevOps is born from the meeting between development and operations. This new method, in summary, pushes collaboration, communication and integration of work between software developers and systems engineers, providing the organization with the ability to develop applications and services with maximum agility and at a much higher speed. The increased agility allows companies to offer better services to customers and be more competitive in the market. If both processes, those of development and maintenance of the systems on which the applications are installed, begin to be managed together, performance improves, and a lot. DevOps, therefore, is not just a simple methodology, but rather an indispensable, more transversal and collaborative approach to software development: it allows, in fact, the evolution and improvement of products at a faster pace than companies that use traditional processes. software development and infrastructure management.

To ensure that development and production teams no longer act separately, an evolution of the corporate mentality and culture is required. In some organizations the two groups may even be merged into a single unit.

Organizations adopting a DevOps model, regardless of their organizational structure, have teams that have among their responsibilities control the entire development and infrastructure lifecycle. Teams rely on automation to speed up traditionally manual, slow and error-prone processes. The technologies and tools used help teams run and evolve applications quickly and reliably.

Why is the DevOps method important?

Software and the Internet are the two factors that have radically changed the world and its economy, from the way of shopping to entertainment and banking. Software is no longer just business support; it has become an integral component of any organization.

Businesses interact with their customers through software products, in the form of online applications or services that can be used on many different devices. They employ other software products to improve operational efficiency by transforming any link in the value chain, such as in logistics, communications and manufacturing. Therefore, today, companies must transform the way they create and distribute their software, as industries that create material goods have transformed over the course of the 20th century the way they designed, created and distributed their products through industrial automation.

Before the birth of the DevOps methodology, software developers (dev) and systems engineers (ops) were separated, even physically. Between the two teams there was no direct communication, the work was divided into silos and the two halves communicated exclusively through tickets (normally sent by devs to ops).

When starting a new software project, the situation was more or less this: a team made up of developers only, without any ops, was created. When, for example, the customer presented specific needs typically dealt with by systems engineers, there were two possible cases: the devs could send a ticket to the ops or “bounce” the problem directly to the latter, who, however, were unaware of the situation and the normal needs of the customer in question (as opposed to the developers who, on the other hand, knew the business sector well).

With DevOps, the way of working changes: the method, in fact, requires two joint teams, dev + ops, to be formed from the start of the project. When the project manager kicks off the project, he sets up a dev team that includes at least one systems engineer, who has the task of managing the infrastructure on the customer’s side (that is, supporting the devs in managing the customers’ systems engineers ) and internal side. Through this synergy, there is no longer a ticket-based system, but an agile system based on communication. By promoting communication, the risk of errors is minimized and above all the risk of trivial and easily avoidable errors emerging. We therefore pass from a management of reaction to tickets, to a management of participation.

The benefits of the DevOps approach

  • Speed: More agile processes to speed up innovation, improve adaptation to changes dictated by the market and increase efficiency;
  • Automation: Increases efficiency, thanks to the possibility of automating a series of repetitive processes, and improves the quality of the programs thanks to the use of software capable of performing automatic tests;
  • Rapid deployment: Increase the frequency of new releases to facilitate product innovation and improvement. The faster release of new features and bug fixes will increase your competitive advantage. In addition, continuous integration and distribution automate software release procedures, from build to distribution;
  • Reliability: Make sure app updates and infrastructure changes are always up to quality standards to ensure reliability and productivity. With continuous integration and distribution you can verify the safety of any changes. With monitoring and logging you can keep performance under control in real time;
  • Scalability: Manage infrastructure and development processes at any scale. Automation and consistency make it possible to manage complex and subject to change systems efficiently and containing risks. For example, using infrastructure as code allows you to manage development, testing, and production environments in an iterable and more efficient way;
  • Improved Collaboration: Build more effective teams with the DevOps model, which places great emphasis on values such as ownership and responsibility. Development and production teams will be able to collaborate, share responsibilities and integrate their workflows, reducing the causes of inefficiency and improving lead times;
  • Security: Increased speed doesn’t mean less control over compliance. You can adopt a DevOps model without compromising on security thanks to automated compliance policies, granular controls, and configuration management techniques.

The DevOps approach is the demonstration that only through collaboration and communication within teams is it possible to keep up with innovation. In the case of application release, DevOps can use containers to automate processes and speed up activities even more.

--

--