DevOps: Ending Old Conflicts
For some time now the development and operations teams within IT have worked at seeming cross-purposes from one another, in an arrangement that theoretically makes them "natural enemies," according to Josh Corman, director of security intelligence for Akamai Technologies and former 451 Research analyst.
"Developers are incented to cause changes, to ship features," he said. "Ops people are incented to maintain stability, which often means the opposite of allowing changes."
But this age-old conflict simply can't fly in today's Web app-centric business models, which require faster development speeds, greater stability in production and, consequently, more integration between these teams.
"As we have seen new demands, new levels of complexity and new timeframes that are shortening every day, we are accelerating this need to make this relationship truly collaborative," said Glenn O'Donnell, analyst for Forrester. "It's really not us and them. It's all us."
This is the idea that drives the DevOps movement.
DevOps Directive #1: Cooperation And Communication
According to Patrick Debois, who many call the father of the DevOps movement, shops working under this new paradigm must think about four key areas to create an effective feedback loop and more tightly knit together team member work.
1. Extend delivery to production: Improving collaboration to improve how a project is sent from development and into production.
2. Extend operations feedback to project: Ensuring communication makes it easy for information from production to be sent back to developers to inform how they make future changes.
3. Embed the project team (developers) into operations work: Developers can't just lob their code over the wall to ops -- they take co-ownership of things that happen in production.
4. Embed production team (operations) into development work: Operations staff should be working with developers from the beginning of development work, not once it's over.
"In each of these areas there will be a bi-directional interaction between dev and ops, resulting in knowledge exchange and feedback," Debois wrote.
DevOps ≠ Agile Development, But It Does Enable It
DevOps is a rational response to an extension of agile development practices, which call for more frequent, bite-size rollouts of code, but which naturally call for operations staff to be on board with this philosophical shift lest chaos ensue.
"When code is not promoted into production as it is developed--development delivers code every two weeks, but is deployed only every two months--deployments will pile up in front of IT operations. Customers don't get value, and the deployments often result in chaos and disruption," said Gene Kim, author of "The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win."
Day-To-Day Improvements Through DevOps
According to a recent survey of approximately 620 enterprise engineers conducted by RebelLabs, traditional IT ops teams require 41% more time for communication and 26% more time for firefighting than DevOps oriented teams, and spend less time on task automation and infrastructure improvements.
Speed And Quality Get A Boost
Among 4,000 IT operations professionals surveyed by Puppet Labs and IT Revolution Press, 63 percent have implemented DevOps practices, a jump of about 26 percent since 2011. Those who have implemented some form of DevOps report seeing market benefits that include better quality deployments and more speedy software releases.
Amazon's Amazing Results
Amazon has gone on record stating that it's doing over 1,000 deploys a day, sustaining a change success rate of 99.999% using DevOps principles. It is one of many high-profile success stories. For instance, the CTO at the International Securities Exchange has credited DevOps with reducing the organization's software deployment cycle from days to minutes. And etailer Etsy reports that it deployed 6,419 times in 2012 using DevOps.
DevOps Helps Increase Deploy Frequency
The Puppet Labs study found four major metrics where the shift to DevOps impacts the delivery of new code. First and foremost is deployment frequency: High-performing DevOps organizations deploy code 30 times more frequently than traditional shops. DevOps shops also need less lead time to make code changes, with nearly a quarter of these organizations requiring less than an hour of lead time. This leads to faster deployments, with high-performing shops deploying 8000 times faster than their peers.
DevOps Improves Change Failure Rates
High-performing organizations also have double the change success rate of their peers. The wide majority of organizations that had implemented DevOps for longer than a year reported less than a 10 percent change failure rate, the Puppet Labs survey showed.