The DevOps movement continues to gain traction among large US enterprises, including Adobe, Amazon, Target, and Walmart.
As TechRepublic’s James Sanders explains, DevOps–a combination of Development and Operations–is essentially a workflow “centered around integration and communication between software developers and IT professionals who manage production operations.” The idea grew out of the Agile methodology, and first gained attention at a conference in 2009.
Many IT departments are siloed between development, operations, support, and management, but a DevOps system seeks to integrate them all for better productivity and a smoother overall workflow. The system allows companies to quickly deliver software and security updates both internally and to customers, Sanders wrote. The ultimate goal is to bring products to market faster, deliver software and security updates more quickly, and make the entire process more reliable.
SEE: 10 best practices for DevOps
The numbers back up the claims: A June 2016 Puppet survey of 4,600 IT professionals found that IT departments with a robust DevOps workflow deploy software 200 times more frequently than low-performing IT departments. These companies also had 24 times faster recovery times, and three times lower change failure rates, the survey found. High-performing IT teams spent 50% less time remediating security issues, and 22% less time on unplanned work and rework.
“The big surprise this data revealed was how much high performing organizations using DevOps practices were outperforming their non-high performing peers,” said Gene Kim, author of The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win and co-author of The DevOps Handbook. “High performers were both more agile and more reliable, providing empirical evidence that DevOps enables us to break the core, chronic conflict.”
The number of job postings mentioning DevOps rose from less than 1% in 2012 to more than 30% today, according to Indeed.
Here are 10 things tech leaders should know about DevOps.
1. Remove corporate policies that separate development and IT.
“It’s critical that devs be given the freedom and resources to enable and empower DevOps, so the teams can use agile methodologies to shorten release cycles and reduce deployment time,” said Don Griffin, engineering director at Sencha. “This culture change requires management sponsorship to break down these walls.”
2. Make sure you focus on the ‘why,’ not just the ‘how.’
“Many people focus on the how (are we doing it right?) and not enough on the why (are we doing the right thing?),” said Patrick Debois, IT consultant and co-author of The DevOps Handbook. “By origin, devops is thinking about the IT organization as a whole system,” he said. “So, the trick is to find your bottleneck and improve from there.”
In a system, as you are solving one bottleneck such as continuous integration, another one will become visible, Debois said. “It’s important to not treat devops as a static or one shot focus,” he said. “Is your hiring policy blocking progress? Does your cash-flow prevent you from migrating? How about your outsourcer/contracting policy?”
3. DevOps does mean more automation–but it doesn’t mean you’ll lose your job.
DevOps is about changing the way that development and operations work with each other, not about getting rid of either one, said Jeff Sussna, founder and principal of Ingineering.IT.
“Adopting DevOps doesn’t mean that ops executives or managers will lose their jobs,” Sussna said. “At the same time, DevOps does imply significant automation. Just as QA automation means that testers need to learn to raise their gaze and think in terms of code and abstraction, so too do ops engineers need to do the same.”
SEE: How to become a DevOps engineer: A cheat sheet (TechRepublic)
4. Create feedback loops to measure effectiveness.
DevOps is not just about release automation or making it faster to deploy code to production–it’s also about providing more continuous feedback from production back to development, design, and product management, Sussna said.
“Organizations that maintain a linear view of the delivery process will fail to properly leverage DevOps,” Sussna said. “This challenge is similar to the one Agile development teams face: The point of sprint demos, for example, is not just to show people what you’re about to release, but rather to get feedback about quality and value before you decide to release.”
“It’s not a quick one shot formula where you start DevOps and see results tomorrow,” said Ashish Kuthiala, senior director of marketing and strategy of Hewlett-Packard Enterprise DevOps. “It’s a journey, but you can start seeing results quickly if you attack the biggest bottlenecks first.”
As long as you are always making progress and improvements, you will be successful, Kuthiala said. Prepare to fail, but learn quickly from it, adjust and move forward, he added.
5. Build in transparency.
All employees must understand that everyone is on the same team and working toward a common goal, said Andrew Storms, vice president of security services at security consultancy New Context. “Managers need to manage outside influence as well–for example, the sales and product teams can’t come to the DevOps team and interrupt the entire flow just to get a single feature out the door. It’s about respect and creating optimization.”
When HPE began using DevOps about two years ago, it was difficult getting various workers to collaborate together across different departments and also geographic regions, said Kuthiala. The company began using ChatOps–a constant chatroom where all employees shared all information in the open, modified with bots to run scripts and automate tasks.
6. Bring security into the fold early on.
Organizations and development teams need to address security early on in the development cycle, said Sebastian Taphanel, federal solutions architect at Evident.io.
“Any tech leader who thinks they could make decisions about DevOps without bringing Security into the discussions is venturing down a very dangerous path,” Taphanel said. “Security now needs to be a feature of the product, as they can no longer be the police department that investigates through retrospective audits.”
7. Think about third party suppliers.
As companies increasingly move to a serverless PaaS/SaaS model, executives need to start thinking not only about their internal system, but also the services they depend on and provide to others, Debois said.
“Services are the new suppliers, and if we want to continue improving our system we need to start good supplier relationships,” Debois said. “They will thrive on honest and fast feedback. That selection process will be the new differentiator.”
8. DevOps is not incompatible with regulatory compliance.
DevOps doesn’t require developers to have root access to production servers, Sussna said. “Instead, it means using similar mechanisms to manage production and non-production servers in order to minimize problems caused by differences between them,” he said.
DevOps also means making developers responsible for considering non-functional, as well as functional, requirements and quality, Sussna said. “Running security scans on every build, for example, doesn’t mean that InfoSec has nothing left to do, or that segregation-of-duties controls must be abandoned,” he said.
9. Factor in the time you need for cloud monitoring.
A September 2016 Intel survey found most DevOps teams spend about 25 hours per week to monitor, which could take time away from other critical job functions, according to Jeff Klaus, Intel general manager of data center solutions.
“IT pros need to realize the time that it takes DevOps to monitor their cloud environments,” Klaus said.
Cloud computing was one of the reasons DevOps caught on, said Sirish Raghuram, co-founder and CEO of Platform9. “The combination of agile process and cloud computing created the demand and technical capability that led to the rise of DevOps,” Raghuram said.
10. Share your progress.
Sharing information across the organization is an important DevOps concept that is often overlooked, said Joe Stewart, DevOps lead at Mediacurrent. “Automating processes brings tools to others, but visible progress and results can be key to DevOps success,” Stewart said. “This can be as simple as status updates in chat channels for successful operations in addition to failure notifications.”