In the simplest terms, DevOps (development and operations) is a software development phrase used to describe a type of agile relationship between Development and IT Operations. The goal of DevOps is to improve communication, collaboration, and processes between the various roles in the software development cycle in order to improve and speed up software delivery.
DevOps evolved in the software development and IT operations world around 2009, and during that time, agile was fairly well established in the movement away from waterfall development to continuous, iterative development cycles. The DevOps movement emphasizes integration between software developers and IT operations: Rather than seeing these two groups as silos who pass things along but don’t really work together, DevOps recognizes the interdependence of software development and IT operations, and this approach helps an organization produce software and IT services more rapidly, with frequent iterations.
What Are the Measurable Benefits of DevOps?
DevOps aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably, and in a DevOps environment, cross functionality, shared responsibilities, and trust are promoted. One tangible benefit of DevOps is an observed decrease in development and operations cost. Other measurable benefits of DevOps include:
- Shorter Development Cycle
- Increased Release Velocity
- Improved Defect Detection
- Reduced Deployment Failures and Rollbacks
- Reduced Time to Recover upon Failure
Who Is Utilizing DevOps?
According to a recent article published on CIO.com by Clint Boulton, Capital One is accelerating its move to DevOps. Why? Rob Alexander, who has been leading Capital One’s IT department as its CIO since 2007, says agile was the precursor to Capital One’s DevOps technology operating model, which it calls “Engineering Excellence.” DevOps takes the agile ethos of building software rapidly but winnows the production funnel.
Previously, Capital One developers built software and turned it over to product management teams, which would test it for quality and iron out the bugs before pushing it into production. Now the product teams continuously build, test and deploy their software, using containers and microservices. They push and run the apps in Amazon Web Services’ public cloud, a move Alexander says helped his IT team focus on their core competencies of building digital products.
Beyond Capital One, here are some other companies, that according to TechBeacon, exemplify the possibilities of DevOps:
Inside Target, several groups have been evangelizing DevOps for years. According to technical architect Dan Cundiff, what "started out in small corners of development and infrastructure teams has since caught on like wildfire." These days DevOps not only powers the development of projects like Cartwheel, Target's mobile savings app, but also has transformed the organization's culture. Target now hosts DevOpsDays for its internal teams, featuring demos, open labs, lightning talks, breakout sessions, and guest keynotes.
Nordstrom's development model still included a waterfall delivery method, big batch releases, and lots of shared services when it undertook rewriting its in-store clienteling application. When it finally launched the program two and a half years later in 2011, it was already irrelevant. "It was a big wake up call for us as an organization that we had to figure out a way to deliver in this new context," says Courtney Kissler, vice president of e-commerce and store technologies.
Nordstrom's customer mobile app team was the groundbreaker for its DevOps makeover. After surfacing the reasons behind mobile's 22- to 28-week lead time, the team broke down the divide between dev and product support and organized squads around value. The company also migrated to continuous planning and moved to a single backlog of work. As a result, bugs went down, throughput went up, and releases went from twice per year to monthly. More importantly, Nordstrom realized these methods could work for any team, and it's continuing to apply them across the organization.
For its first several years, Etsy struggled with slow, painful site updates that frequently caused the site to go down. In addition to frustrating visitors, any downtime impacted sales for Etsy's millions of users who sold goods through the online marketplace and risked driving them to a competitor. With the help of a new technical management team, Etsy transitioned from its waterfall model, which produced four-hour full-site deployments twice weekly, to a more agile approach.
Today, it has a fully automated deployment pipeline, and its continuous delivery practices have reportedly resulted in more than 50 deployments a day with fewer disruptions. And though Etsy has no DevOps group per se, its commitment to collaboration across teams has made the company a model of the DevOps framework.
Adobe's DevOps transformation began five years ago when the company moved from packaged software to a cloud services model and was suddenly faced with making a continuous series of small software updates rather than big, semi-annual releases.
To maintain the required pace, Adobe uses CloudMunch's end-to-end DevOps platform to automate and manage its deployments. Because it integrates with a variety of software, developers can continue to use their preferred tools, and its multi-project view allows them to see how a change to any one Adobe product affects the others.
Like many enterprises, Fidelity International had several business units developing software applications and was burdened with legacy release processes that placed huge demands on its teams. Apps were deployed manually across hundreds of servers, with each app requiring customization. Manually introduced errors frequently broke the process.
When it came time to develop a critical trading application with a firm launch date, the organization knew its error-prone manual process would jeopardize the project. Fidelity used the opportunity to embrace a DevOps approach and implement an automated software release framework that would enable it to meet the rollout schedule.
That solution resulted in more than $2.3 million per year in cost avoidance for that app alone. Since then, the Fidelity team has automated the release of dozens of applications, reducing release times from two to three days to one to two hours and decreasing test-team downtime. The process has also made it easier to display regulatory compliance and has enabled predictable release schedules that stakeholders can rely on.
DevOps found initial traction within many large public cloud service providers. With modern applications running in the cloud, much of what used to be considered infrastructure is now part of the code. Classic big WebOps shops like Google, Amazon, Twitter, and Etsy are known to do deployments multiple times a day. In order to deploy that often, you have to know you’re not going to break what’s already working. DevOps helps ensure frequent deploys with a low failure rate.
DevOps practices and procedures lead to smoothing out the typically bumpiest aspects of software development and deployment. By pulling infrastructure setup and awareness earlier in the development cycle, surprises from environmental differences are significantly reduced. By establishing consistent, reliable and repeatable automated deployments, human error is reduced.
Click here if you would like to learn about our available DevOps Foundation Training course. Also, if you found this article interesting, helpful or useful, please use the 'Social Share' buttons below and spread the word across your networks.