Measure Early, Measure Often
Measure Early, Measure Often
Is your application or web site loading too slowly? Then your team should consider looking at metrics-driven development along with current DevOps methodologies
Join the DZone community and get the full member experience.Join For Free
Written by Ivana Ivanovic for Librato.
If you write code for a living, chances are you've heard it by now: not only is patience measured in milliseconds, but prolonged load times can cost you big bucks - billions when it comes to companies like Amazon. The longer your page or app takes to load, the greater the chance your potential users have already moved on to bigger and better things. Knowing this, you've spent weeks optimizing your graphic assets and code path, yet haven't reduced load times as much as you had hoped. So, you turn to metrics to figure out what is happening.
This, to many, is the standard use case for metrics. It's something to turn to when there's a problem: a way to see the inner workings of the machine and gain insight. This means that the average metrics world-view, however, is often restrained by the monitoring systems we choose. While extremely powerful in their own right, turn-key monitoring solutions provide a deep level of visibility into the very specific and predefined operations they choose to monitor.
At Librato, we believe that metrics need to be a primary focus of from the onset, rather than a diagnostic tool only ever used when a problem arises. In software engineering, we refer to the process of integrating metrics into the development lifecycle as metrics-driven development (MDD), which gives both software engineers and operations engineers access to real-time metrics in order to help them validate hypotheses, improve designs, and understand, even before production, how the things they make will act in the real world.
When teams wait until problems appear in a fully-developed project, it's often already too late. Even if the metrics show you the problem, you may need to re-architect to respond appropriately. By comparison, if you have made metrics a part of the development process from the beginning, you are better situated to react as problems appear, and before they’re fully ingrained into your software architecture.
While the agile development movement began well over a decade ago, it is only now that we are realizing the level of visibility needed to truly react with agility. MDD gives developers the ability to deliver instrumentation-as-code. That is, developers include instrumentation in their code as a means of proving or disproving these assumptions as soon as their code is deployed into production, rather than waiting until it's too late.
To this end, Librato works hard to make it effortless for engineers to emit metrics from any combination of the open source monitoring tools they already use. Our REST API, popular turn-key integrations like AWS CloudWatch and Server Monitoring, as well as more than 80 supported, open-source collection agents combine to make Librato the most accessible and flexible telemetry system in the world today. With Librato, your metric choices are not bound by the system you choose. You can decide what combination of tools and metrics gives you the best possible visibility into all layers of your stack
Sign up for a free trial today, and put an end to the latent mysteries plaguing your response time.
Published at DZone with permission of Dave Josephsen , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.