Optimizing Application Performance with Change Management Improvements - Part 2
May 03, 2017

Mike Cuppett
Author of "DevOps, DBAs, and DbaaS"

Share this

This blog is an excerpt from DevOps, DBAs, and DBaaS by Mike Cuppet.

Start with Optimizing Application Performance with Change Management Improvements - Part 1

Yes, There Really Is a Problem

It is not that we do not believe user-reported information; it is just that experience tells us that other factors can be in play that make it necessary to get the full representation of the problem. One user would complain several times a week about application slowness, which was causing the person's performance metrics to drop. Upon investigation using a packet capture tool, it was determined that the live video streaming to the user's computer was causing the application slowness. This person was advised to stop the streaming and given the heads up that the company could "see" everything. Nothing illegal was happening, but complaining about self-inflicted impaired performance caused by news/entertainment traffic does not boost careers if that information is shared.

Continuing with our hypothetical problem: the user-side investigations recorded slowness consistently in the 5–17 seconds range, with very few outliers, which narrows the actual slowness impact significantly. If you are lucky, the captures you already have point to a single call that represents the majority of the slowness, allowing immediate focus on what is likely the root cause.

As member of a DevOps IT shop, you know that software releases occur nightly. Unfortunately, the users did not report the problem immediately, making it difficult to establish when the problem was introduced, (except that everything seemed to be good a few weeks ago; and, by the way, the problem occurs at different times of the day; otherwise, performance is acceptable). The release report shows at least five changes that may have impacted this functionality: four were implemented successfully, and one had to be rolled back with no root cause documented. Here, the binary release check has failed the organization. Release success or failure does not communicate information needed by the business or IT. Code that is successfully deployed with functionality validated by a tester does not tell the entire story (for example, performance degradation being introduced). DevOps testing purposely initiates more comprehensive answers. Excessive testing vets the software thoroughly and automatically, making it feasible to include tests designed to measure performance. It gives the green light only on performance that matches or is faster than a predefined value or the previous code version timing.

As DevOps teams "shift-left" and work in conjunction with business leaders as product managers, IT (now DevOps) truly becomes partners with the business. The "IT alignment to the business" goal included in the annual IT strategy deck for the last decade becomes obsolete. The perceived (or actual) misalignment was not only because the business teams did not understand what IT really did, other than spending offensively huge chunks of money to drive business operations, IT also wholly failed to come to the table as a business partner; instead remaining aloof and detached from everything but technology.

Thirty years ago, IT, MIS, or data processing (whatever the name) was given the mission of finding ways to complete work faster than teams of people could by having computers do mundane, repeatable tasks. Ironically, DevOps in many ways reaches back 40 years to repeat the tactical execution of having computers do mundane tasks: repetitive code testing, deployments, infrastructure as code, and more. Between then and now, far too many manual steps were added to processes that now need to be remediated. Forty years ago, computer work likely resulted in teams of people losing their jobs, but DevOps does not have the same mandate as in the data processing years. Instead, highly skilled engineers and programmers are freed from repetitive tasks and allowed to partner with the business to generate and implement game-changing technologies and applications.

DevOps wants and needs to shift talented, intelligent, experienced staff into roles that deliver measurable benefits for the company. Repeatable tasks can be done much faster by computers, but computers do not generate ideas. Computers running data analytics programs churn through data millions of times faster than humans, but computers still do not have the capability to find answers in the data, interpret the data, or act on the data like people do. People assimilate varying data points to produce value in new ways. DevOps needs people to create opportunities to help the business leapfrog competitors.

It is not intended to get rid of people; instead, it wants to make people more effective and focused on executing business strategies, not hampered by mundane tasks. Accomplishments have moved from "Designed a new algorithm for . . ." to "Improved customer experience . . . reduced costs . . . implemented a new revenue channel . . ."

DBAs and DevOps teams should take a positive stance and attitude toward the goals of Agile and DevOps, knowing that each person's impact on the organization can make tremendous strides to create better customer experiences and software products, and continually improve business processes, all with prospective top- and bottom-line impacts.

DevOps Answers

Change management analysis in DevOps extends beyond binary conclusions to business impact statements. Reporting successful or failed statuses alone shifts to informative, customer-centric statuses such as the following:

• "Change 123 implementing function A successfully reduced execution time 40%; now averaging 7 milliseconds per call."

