In the age of constant security vulnerabilities and subsequent security patches, and the rapid and frequent addition of features to software, DevOps—a workflow that emphasizes communication between software developers and IT pros managing production environments—is at the forefront when considering how to shape an IT department to fit an organization's internal needs and best serve its customers.
This guide is a quick introduction to DevOps, as well as a "living" guide that will be updated periodically as trends and methods in this field change.
- What is it? DevOps is an ethos centered around integration and communication between software developers and IT professionals who manage production operations.
- Why does it matter? DevOps allows organizations to more rapidly deliver software and security updates internally and to customers.
- Who does this affect? Because implementing DevOps requires a corporate culture change, it affects the entire company. The benefits have far outweighed the difficulty of a culture shift in companies that have adopted DevOps.
- When is this happening? DevOps first gained traction in 2009. Large organizations such as Amazon, Walmart, and Adobe use DevOps.
- How do I implement it? DevOps is not a switch that can simply be turned on; it requires careful and gradual implementation so as to not disrupt the functioning of your organization.
SEE: Special report: Riding the DevOps revolution (free PDF) (TechRepublic)
What is DevOps?
DevOps (a combination of "Development" and "Operations") is an ethos that emphasizes the importance of communication and collaboration between software developers and production IT professionals, while automating the deployment of software and infrastructure changes.
The goal of DevOps is to create a working environment in which building, testing, and deploying software can occur rapidly, frequently, and reliably. In turn, this allows for an organization to achieve its goals more quickly, allowing for a faster turnaround time in the deployment of new features, security patches, and bug fixes.
DevOps encompasses the already popular programming concepts of agile development, continuous integration, and continuous delivery, and extends that ethos into the social aspect of IT by placing a premium on the importance of tearing down walls that divide development, operations, support, and management teams.
In the same vein, DevOps is a descriptive—not a prescriptive—concept. There is no single product or silver bullet that can fix existing problems in an organization; the purpose of DevOps is to increase collaboration.
- DevOps decoded: What it is and why you should care (ZDNet)
- 10 best practices for DevOps (TechRepublic)
- How to tell if your DevOps is delivering business value (ZDNet)
- Quick glossary: DevOps (Tech Pro Research)
- Job description: DevOps engineer (Tech Pro Research)
Why does DevOps matter?
To put it simply, DevOps makes the entire software lifecycle faster, from code commit to production deployment.
A survey of 4,600 IT professionals by Puppet in June 2016 found that IT departments with a robust DevOps workflow deploy software 200 times more frequently than low-performing IT departments. In addition, they have 24 times faster recovery times, and three times lower rates of change failure, while spending 50% less time overall addressing security issues, and 22% less time on unplanned work.
While the concept of continuous delivery—and by extension, DevOps—may be counterintuitive to some, the end goal of frequent software deployments is to make the process so routine as to be a non-event, as opposed to a disruptive major rollout.
- Gap between DevOps-savvy and non-savvy companies is huge, survey finds (ZDNet)
- The road to digital bliss is paved with service thinking and DevOps (ZDNet)
- Enterprise cloud performs best with DevOps, software-defined networks (ZDNet)
- 7 critical lessons businesses learn when implementing DevOps (TechRepublic)
- DevOps isn't a matter of speed, it's all about software quality (TechRepublic)
Who does DevOps affect?
Any organization with an in-house IT department can benefit from adopting a DevOps communication culture. For the consumer side of the equation, DevOps allows for a significantly reduced time to market, allowing organizations to deliver new features and security patches to customers more quickly and efficiently.
DevOps can also increase job satisfaction among IT professionals. The initiative allows for a much-needed conversation change from "How can we reduce cost?" to "How can we increase speed?," which is more likely to be a successful long-term strategy.
The aforementioned Puppet survey also notes that employees in high-performing DevOps teams were 2.2 times more likely to "recommend their organization as a great place to work."
- How to become a DevOps manager: 5 tips (TechRepublic)
- DevSecOps teams securing cloud-based assets: Why collaboration is key (TechRepublic)
- Video: What's in store for the next generation of software development (TechRepublic)
- DevOps double case study: CloudBees and Perfecto Mobile (Tech Pro Research)
- DevOps: Where it's going and how to make the most of it (ZDNet)
- Why leading DevOps may get you a promotion (ZDNet)
- Bring on the DevOps, say IT support managers (ZDNet)
- Why every DevOps team needs a contrarian thinker (ZDNet)
- 10 DevOps experts to follow on Twitter (TechRepublic)
When is DevOps happening?
DevOps as an idea is an outgrowth of Agile Infrastructure, effectively extrapolated to the entire enterprise rather than just the IT department. The concept gained a lot of traction with the first devopsdays conference in Belgium in 2009.
While traditional technology companies like Amazon, Adobe, and Netflix have been early adopters of the strategy, DevOps also enjoys popularity in the retail space with Target, Walmart, and Nordstrom utilizing the communication model.
- Research: DevOps adoption rates, associated hiring and retraining, and outcomes after implementation (Tech Pro Research)
- CIO Jury: 50% of tech leaders are implementing DevOps (TechRepublic)
- How one company's DevOps success got them the green light to hire 1000 developers (TechRepublic)
- DevOps: Chef offers enterprise-wide analytics with Automate tool (ZDNet)
- Why the DevOps faithful keep pulling away from their competitors (TechRepublic)
- IT managers: we're hurting for more cloud and DevOps skills (ZDNet)
- CA Technologies updates DevOps tools to help boost system performance (ZDNet)
- Kubernetes 1.4: One DevOps tool to rule all the containers (ZDNet)
- Video: How AI chatbots are shaping DevOps workflows (TechRepublic)
- Video: How ChatOps enables the next wave of DevOps in the enterprise (TechRepublic)
- 5 DevOps predictions for 2017 (TechRepublic)
- Top 10 DevOps events of 2016 (TechRepublic)
How do I implement DevOps?
Because DevOps is, at its core, a cultural and procedural adjustment from the way things have been done in the past, it is not possible to implement DevOps overnight. The steps needed to implement DevOps is really dependent on the existing IT infrastructure and corporate structure of a given organization—groups already using cloud infrastructure and agile development practices are several steps ahead of groups not using those systems.
Gene Kim, the founder of TripWire, and author of various books on development, advocates for an incremental approach for adopting DevOps (PDF link). While this is a long-term change that will likely take 1-2 years for established organizations, results from the pilot candidate can be seen in a matter of weeks.
- 10 steps to DevOps success in the enterprise (TechRepublic)
- Top 10 challenges to DevOps implementation (TechRepublic)
- 10 books to add to your DevOps reading list (TechRepublic)
- Ebook: IT leader's guide to making DevOps work (Tech Pro Research)
- DevOps enters the mainstream: Here's how to make it work for you (ZDNet)
- It takes more than one champion: Getting DevOps working for you (ZDNet)
- 10 ways to improve time-to-market for your applications (TechRepublic)
- Shifting to DevOps? Put your ducks in a row first (TechRepublic)
- Standardizing DevOps tools requires culture change and careful evaluation (Tech Pro Research)
James Sanders is a Java programmer specializing in software as a service and thin client design, and virtualizing legacy programs for modern hardware.