CI Tools and Best Practices in the Cloud

Continuous Integration

Subscribe to Continuous Integration: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Continuous Integration: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Continuous Integration Authors: Pat Romanski, Elizabeth White, Stackify Blog, Steve Wilson, Derek Weeks

Related Topics: Enterprise Application Performance, Agile Digital Transformation, Continuous Integration

Blog Feed Post

Slow is Smooth and Smooth is Fast: Application Performance Management and the New Development Mantra

In the mid-1980’s my dad ran SWAT teams for the LA County Sheriff. As a team leader, he had a simple mantra that he had learned while training with the Navy Seals and which he and his team repeated before every entry: “Slow is smooth. Smooth is fast.”

This simple phrase was their reminder that in the heat of the battle, there is a great urgency for speed. But when you move so fast that you make mistakes, it’s not fast at all. The key is to move slow enough to ensure that everything works smoothly — and that’s how you go fast.

This is an important thing for enterprise organizations to understand because the overriding philosophy today can best be summed up in two words: speed and agility.

This rallying cry has led to significant interest in agile development methodologies, DevOps, release and deployment automation, and the continuous integration/continuous delivery movement. Amid all this focus on delivery speed, however, organizations often leave code-level, transactional performance testing until it’s far too late in the development and deployment cycle.

The result is often less-than-smooth operational deployments that undermine the very organizational speed that they seek.

There is, however, a very familiar class of tools, but one which organizations see as purely operational, that can help solve this problem: Application Performance Management (APM).

A Fresh Look at APM

The logic of identifying code-level, transactional performance issues early in the development cycle is glaringly obvious. But so are the reasons that APM tools haven’t been used to perform this function thus far: cost and difficulty of deployment.

APM tools have been a staple of the enterprise IT management stack for most of the last two decades. But the major players in the market designed their tools to monitor applications in production — not in development. As a result, their architecture and pricing models made their use within the development lifecycle itself an impracticality.

This unavailability has left organizations with only legacy system testing and load testing technologies to test performance in pre-production — solutions that are far too slow, clunky and burdensome for a fast-moving world.

Stackify, a developer-focused Application Performance Management company, is offering an alternative approach that moves beyond simple simulations to uncover the relationship between the code and application performance throughout the pre- and post-production lifecycle.

Improving Performance at the Point of Development

There is a well-known axiom in the development world that is synonymous to my father’s SWAT team mantra: “The best time to find bugs is when you’re creating them.”

Of course, development teams know this — or at least they pay lip service to it. Quality Assurance (QA) teams and their embedded testing procedures are almost universally a part of the software development lifecycle. But there two corollary facts that are just as prevalent, if less discussed, in an ever-faster-moving development world: coders want to code (not test), and traditional testing won’t uncover the most common performance-related issues.

The problem is that traditional testing approaches primarily test code at a functional level — their aim: to identify code that just doesn’t work. But in today’s world, that’s a rarity. We’re long past the point in which consumers (internal or external) were tolerant of rampant and blatant bugs in the code. Today, the vast majority of issues that make the difference between perceived success or failure of a deployment come down to one thing: performance.

Unfortunately, developers discover most transactional performance issues only after they’re in production rather than at the point of development.

Stackify created Prefix to help close this gap. Prefix runs in your development environment and is a lightweight tool that shows real-time logs, errors, and queries, along with other real-time, performance-related information on the developers’ workstations. It helps them understand how long transactions take and can answer the key question, “what did my code just do,” while they can still do something about it.

Using APM to Improve QA

Prefix goes a long way toward closing the performance error gap. It enables coders to keep on coding, while simultaneously improving performance. Still, the highly integrated nature of the modern enterprise stack means that developers will not discover all transactional performance issues during development.

QA will continue to play a critical role in the development lifecycle. Here too, however, APM can play an important part in improving the quality of deployments.

Most current approaches to QA can only identify a limited set of functional and load-based issues. They test to ensure that things work as developers expect, but provide little insight into transactional performance problems — and also do little to help developers uncover the source of performance problems once they discover them. This challenge becomes even more acute when the source of the problem is an integration with another system or data source — an increasingly common occurrence.

For this reason, Stackify offers their Retrace APM tool in a version exclusively for Dev/Test environments. It is effectively the same tool as their production monitoring version, but they have priced it to encourage its use in development and test scenarios. When deployed in this manner, it can significantly help both QA and development teams identify and resolve performance issues long before they go into production.

The Intellyx Take

Increasing organizational speed and agility is a strategic imperative for nearly every enterprise. Organizations are expending vast resources and launching far-reaching efforts to reshape their organizations to compete in this fast, digitally-transformed world. In doing so, however, they run the risk of over-focusing on delivery speed and under-focusing on the need for “smooth” deployments that eliminate debilitating transactional performance issues before they occur.

Stackify’s approach of utilizing APM within and throughout the development lifecycle — as well as within production — is a unique strategy that can deliver significant benefits to organizations that apply it.

Copyright © Intellyx LLC. Stackify is an Intellyx client. Intellyx retains full editorial control over the content of this paper.

Read the original blog entry...

More Stories By Jason Bloomberg

Jason Bloomberg is the leading expert on architecting agility for the enterprise. As president of Intellyx, Mr. Bloomberg brings his years of thought leadership in the areas of Cloud Computing, Enterprise Architecture, and Service-Oriented Architecture to a global clientele of business executives, architects, software vendors, and Cloud service providers looking to achieve technology-enabled business agility across their organizations and for their customers. His latest book, The Agile Architecture Revolution (John Wiley & Sons, 2013), sets the stage for Mr. Bloomberg’s groundbreaking Agile Architecture vision.

Mr. Bloomberg is perhaps best known for his twelve years at ZapThink, where he created and delivered the Licensed ZapThink Architect (LZA) SOA course and associated credential, certifying over 1,700 professionals worldwide. He is one of the original Managing Partners of ZapThink LLC, the leading SOA advisory and analysis firm, which was acquired by Dovel Technologies in 2011. He now runs the successor to the LZA program, the Bloomberg Agile Architecture Course, around the world.

Mr. Bloomberg is a frequent conference speaker and prolific writer. He has published over 500 articles, spoken at over 300 conferences, Webinars, and other events, and has been quoted in the press over 1,400 times as the leading expert on agile approaches to architecture in the enterprise.

Mr. Bloomberg’s previous book, Service Orient or Be Doomed! How Service Orientation Will Change Your Business (John Wiley & Sons, 2006, coauthored with Ron Schmelzer), is recognized as the leading business book on Service Orientation. He also co-authored the books XML and Web Services Unleashed (SAMS Publishing, 2002), and Web Page Scripting Techniques (Hayden Books, 1996).

Prior to ZapThink, Mr. Bloomberg built a diverse background in eBusiness technology management and industry analysis, including serving as a senior analyst in IDC’s eBusiness Advisory group, as well as holding eBusiness management positions at USWeb/CKS (later marchFIRST) and WaveBend Solutions (now Hitachi Consulting).