Metrics First or you’ll suck at what you do!

Understanding the Pulse of Your Applications: An Insight into DevOps Metrics

“You can’t improve what you can’t measure.” Before I start any new project or role within a company, I first create a metrics or measurement strategy. I’ve learned that being able to show my impact is worth its weight in gold…literally. This new series “DevOps Metrics” will provide an introductory approach to setting up measurements using common tools such as Grafana, Prometheus, and some custom code. I think you’ll find that metrics can also be one of the most rewarding parts of your job, which is why I plan on writing so much about the topic. The reaction from colleagues when they see a simple but well-designed Grafana dashboard never gets old! They’ll always ask, “How did you do that!” And when someone challenges your position on a pivotal topic, you can always bring up your dashboard that tells a clear story of success or failure. Most people don’t take the time to actually measure and support their technical perspectives. Instead, they operate from emotion and dominance.

A short story

Before we get into the technical stuff, I want to share a quick story. In my early thirties I took a new consultant role with a major Fortune 100 company. My specialty at the time was in a proprietary piece of software that was 30 plus years old and a corresponding scripting language. To my surprise, they paired me up with the original creator of this software platform. This guy was unique to say the least; the kind of guy you lock up in a closet and push assignments under the door. His personal interface was very harsh and he managed to offend most people he met withing 5 minutes of meeting them. This guy was a total tool but he was also one of the smartest individuals I’ve ever met. He even created his own language used within his software and now I was going to be working with the guy that was responsible for my career. Luckily he actually liked me and we became friends.

This brings me to my first DevOps rule:

Create strategic alliances within your team and organization even if you don’t agree with their approach.

Our assignment was to find all and repair all custom scripts that were failing during real-time web calls. The challenge was figuring out which ones were the most impactful and had the highest occurrence. The system was over engineered where java based web applications were calling a middleware platform that routed traffic into an IBM mainframe running a Cobol based vendor application that was running a custom scripting language! Talk about convoluted and overly complex. As web traffic completed this complex maze of hops the custom scripts would fail due to various issues causing abends in CICS on the mainframe. Our job was to stop the CICD ABENDs / failures as fast as possible. One other challenge was lack of any type of observability platform, logs, or organizational partnerships from the web application team. There were 10 or more web teams and hundreds of components all passing traffic into this steaming pile of a mainframe system and none of them cared that the backend scripts were failing.

A tale of two solutions!

My genius partner and myself had two different approaches. He wanted to jump into fixing the issue of the day and get patches into prod asap. Certainly this is the right approach when dealing with a system outage but this issue was not that. So I took a different approach where I created a small database and used MS Access to generate reports of the worst offenders. Each day I would start by manually extracting and loading the z/OS CICS ABEND reports into my database. And everyday my partner would make fun of my manual data import and reports I produced saying I needed to “focus on programming”. But a week, a pattern formed within the reports and we realized that fixing the top 5 offenders would eliminate 90% of the errors.

My second rule of DevOps:

Create visibility into the performance, stability, and reliability of your applications before creating technical solutions.

My first two rules form the basis of DevOps, a philosophy that binds organizational efficiency and application stability to create harmony for software engineers and operational staff. The harmony is orchestrated meticulously with the aid of metrics, a crucial element that stands testament to the quality and reliability of applications. We are thrilled to introduce our new series on ‘DevOps Metrics,’ an exploration into the multifaceted world of metrics, which forms the bedrock of successful DevOps initiatives.

Mapping the Metrics Territory

Navigating through the complex landscape of DevOps is akin to charting a course through unexplored territory. Metrics serve as your compass, guiding you towards your goal with precision and reliability. They are invaluable in granting insights into the health, performance, and efficiency of your applications, paving the path for systematic growth and improvement.

The Critical Role of Metrics

Metrics are more than just statistical data; they are the heartbeat of your application, continually pulsating with vital information that can help steer your project to success. A dynamic monitoring system that keeps track of these metrics can be the catalyst for fostering innovation and achieving unparalleled excellence. It forms the basis of enhancing both the user experience and the technical robustness of your applications.

Fueling Continuous Improvement

The ethos of DevOps revolves around nurturing an environment of continuous improvement. Metrics are the fuel that powers this engine, providing tangible data that can help teams refine strategies and redefine goals. Through a process of constant monitoring, feedback, and adjustments, organizations can instill a culture that values progressive enhancement, leading to not just robust applications but a team that grows in skill and cohesion.

What Lies Ahead in This Series

In the upcoming posts of this series, we will explore the intricacies of various DevOps metrics, providing a fresh perspective on their relevance and application in the modern tech ecosystem. Get ready for an exciting journey into the world of Grafana and Prometheus, where we will delve deep into their functionalities, features, and their pivotal role in establishing robust DevOps metrics.

Furthermore, stay tuned for our step-by-step tutorials, where we will guide you through the process of setting up and implementing DevOps metrics effectively, equipping you with the knowledge and tools to enhance your DevOps strategies. Each tutorial will also include ChatGPT AI prompts to facilitate your exploration of DevOps.

Join us on this enriching journey as we aspire to be your trusted resource for navigating the expansive realm of DevOps metrics. In the fast-paced realm of DevOps, metrics are not just statistical data; they serve as your roadmap to achieving excellence and driving innovation.

About the Author

Leave a Reply

Your email address will not be published. Required fields are marked *

You may also like these