Monday, October 3, 2016

DevOps: The smart person's guide




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

By James Sanders | October 2, 2016, 4:47 PM PST
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.
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.


What's Hot at TechRepublic
How to set up Windows 10 on the Raspberry Pi
Myth busted: Older workers are just as tech-savvy as younger ones, says new survey
How Tesla Autopilot drove a man with a blood clot to the hospital, and expanded the autonomous car debate
Photos from Star Trek 50 in Las Vegas: see Shatner, Takei, a wedding, and cosplay

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:
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)
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.

Additional resources:
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)
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."

Additional resources:
DevOps double case study: CloudBees and Perfecto Mobile (Tech Pro Research)
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)
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:
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)
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.

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...