We’ve been hearing the terms “APM” and “DevOps” thrown around by a number of vendors and analysts these days. Two recent interviews can clarify what this all means for developers.
First, let me start by saying there is not even agreement as to what APM stands for. It comes down to which side of the street you work. For some, such as AppDynamics, HP and OpNet—and according to analysis firm Gartner—APM means Application Performance Monitoring. That’s usually associated with the IT or operations department, as they use APM software to make sure calls are being received and responded to in the time frame established, that Web pages load in the prescribed time, and the like. Rarely do these issues find their way back to the development arena, as the tools are not designed for that task.
Others, such as the folks at Compuware’s dynaTrace business unit, define APM as Application Performance Management. The company sells software that captures events as they come across the network and can drill down to the line of code to find the problem, an extension of what we used to call “root-cause analysis.”
John Van Siclen, general manager of the APM business unit at Compuware (and formerly CEO of dynaTrace), said he wanted to use the term “performance life cycle” to describe how organizations need to bring development, testing and production together throughout the application process. But he said he was told by Gartner not to use it because it was something HP, IBM and others had promised but could not deliver.
“Application monitoring was being sold to operations as a way to triage to a fault domain,” he said. “A data center is a fault domain. It was really coarse-grained” and did not support the applications people, he continued. “Application specialists—the architects, testers, development managers—were underserved.”
dynaTrace 4, which came out in early October, enhances Compuware’s PurePath technology by extending it to mainframe MQ and CICS, the leading enterprise service buses, C/C++, and Tomcat, Van Siclen said, without the need to instrument the software to read across methods and componentry within an application. “We did a lot of work in intelligence and analytics so humans can manage more complex environments,” he said.
PurePath, he explained, picks up every click and call to the back end, and traces and captures all transactions from that entry point, front to back. Thus, it becomes “the lingua franca between the sides”—operations and development, he said.
Communication between those sides is at the heart of “DevOps,” a term that’s pooh-poohed as snake oil by some (Google “Ted Dziuba,” “DevOps” and “Scam,” for starters) because it lacks a solid, implementable methodology, instead merely espousing the virtues of collaboration and communication between the two sides. Dziuba sees it as a term created by consultants and book authors to cash it on yet another buzzword with no teeth.
However, Eric Minick, senior consultant at UrbanCode, explained this gap between development and operations exists because the teams, while part of one business, have two different sets of goals. Developers want to bring new functionality out quickly to serve the business, while operations wants to serve the business with uptime and performance. Developers push change; operations resist change. But that’s the very bottleneck to rapid delivery of software that DevOps looks to clear away. Minick described these environmental differences as the big driver for DevOps, to bridge the communication and collaboration gaps.
DevOps, he said, “is driven by a need for efficiency and consistency” in application delivery, so applications and the environments they’re built to run in are optimized and maximized for each other. He, too, sees tools as the way to get the two sides to work together, noting that while there are no specific tools for DevOps, building a coherent tool chain is critical for success. UrbanCode sells uBuild for build automation and continuous integration, and uDeploy for deployment and release management.
The explosion of applications on mobile devices such as smartphones and tablets, along with the drive to deliver software more rapidly to meet changing demands in the market or to take advantage of short-lived opportunities, are behind this melding of development and operations. Building applications and testing them in the production environment, and then ensuring they perform to requirements once they’re deployed, is the new corporate mandate.
So, add APM and DevOps to security as issues moving into the realm of development. I’d love to hear from those that are doing these things to find out how they have made delivery of software faster, with fewer issues. Are you out there?
David Rubinstein is editor-in-chief of SD Times.