| devops - David Zomaya
Why DevOps Popularity Has Surged
According to Puppet's 2017 State of DevOps report (last year's focused more on five stages of DevOps evolution) organizations that are DevOps high performers:
- Deploy 46x more frequently
- Have a change lead time that is 440x faster
- Have a mean time to recover (MTTR) that is 96x faster
- Have a lower change failure rate (1/5th as likely to fail)
While stats for these high performers should be taken with a grain of salt, the potential benefits are clear. DevOps makes teams more productive and leads to better results.
Understanding the specific benefits DevOps can bring is important for IT pros looking to implement or transition to DevOps. In this piece, we'll dive into some of the specific benefits of DevOps that have helped drive its popularity.
Understanding What DevOps is
Despite its popularity, nailing down a clear and concise definition of DevOps is tough. On one hand, DevOps Engineer was the most recruited job title on LinkedIn in 2018 (pdf). On the other, IT pros will argue DevOps isn't a job title at all (looking at you, Reddit). However, even with the debate, there are some characteristics of DevOps we can all (well, most, this is the internet after all) agree on.
The name is easy enough to understand. A combo of the two domains of development "Dev" and operations "Ops" (e.g. sysadmin teams and QA) = "DevOps." Beyond that, DevOps is not a product offering or specific software suite. It is an approach to development: a philosophy that puts an emphasis on communication, speed, and customer value.
The DevOps approach aims to overcome silos that exist between development and operations teams. DevOps also automates things, a lot. The more automation, the better. The objective is the ability to deliver customer value with quality, agility, and speed.
The result is often better software and fewer bottlenecks. In a nutshell, this is why DevOps popularity has grown so rapidly: better and faster is a compelling business case. In the sections below, we'll dive into some of the specifics and explore the benefits in detail.
For a deeper dive into the fundamentals of DevOps, check out Shawn Power's Intro to DevOps webinar.
DevOps Speeds Up Time to Market
Shipping quality products quickly gives organizations a competitive advantage. DevOps enables software companies to do just that. But first, it is important to understand the "traditional" approach to development. With the traditional approach, development worked and tested code in an environment that wasn't identical to the production environment. Dev then delivered code to operations for production deployment.
Because the environments weren't identical, issues could arise. As could finger-pointing and unproductive meetings. All these issues take time to resolve. Time costs businesses money.
DevOps breaks down these silos between development and ops. It also creates an environment where deployments and testing are automated. This shortens feedback loops and reduces friction in getting a product to market. Such an approach enables teams to finish projects faster and deliver more value over time.
DevOps Helps Improve Security
Not only does DevOps stress security, but automation also helps enable it. Oversight and misconfiguration are common reasons for security breaches. By automating testing and focusing on infrastructure as code, DevOps can help reduce these problems.
It'll start at the development level where code is written and checked. It then moves on to testing and quality checks where code will be reviewed while providing feedback to development before releasing the software. From there, a build is created for release where testing will continue and problems found with security will be reported back to development for fixes and updates.
Using these DevOps practices, you will essentially increase monitoring and report changes in security requirements fast and effectively to provide updates sooner and react to newly discovered vulnerabilities.
DevOps Encourages Communication
You don't always think of soft skills like effective communication when you think of tech. However, communication is vital to product development. The traditional approach to development was conducive to silos — where dev and ops were isolated from one another. This often resulted in reduced collaboration.
DevOps encourages an agile approach to development that fosters effective communication. By sharing responsibility, teams reduce finger-pointing and incentivize collaboration and teamwork. When a problem arises, teams can swarm it, get the right people involved, and solve it quickly. Not only does this improve the work environment, but it results in better products.
DevOps Increases Customer Satisfaction
With continuous testing and constant feedback, you will be able to address any customer concerns faster. You'll be meeting demands much faster and maintaining existing software more effectively. Projects that typically take months to complete will turn around much faster. Bugs that are discovered in production releases are sorted through more effectively.
With DevOps practices, you're offering stability. By creating this stable environment, you create trust with the customer. These practices will lead to satisfied users who will continue to work with you for future projects.
DevOps Improves Monitoring Processes
The popular quote, "If you're not assessing, you're not progressing" applies to software too. DevOps places a priority on monitoring. Whether it be uptime, resource utilization or software bugs, monitoring and tracking is an important sequence in delivering quality software.
Software development is complex. Without a system for monitoring in place, the problems can sneak up on you and grow too big to handle. DevOps makes monitoring, tracking, and troubleshooting routine.
Utilizing platforms that take a DevOps approach to processes will make quick turnarounds possible. No one likes when a problem is discovered, including the developer. While end users might be the most vocal, everyone is affected when these problems surface. Better monitoring will increase response times and better help troubleshooting overall.
DevOps Tools Work Effectively
While the philosophy of DevOps is its core, quality tools are what make widespread adoption possible. The availability of enterprise-grade, robust, and scalable tools has helped make DevOps practical for businesses. We covered some of these tools in our 10 Best Tools for the DevOps Pro piece, but there is a whole ecosystem of tools available. Without these tools, implementing the ideas that drive DevOps would take significantly more work for the average team.
For example, Jira and BitBucket help enable DevOps workflows and streamline processes. Tools like Zabbix, New Relic, and PagerDuty go a long way to help enable monitoring and support a variety of integrations.
This isn't to say that a specific tool "is" DevOps, rather these tools make implementing the ideals driving DevOps easier. This, in turn, drives adoption. The specific tools are arbitrary, but the need for tools that enable automation and DevOps methodologies is clear.
If businesses don't have a pragmatic and cost-effective path to implement an approach, they won't. The large ecosystem of DevOps tools has gone a long way in driving the popularity of DevOps.
The Bottom Line
The increased transition to DevOps comes down to results. DevOps is useful if you're looking to keep customers happy by increasing quality and speed. That applies to most organizations, particularly when you consider internal users are "customers" too.
Being able to collaborate with multiple groups can be difficult. DevOps methodologies offer teams a framework to overcome these challenges. Introducing DevOps methodologies often enables businesses to overcome a lot of the friction associated with traditional approaches to application development.
With time, DevOps can also reduce costs. Tasks that took up most of your day will begin to see some level of automation. Further, software products will be of higher quality with faster fixes and less time implementing them. There is plenty of upside to DevOps.
Many have already seen the benefits of DevOps and it's fair to call DevOps mainstream at this point. Staying up to date by familiarizing yourself with the DevOps methodologies and tools will help you keep up with market demands. Being ready to provide skills employers are already looking for will help you stay ahead. Employers are looking for processes that work and as of right now, that process is DevOps.