“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 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.”
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.
Click the banner below to explore the different technologies that power hybrid work.