What is DevOps? – everything you need to know

Article

What is DevOps and why has this much-discussed methodology become such a hot topic in recent years? This article explains everything you need to know.

What is DevOps and why has this much-discussed methodology become such a hot topic in recent years? This article explains everything you need to know.

DevOps is a concept circulating in most organisations that carry out some form of development, and it’s unlikely to have escaped your notice if you work in IT. But what is DevOps all about and what sort of benefits does it offer for an organisation?

What is DevOps?

DevOps is a method and a methodology that combines people, processes, and automation to provide ongoing value within an organisation. As the concept name suggests, it involves combining Dev (development) and Ops (operations), and in practice, it means the coordination of previously siloed roles, such as development, IT, and security. Development teams and operating teams work as integrated teams, towards common goals, in order to deliver the optimum possible value and results. This way of working ensuring a focus on value for the end user throughout the development lifecycle and helps organisations produce better and more reliable products. Working with shorter iterations, testing continuously, receiving feedback and insights at an early stage in the development lifecycle, and optimising the solutions in line with the end user’s needs, enables DevOps to boost the development work to new heights. The goal is to achieve a learning organisation that strives to ensure continuous improvement.

What does DevOps mean in practice?

The whole point of DevOps is to work in smaller cycles where developers receive continuous feedback on what they are creating – feedback on whether it works and whether it meets the client’s or end user’s needs. Traditionally, developers have worked with a requirement specification that describes what they are tasked with developing and have then had to come up with solutions that live up to these requirements and then code them. After which they send the code to testing, which tested the solution against the requirement list. And only then did the solution go into production.

“The focus of this work process was not on value for the end user, but on whether the solution was a good fit with the requirement specification,” says Knut Johannes Dahle, CTO at Aztek group within Iver.

Photo: Knut Johannes Dahle, CTO at Aztek group within Iver.

If the solution proved to be difficult to operate during the production stage (maybe larger amounts of data were being processed than the developers had optimised for, resulting in the solution consuming vast amounts of memory, for example), it was up to operations and management to solve the problem, and to build on top of the solution that wasn’t optimally designed from the start. With DevOps, this kind of feedback is received earlier in the development process, giving the developers the chance to learn continuously from their mistakes – “Oops! We’re processing large amounts of data, so this solution will be sluggish when it operates. We need to design it differently.” Development, testing, and operation become agile, and the organisation gains additional insights and the ability to optimise and create real value.

How does it work?

While the implementation of DevOps methods entails optimising and automating processes through technology, it’s primarily the people and the culture within the organisation that are critical to the methodology’s success. Continuous integration and distribution (CI/CD) of finished code demands a new approach to collaboration and organisation. A survey conducted by GitLab found that developers release code 82% more quickly in a DevOps culture than in traditionally structured development organisations, and that 70% of these 82% also provision and manage their own infrastructure.

But why are rapid iterations and the rapid integration and distribution of finished code important? Knut Johannes Dahle explains:

“When a developer has written code that hasn’t yet been put into use, all the organisation has is a load of stored code that needs to be managed. It’s not until the code goes into production that the organisation gains any value from the solution. And the longer the waiting times, and the more code that hasn’t gone into production yet, the more costly it becomes. Plus, code that isn’t in use yet and is simply on hold will also quickly become outdated (the solution ages) and the production hours are wasted. Working in shorter iterations allows developers to obtain feedback more quickly and to make changes much more cheaply. Feedback that’s received later means a more expensive process because the developer then must get to grips with the solution all over again (switch between tasks), rather than being able to make changes while the solution is still fresh in their memory. And changing a solution at an early stage, rather than a later one, also means reduced complexity.”

What are the advantages of DevOps?

A DevOps culture creates the preconditions that allows an organisation to be in a permanent state of learning, which enables optimisation and further development – and hence a higher degree of innovation. Organisations that have introduced DevOps cultures, methods, and tools gain high performance teams that create better products more quickly – and at a lower cost and with increased customer satisfaction. DevOps also helps achieve the following commercial goals:

  • Shorter time-to-market
  • Customisation by market and competition
  • Retained system stability and reliability
  • Better average recovery time

What should you bear in mind when implementing DevOps in your organisation?

There tends, generally speaking, to be an excessive focus on automation in connection with DevOps, but simply starting by automating processes does not create a DevOps culture. And whilst you might think that you need to take big strides right from the start and implement a new technical platform immediately in order to get started with DevOps, Knut Johannes Dahle disagrees, saying that the most important thing is to start by creating the preconditions for learning in your organisation.

“You need to ask yourself questions like, “What have we done so far?”, “What aspects of that were smart?”, and “What should we do more of in the future?” Because putting yourself in a continuous learning position is fundamental to succeeding with DevOps. It’s only once you’ve done that that it becomes clear what improvements you need to make in order to optimise your organisation and your provision packages.

 

Interested in expert DevOps help? Accelerate at Iver has consultants with cutting edge expertise who can help you with everything from advice and training to implementation.

Find out more about Accelerate at Iver.