• "The change to reorganize table ABC successfully reduced report execution time, allowing the business to meet contractual requirements."

• "Change 456 failed and was rolled over successfully with change 512. Testing for change 456 did not include a critical data test; later found and tested for change 512, which allowed the failure to advance. Teams had rectified, tested, and implemented the needed test earlier this week, having change 512 already in the pipeline. The 512 push completed successfully within the change window, eliminating the risk."

DevOps' fail fast edict can really benefit the company by progressing software products continuously and without having laborious rollbacks, rework, retests, and reimplementation. In the previous third scenario, the DevOps team knows that a communication was missed because change 456 should have never made it to the release stage, let alone production.

So as change management communications pivot from mundane status updates to business impact updates, opportunities to improve application performance become more apparent. Moving from a message that the code was implemented successfully to a message that the code decreased customer query time by 67% tells a better story. There is a large chasm between code that works and code that works and executes expectantly fast while generating an audit trail. Adding a new feature that performs poorly is not really a feature — it is a bug and a frustration for customers. Adding a feature that is expected to increase mobile app usage 400% without increasing infrastructure resources is not a feature, but a colossal failure. The DevOps movement provides the needed tactical response with infrastructure as code. When traffic is expected to spike, adding resources to existing virtual hosts or spinning up additional hosts with a button click or two simplifies infrastructure readiness and resiliency.

Read Optimizing Application Performance with Change Management Improvements - Part 3

Mike Cuppett is a Business Resiliency Architect for a Fortune 25 healthcare organization, and the author of "DevOps, DBAs, and DbaaS: Managing Data Platforms to Support Continuous Integration."
Share this

The Latest

May 13, 2021

Modern complex systems are easy to develop and deploy but extremely difficult to observe. Their IT Ops data gets very messy. If you have ever worked with modern Ops teams, you will know this. There are multiple issues with data, from collection to processing to storage to getting proper insights at the right time. I will try to group and simplify them as much as possible and suggest possible solutions to do it right ...

May 12, 2021

In Agile, development and testing work in tandem, with testing being performed at each stage of the software delivery lifecycle, also known as the SDLC. This combination of development and testing is known as "shifting left." Shift left is a software development testing practice intended to resolve any errors or performance bottlenecks as early in the software development lifecycle (SDLC) as possible ...

May 11, 2021

Kubernetes is rapidly becoming the standard for cloud and on-premises clusters, according to the 2021 Kubernetes & Big Data Report from Pepperdata ...

May 10, 2021

Overwhelmingly, business leaders cited digital preparedness as key to their ability to adapt, according to an in-depth study by the Economist Intelligence Unit (EIU), looking into how the relationship between technology, business and people evolved during the COVID-19 pandemic ...

May 06, 2021

Robotic Data Automation (RDA) is a new paradigm to help automate data integration and data preparation activities involved in dealing with machine data for Analytics and AI/Machine Learning applications. RDA is not just a framework, but also includes a set of technologies and product capabilities that help implement the data automation ...

May 05, 2021

There is no one-size-fits-all approach to changing the experience of employees during a pandemic, but technological innovation can have a positive impact on how employees work from home as companies design their digital workspace strategy. The IT team supporting this shift needs to think about the following questions ...

May 04, 2021

Downtime. It's more than just a bar on the Rebel Alliance's base on Folor. For IT Ops teams, downtime is not fun. It costs time, money and often, user frustration. It takes more than the Force to handle incidents ... it takes an intergalactic team. An effective incident management team is made up of people with many different skill sets, styles and approaches. We thought it would be fun to map the heroes of IT Ops with Star Wars characters (across Star Wars generations) based on their traits ...

May 03, 2021

Vendors and their visions often run ahead of the real-world pack — at least, the good ones do, because progress begins with vision. The downside of this rush to tomorrow is that IT practitioners can be left to ponder the practicality of technologies and wonder if their organization is ahead of the market curve or sliding behind in an invisible race that is always competitive ...

April 29, 2021

According to a new report, Digital Workspace Deployment & Performance Monitoring in the New Normal, 82% of respondents had changes in their digital workspaces due to the pandemic ...

April 28, 2021

There are a few best practices that DevOps teams should keep in mind to ensure they are not lost in the weeds when incorporating visibility and troubleshooting programs into their systems, containers, and infrastructures. Let's dive into these best practices ...