Apr 30 2021

What Is DevOps, and How Can It Work for You?

When building a DevOps discipline, culture matters just as much as the underlying technology.

In the IT space, the buzzwords can be overwhelming — the acronyms, the shorthand, the metaphors. And making sense of those terms can feel dicey.

But sometimes, one of those buzzwords breaks through in a tangible way to become a defining element in the process of managing your technology.

That’s one way to describe DevOps, a philosophy of continuous development that has become ingrained in the way many technology-focused organizations work. And it could make your organization work better too.

What Is DevOps?

DevOps represents the merging of software development and IT operations into a single discipline. As a software design philosophy, DevOps is not a new concept, but it has grown over the past two decades into a well-regarded discipline that has come to define modern infrastructure development.

DevOps is often mentioned hand in hand with agile development. Tara Hernandez, a senior engineering manager at Google, says the connection between the two goes back almost to the beginning.

“If we were to ask most folks who have been in the DevOpsian world, you kind of go back to the emergence of the Agile Manifesto,” she says. “That’s kind of the beginning of the discussion.”

DevOps vs. Agile: What’s the Difference?

The Agile Manifesto, first developed in 2001 at a ski resort in Utah, came to set basic standards for lightweight software development. Although it had existed before then, the formalization helped build interest in lightweight software development, which in turn increased interest in DevOps.

Both DevOps and agile development evolved as something of a reaction to the more traditional “waterfall” style of development, in which progress falls sequentially, with different aspects working separately from one another, leading up to a large release with many features under the hood.

DevOps relies on a more integrated approach, with a greater focus on collaboration and continuous deployment of new code. Rather than one big release, there are numerous small ones.

The DevOps approach existed before it was formally named — the result of a Belgian conference in 2009 called devopsdays. The conference not only helped build the philosophies around DevOps along with its nomenclature but also developed into a global network of events.

The 2020 State of DevOps report, published by the cloud and hybrid automation platform Puppet, describes the DevOps philosophy as becoming increasingly dominant in the modern day, as organizations build more sophisticated disciplines around it.

“Perhaps a few years from now, the term ‘DevOps’ will sound quaint — even fade away — because so many people and organizations have fully adopted the DevOps principles of collaboration, communication, small-batch iteration, feedback loops, continuous learning and improvement,” the report states. “We certainly hope so.”

WATCH THE WEBCAST: Learn how dynamic technology can support flexible working.

What Are the Benefits of DevOps?

Ultimately, the goal of DevOps is to simplify the software development lifecycle through methods such as the continuous integration and continuous delivery (CI/CD) of code, the process of merging developers’ work into a mainline codebase and shipping it.

This speeds up the work on software releases, creating a stronger, more efficient way to manage software over time. Fixes can be easily implemented, and new features can be delivered quickly.

“When a software development organization successfully adopts DevOps principles and an organizational philosophy, those organizations have been shown through a lot of research to have better productivity and throughput for delivering products and features to their customers,” Google’s Hernandez says.

Unlike a waterfall approach, where responsibility for a codebase might shift between departments, Hernandez said there is ultimately shared responsibility between the developers and operators for tools working in a given environment. In other words, before a piece of code gets online, it’s expected to work.

“There’s kind of a fundamental shift in thinking,” she says. “The developers have as much responsibility as the operators for their software running in production.”

And while it makes particular sense in the context of cloud computing — and, as a result, comes up in conversations for those looking to build services around Google Cloud, Amazon Web Services and Microsoft Azure — it is not limited to it.

The challenge, of course, is that it’s an organizational philosophy, not a toolset, so an organization might have to work its way up to a broader goal. And while there’s a lot that can go wrong, much more can go right.

It can also take time to perfect. Although organizations can get quite good at DevOps — Google’s own research found, for example, that 20 percent of organizations it studied had become “elite performers” at DevOps by 2019 — Hernandez suggests that organizations without an existing discipline start slowly.

“If you’re not doing any of it, you’ve got to kind of start at the foundation at the developer level and work your way out,” she says, “with the understanding that you’ll want someone who’s at the production end — maybe embedded.”

Click the banner below to explore the different technologies that power hybrid work.

What Are the Best DevOps Tools?

Tools used in DevOps vary greatly, but a few notable ones include:

  • Git, an open-source tool for code collaboration originally developed by Linux founder Linus Torvalds, is often the basis of managing many codebases in a branch format. The technology is the foundation the popular Microsoft-owned code repository GitHub.
  • Containerization tools, such as the open-source Docker and Kubernetes, can help those working in a DevOps structure test their code in a staging environment before going live.
  • Infrastructure as Code tools, such as Puppet, Chef and Ansible, can integrate nicely into a DevOps discipline, helping your organization manage and scale its cloud resources as necessary.
  • Splunk, a data analysis tool, can optimize DevOps practices in real time.

What Is a DevOps Engineer?

A key role for any DevOps implementation, a DevOps engineer manages the software lifecycle through the implementation of tools, processes and methodologies, with the goal reducing the complexity between departments.

As the IBM-owned Red Hat explains, DevOps engineers manage the processes involved across disciplines and often tend to be more seasoned as a result, able to understand the needs across the business.

What Does a DevOps Model Look Like?

Hernandez notes that “if you’re really dialed into it,” DevOps can be well-integrated into a development process from start to finish.

So, what do the start and finish look like? The short answer: an infinite loop — at least, that’s how it’s often illustrated. At its roots, a DevOps model combines four primary processes — planning, building, deploying and operating — along with continuous feedback and continuous iteration. Grounding these processes is a basis of communication.

MORE FROM BIZTECH: Why digital transformation is only the beginning.

Hernandez says communication across disciplines is key to making this all work.

“The cultural elements are reducing those silos, making there be more transparency between software development and production operations,” she says. “And then, the lingua franca of that is documentation and automation. What’s the necessary cultural change? A leadership team that’s willing to invest in making that happen, because it doesn’t just emerge out of the ether.”

DevOps Services Providers

For businesses interested in the concept of DevOps, there are a variety of options. Many major cloud platforms — Google Cloud, Microsoft Azure, IBM Cloud and Amazon Web Services — offer specific services intended to help build around a DevOps mindset.

And help in implementing these options, especially through a service such as CDW Amplified Services, can ensure your organization makes the most of the DevOps discipline and CI/CD pipeline as it builds the practice into its approach.

After all, if you’re going to the trouble of implementing a significant cultural change, you want to make sure you get it right.

LuckyStep48/Getty Images