DevOps is the buzzword in the software development industry. But how much of the hype associated with this new technology is warranted? This article demystifies DevOps and explains to the reader why it scores over traditional IT practices.
DevOps is a set of practices that promotes partnership between the development and operations teams to deploy code to production faster in an atomically and continuous manner. The word ‘DevOps’ is a combination of the words ‘development’ and ‘operations’.
DevOps helps to increase an organisation’s speed to provide applications and services. It allows companies to serve their customers better and compete more powerfully in the market. In simple words, DevOps can be interpreted as an arrangement of development and IT operations with better communication and collaboration.
Why it is needed
- Before DevOps, the development and operations teams worked in a completely segregated way. Testing and deployment were different activities done separately after design-build. Hence, they required more time.
- Using traditional IT practices, team members spent large amounts of their time in testing, deploying and designing, instead of building the project.
- Manually deploying the code leads to human errors in production.
- Different teams have different timelines. This leads to problems of synchronising timelines, causing more delays in deployment.
Comparing DevOps and traditional IT
When comparing traditional IT ops with DevOps, it’s clear how they differ and why the latter is increasingly embraced by organisations worldwide. Given below are some points of comparison.
DevOps teams spend 33 per cent more time to refine infrastructure against failure than traditional IT ops teams. In addition, DevOps teams spend about 21 per cent less time putting out fires on a weekly basis and 37 per cent less time handling support cases. DevOps teams also waste less time on administrative support due to a higher level of automation, self-service tools and scripts for support tasks. With all of this additional time, DevOps teams are able to spend 33 per cent more time to ameliorate infrastructure and 15 per cent more time on self-enhancement through further education and training.
2. Data and speed
DevOps teams tend to be small, agile, driven by innovation and focused on addressing tasks in an accelerated manner. According to a Gartner report, they work on the mantra, “Don’t fail fast in production; embed monitoring earlier in your DevOps cycle.” Agility is one of the top five objectives of DevOps. In the case of traditional IT ops, the data count for the feedback loop is confined to the service or application being worked upon. If there’s a downstream effect that is not known or noticed, it can’t be addressed. It’s up to IT ops to pick up the pieces. That is the reason why DevOps is faster in delivering business applications and the challenge to IT ops is to keep pace with the speed of business.
3. Recovery and crunch time
The average DevOps teams see only two app failures per month, and the recovery time is less than 30 minutes for over 50 per cent of all respondents. Of the DevOps teams surveyed, 71 per cent can recover from failures in less than 60 minutes while 40 per cent of traditional IT ops teams need over an hour to recover. A key practice of DevOps is to be prepared for the possibility of failures. Continuous testing, alerts, monitoring and feedback loops are put in place so that DevOps teams can react quickly and effectively. Traditional IT ops teams are almost twice as likely to require more than 60 minutes to recover, while recoveries in less than 30 minutes are 33 per cent more likely for DevOps teams. Automated deployments and an infrastructure that’s programmable are the key features for quick recovery.
4. Release of software
When it comes to releasing software, DevOps teams need roughly 36.6 minutes to release an application whereas traditional IT ops teams need about 85.1 minutes. This means that DevOps teams release apps more than twice as fast as traditional IT ops teams.
Why DevOps is better
There are many advantages of using DevOps rather than traditional IT.
- Reduced chances of product failure: Software delivered by DevOps teams is usually more fit-for-purpose and relevant to the market thanks to the constant feedback loop.
- Improved flexibility and support: Applications developed by DevOps teams are typically more expansive and easy to maintain due to the use of microservices and cloud technologies (we’ll get to that later).
- Faster time to market: Application deployment becomes quick and dependable thanks to the advanced continuous integration (CI) and automation tools DevOps teams usually count on.
- Better team efficiency: DevOps means joint responsibility, which leads to better team engagement and productivity.
- Clear product vision within the team: Product knowledge is no longer spread across different roles and departments, which means better process transparency and decision making.
The DevOps culture comes with a variety of rewards, some of which include greater efficiency, security and organisational collaboration. The 2017 State of DevOps Report quantifies this increase in efficiency, reporting that high performing organisations employing DevOps practices spend 21 per cent less time on unplanned work and rework, and 44 per cent more time on new work. More generally speaking, however, successfully implementing DevOps practices can have a profound impact on a company through improving efficiency and execution in areas that are both essential and decidedly unglamorous.
Fredrik Håård, an engineer with over 12 years of DevOps experience who worked as a senior cloud architect at McKinsey and at Wondersign, articulates this point more fully, “Good DevOps engineers must be champions – and take responsibility for all the areas that might not be prioritised by the organisation such as data security, disaster recovery, mitigation, and audits.” He adds, “The choices you make in DevOps can have long-lasting effects at a company.”
So the conclusion is, DevOps teams get more time and solve problems faster. They spend more time in ameliorating things, less time fixing things, recover from failures faster and release applications more than twice as fast as traditional IT ops. Through DevOps, all members of different teams work together because they have the same goal, which is to deliver quality software to the market.