Developer

DevOps: The smart person's guide

This comprehensive guide covers DevOps, an increasingly popular organizational structure for delivering rapid software deployments in the enterprise.

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.

SEE: Check out all of TechRepublic's smart person's guides

Executive summary

  • 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)

codingistock79257303twinsterphoto.jpg
Image: iStock/twinsterphoto

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.

Additional resources:

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.

Additional resources:

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."

Additional resources:

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.

Additional resources:

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.

Additional resources:

About James Sanders

James Sanders is a Java programmer specializing in software as a service and thin client design, and virtualizing legacy programs for modern hardware.

Editor's Picks

Free Newsletters, In your Inbox