Technology leaders are coming to realize that having an edge in today’s ever changing digital landscape now depends on agile software deployment strategies. That’s where DevOps comes into play.
"The primary strategy for implementing DevOps is the consolidation of process and configuration into code and the execution of the automated build, testing, validation, and release through a [continuous integration] pipeline," said Kem Elbrader, co-founder of Hoodoo Digital.
Whether adopted for internal enterprise tools or external, customer-facing digital services, DevOps unites software development (Dev) with infrastructure and service operations (Ops), with the ultimate goal to speed the deployment process, while simultaneously raising quality.
"The core tenets of DevOps are cross-functional accountability, autonomous teams, automation, measurable progress, and lean iterations," said Brandon Pulsipher, VP of cloud engineering at Adobe.
DevOps At Work
DevOps drivers a variety of business benefits. For example, Pulsipher noted how DevOps helps achieve parity with real-time user experience expectations.
Take an app like Uber. Under the hood, a web of integrations supports a demanding, real-time user experience. Mobile app developers must redeploy code frequently (often daily) to update connections, remedy bugs, or test new marketing campaigns.
"In order to meet the real-time interaction expectation that consumers have, a DevOps mindset is obvious," Pulsipher said.
In addition, DevOps reduces errors and streamlines the software delivery process, according to Elbrader. From a business perspective, this improves the ability to respond quickly and make changes. That includes enabling C-level executives to enact their visions with greater fluidity. It also leads to better service reliability and availability.
"DevOps positively impacts revenue downstream by increasing the effectiveness of software and marketing initiatives," Elbrader said.
In response to data privacy and security concerns, DevOps—or, in this case, “DevSecOps”—is also seen as a way to integrate security much earlier within the software build and automation process.
"Many in the DevOps world feel that the only answer is to incorporate security into the same automation practices that so greatly benefit software development and systems engineering," Elbrader said.
DevOps Best Practices
A solid DevOps strategy, much like a solid CX strategy, comes down to having the right technology and people in place. DevOps requires many parts to automate different areas, such as security checks, provisioning, and continuous monitoring.
"Look for solutions that are focused and specialized with the delivery platform being used," Elbrader recommended. "[External tools] can greatly increase adoption and reduce the barrier to entry vs. a ‘roll-your-own’ strategy."
As for the human element, DevOps requires increased collaboration among teams. To foster synergy, CIOs and IT leaders need to define what DevOps means to their organizations, then discover and empower DevOps champions, and have them drive the transition.
"Find and promote an early DevOps success, agree upon and define principles for your organization, and have a developer-friendly place to share questions and ideas," Pulsipher advised.
Culture was a big factor when Adobe began its own DevOps journey. "Our overarching DevOps objective is to provide better experiences, both for our customers and for our product engineering teams," Pulsipher says.
As part of the process, ops and engineering executives drafted a DevOps framework and shared it with their teams. Next, a few key DevOps sponsors traveled to meet with their teams—which Pulsipher called a “global road show”—to talk though plans. Then they empowered distributed leaders and set up specific procedures and accountability. By sharing a DevOps framework and welcoming both internal and external voices into the conversation, Adobe was able to foster natural growth, the effects of which are still germinating today, Pulsipher said.
Mind The DevOps Gaps
Not every institution makes the transition to DevOps successfully. One reason, according to Elbrader, is a general knowledge gap about DevOps’ nuances.
"The efforts needed to implement DevOps requires a dedicated and knowledgeable engineer with years of experience. For most organizations, making the time investment with such a high-value person is rare," he said.
Organizations routinely spend far too little time planning their strategies while underinvesting in the talent and solutions needed to execute, Elbrader added.
For Pulsipher, a common issue he sees is teams viewing DevOps as a role instead of a methodology. But a culture embracing this methodology cannot evolve by committee decree or through overly prescriptive rules. Rather, true change stems from within the teams themselves.
"DevOps is about autonomy, ownership, and agility,” Pulsipher said. “The teams should be able to decide for themselves the best approach, within a set of guardrails."
DevOps is incomplete without companywide buy-in. Such agreement will stem from smart leadership that values domain expertise. Or, as Pulsipher summarized it: "leadership, sponsorship, and groundswell."
Another potential pitfall: not having the right validation in place. Quick deployments mean a code push that once saw the scrutiny of weeks is being pushed in minutes. Without the right safeguards, a misconfiguration, for example, could easily be shared. And hackers could easily gain entry into a company’s cloud services.
Thus, any new configuration should be thoroughly screened and tested. Strict guidelines must be enforced before automation is positioned to take over event-driven operations.
DevOps is a regimen for maintaining software health and agility. It’s is a key component of today's real-time software expectations, making it a prudent choice for CIOs and IT leaders looking to streamline their release strategies to the benefit of their organizations.
With DevOps, there’s no one-size-fits-all approach, and it relies on the tenacity of C-level executives to inspire change. Some even argue it is now an executive responsibility to implement DevOps.
"As industry leaders, we have to invest to train our teams in those new skills to ensure we successfully make the transformation," Pulsipher said.