DevOps lessons in software, infrastructure, and business success
As CIO, how much focus do you put on collaborating with the business in a way that drives agility and propels operating margins? How aggressively are you leveraging the insights of DevOps to transform IT from a cost center to a profits partner?
If your team is still spending more time keeping the lights on than taking steps to become a true service provider, there may be trouble ahead—not just for the company, but for your career. Many enterprises are bringing in chief digital officers because the CIO doesn't give appropriate consideration to the all-important collaborative business view, according to Donnie Berkholz, research director at 451 Research, in an interview with veteran IT analyst Dana Gardner.
But there's still a chance to be a game-changer. By taking advantage of new trends in DevOps and composable infrastructure that facilitate continuous software delivery, you can promote dexterity and flexibility for IT and the business. In an age where virtual machines and the cloud breed transience and urge scale, moving in this direction is more important than ever before.
Driving continuous delivery
How do you get started on this path? On the development side of DevOps, Berkholz advises moving to a continuous integration, continuous delivery pipeline approach by taking advantage of automation platforms, such as the open source CI server Jenkins. With automated build and testing, developers don't have to spend time on manual integrations. At the same time, any issues that do arise are found and fixed fast. With continuous deployment, the latest version of a code base can be automatically released after successful test runs.
It's an enormous transition to test the full environment this way and be ready to deploy to full production, perhaps even on a daily basis. But fewer errors and faster cycles mean everything when software is critical to determining business leadership.
"The businesses all want to compete with companies like Netflix or Zenefits, the Teslas of the world, the software-defined organizations," Berkholz says. He notes that Tesla, for example, can ship updates to its cars that let them self-drive on the fly for people who've already purchased the vehicles without that feature. Businesses observing such changes can't help but wonder how they can become more agile and competitive, too.
Implementing DevOps Infrastructure
On the operational side of DevOps, automation is primarily about infrastructure as code, Berkholz says. Open source configuration management tools such as Chef, Puppet, and others take approaches that help make it easy to define server configuration and code, and maintain that in version control, he explains. That's of no small importance: Knowing exactly how a server is created facilitates the scalability that's necessary for continuous delivery.
In between the automated application delivery pipeline and the automated server environment lie server and data virtualization and other components that contribute to "an extremely reliable and reproducible and scalable environment that is the same all the way from development to production," says Berkholz.
Not to be forgotten in all this is the need to focus on composability—on making it easy to piece together polyglot infrastructure resources to be consumed in different ways as needed over their lifecycle. The case for composability in generating value can be seen in having reference architectures in the form of code, enabled through infrastructure as code or as a set of APIs. "It's enabled by having all of that stuff ready to go, ready to build in a way that wasn't possible before," he says.
Take it slow
It's important for CIOs to proceed in this direction with care. There are compelling reasons to make the transition to running IT from the collaborative business point of view, but it would be a mistake to attempt a big-bang shift to continuous delivery, stopping everything to try to roll out the approach across the organization. The business, Berkholz says, won't stand for that—and being at odds with the business is clearly the reverse of where CIOs want to go with this effort.
Instead, focus on small wins, perhaps starting with an independent team, like mobile app development. Even in that restricted environment, go slow when it comes to replacing manual tests with automated tests for continuous integration. Run both modes for a time to avoid dropping the quality you've already established. "You're actually adding more quality by adding the automation and slowly converting those manual testers over to the engineers on test," Berkholz says.
As small wins add up, with the business beginning to realize value from them, CIOs will gain the executive buy-in they need to push the approach further into the organization. "If you don't have executive buy-in," he says, it's "never going to fly."
And fly it must. There's no requirement that a company make the transition to becoming a software-defined organization, except one: If you want to survive—to be a Netflix and not a Blockbuster—"you're going to have to take this DevOps mindset," Berkholz says.
Leveraging DevOps: Lessons for leaders
- Automate what you can. Let computers do the heavy lifting, enabling people to focus on the processes that need decision-making.
- Streamline processes to connect components, with an eye toward reliability and reproducibility.
- Hurry, but don't rush. It's OK to do this one step at a time. After all, DevOps is founded on the principles of continuous improvement. That applies to the process shift as well.
For more, get Gardner's full interview with 451 Research's Berkholz, as a podcast and transcript.
This article/content was written by the individual writer identified and does not necessarily reflect the view of Hewlett Packard Enterprise Company.