December 07, 2022
Digital Transformation Versus Digital Optimization in DevOps
Asking these three questions can help business and IT leaders determine whether they are optimizing their DevOps environments.
Depending on your definition of digital transformation, most organizations have been pursuing it for years. (To be sure, there are many definitions; one of the more common is “the use of digital technology to change how a business operates and delivers experiences to its customers.”)
It may seem that digital transformation has only recently become widespread, but if you look closely, you’ll see that this definition applies to everything from cloud computing to hypervisors. There’s a difference, though, between using technology to transform workflows and optimizing those processes. In particular, digital optimization can offer significant benefits in a DevOps environment, where business and IT leaders are aiming to accelerate the development lifecycle and provide continuous delivery of high-quality software.
Rather than offer up a slippery definition of yet another IT term, I suggest that organizational leaders ask themselves the following three questions to determine if they are pursuing digital optimization in their DevOps environments.
Question #1: How Often Do We Release New Code?
In its 2022 State of DevOps report, Google identifies three classes of code deployment frequency. High frequency is defined as on-demand, or multiple deployments each day. Medium frequency is defined as between once per week and once per month. Low frequency may be between once per month and once every six months. (Notice that the report doesn’t classify organizations that deploy code less than twice per year.) Of course, not every organization needs to push out multiple daily code updates, but deployment frequency is a good place to start when assessing whether an organization is pursuing digital optimization.
Question #2: How Long Does It Take for Code to Travel from Developer to User?
This is a related but separate question. In organizations that lack an effective digital optimization strategy, it can sometimes take many days after a developer has submitted new code for that code to make its way to customers or users. For example, CDW recently worked with a meat processing company whose developers were able to write certain updates in only 20 minutes. However, due to legacy processes and infrastructure, it took the organization three weeks to make the firewall rule edits that allowed it to push the code out to users. So, in effect, it took three weeks and 20 minutes for users to be able to make use of the new code. We helped the organization automate most of the processes that were used to edit firewall rules. As a result, the “travel time” for code was reduced from more than three weeks to just a couple of days.
Question #3: How Many People Have Access to Cloud Management Consoles?
Streamlining resources is an important aspect of digital optimization, and we’re seeing an increased focus on FinOps (financial DevOps) practices designed to help manage cloud costs. One simple way to enable FinOps is to limit the number of people in an organization who have access to cloud management systems, and instead provision cloud-based infrastructure using resource pipelines through infrastructure as code (IaC) that is tightly controlled by a central cloud center of excellence (CCOE). The error rate of people provisioning resources in the public cloud is around 5 percent, and when dozens (or even hundreds) of users are able to spin up their own resources by pointing and clicking, governance rules are often ignored. Instead, organizations should lean on their CCOE to create IaC that standardizes provisioning. This move gives organizations more control, eliminates human error, helps manage costs and can also minimize security risks — four benefits that are key to any digital optimization effort.
Story by Pete Johnson, lead field CTO in CDW’s Digital Velocity group, which specializes in topics such as application modernization using Kubernetes-hosted microservices, data center automation through infrastructure as code, and continuous integration/continuous delivery systems to integrate concepts.