Close

See How Your Peers Are Moving Forward in the Cloud

New research from CDW can help you build on your success and take the next step.

Jun 21 2021
Software

What Is the DevOps Process & Methodology, and How It Can Work for You?

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

In the higher education 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 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 help higher education institutions 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 practice that has come to define modern infrastructure development.

DevOps can help university IT departments transition away from complicated and burdensome development practices that often lead to delays and waste. Instead, the focus is on a frictionless workflow that prioritizes speed, efficiency and continuous iteration.

This methodology ultimately should enable a better user experience by reducing the time and difficulty of developing features and services for students, faculty and staff. As people begin to use new applications and IT teams gain insight into user behavior, they can tweak apps quickly — and easily — in response to the new information.

GET A COMPLIMENTARY WHITE PAPER: Learn how DevOps is revolutionizing IT.

What Does the DevOps Process Look Like?

Tara Hernandez, a senior engineering manager at Google, 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.

Hernandez says communication across disciplines is key to making DevOps work.

“The cultural elements are reducing those silos, so there’s 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 vs. Agile: What’s the Difference?

DevOps is often mentioned hand in hand with agile development. Hernandez says the connection between the two goes back almost to the beginning.

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

The Agile Manifesto, first developed in 2001 at a ski resort in Utah, came to set basic standards for lightweight software development. Although agile methodology 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 a DevOps philosophy and 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 modern practice, 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.”

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 as 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 says 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 goes online, it’s expected to work.

Tara Hernandez
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.”

Tara Hernandez senior engineering manager, Google

“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 that.

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 wrongmuch more can go right.

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

“If you’re not doing any of it, you’ve got to 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.”

What Are the Best DevOps Tools?

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

  • Gitan open-source tool for code collaboration originally developed by Linux founder Linus Torvalds, is often used to manage many codebases in a branch format. The technology is the foundation of GitHub, a popular Microsoft-owned code repository.
  • 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.
  • Splunk, a data analysis tool, can optimize DevOps practices in real time.
  • Infrastructure as Code tools, such as Puppet, Chef and Ansible, can integrate nicely into a DevOps discipline, helping an organization manage and scale its cloud resources as needed.

LEARN MORE: Here’s how Infrastructure as Code and AWS work together.

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 of reducing complexity among 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. They understand needs across the institution.

DevOps Service Providers

For universities and colleges 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 a DevOps mindset.

And third-party 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 you build the practice into your 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.

monsitj/ iStock / Getty Images Plus