Google Stackdriver APM enhances app monitoring

Additional profiling, debugging and tracing tools for Google's Stackdriver suite expand application performance management services for developers.

Google's entry into application performance management, a suite of tools called Google Stackdriver APM, gives developers tighter control over issues that may arise in their applications.

As with much of the company's technology, Google Stackdriver APM was first built for Google's own developers and then released to the community at large. The suite of application performance management (APM) tools, released in late March, helps developers track issues with their code rather than leave that task to operations staff, as the developers have more control over the code.

The Google Stackdriver suite consists of three primary tools: Profiler, Debugger and Trace. Google already had Stackdriver Monitoring and Logging tools to alert users to potential infrastructure or security problems with their code. Moreover, Stackdriver Trace and Debugger were also two existing products to help developers analyze and debug applications while they run in production, without causing impact to the user experience, said Morgan McLean, a product manager at Google, in a blog post.

Google continuously profiles its applications to identify inefficiently written code, and these tools are used every day across the company, he added.

Cloud providers have started to offer APM tools to enterprises that are under pressure to push code faster through new forms of delivery pipelines, and lean on APM for app visibility.

[APM is] sort of the window into modern DevOps, and has become a key component of the application lifecycle management for PaaS offerings.
Charlotte Dunlapanalyst, GlobalData

"It's sort of the window into modern DevOps, and has become a key component of the application lifecycle management for PaaS offerings," said Charlotte Dunlap, an analyst at GlobalData in Santa Cruz, Calif.

Stackdriver Profiler lets developers profile and explore how their code actually executes in production, to optimize performance and reduce cost of computation, according to Google's McLean. It runs continuously to analyze code execution across all environments, and uses statistical methods to minimize impact on targeted codebases. Stackdriver Profiler also collects data via lightweight sampling-based instrumentation that runs across all of an application's instances.

"Stackdriver Debugger provides a breakpoint-style debugging process for production applications, with no negative customer impact," McLean said. This breakpoint-style debugging essentially enables the developer to start and pause the code with no impact on the user. The debugger also simplifies root-cause analysis for hard-to-find production code issues. Stackdriver Debugger supports Java, Go, Node.js, C#, Python, Ruby and PHP. Google provides integrations between Stackdriver Debugger and GitHub Enterprise and GitLab.

Meanwhile, Stackdriver Trace helps developers analyze how customer requests propagate through their application, and helps reduce latency and performs root cause analysis by continuously sampling requests and automatically capturing their propagation and latency.

It's no surprise that Google is moving into this space to differentiate and appeal to developers and operations teams, said GlobalData's Dunlap.

"IBM began offering APM through its cloud last year as a component of IBM Microservice Builder framework," she said. "And of course Cisco paid a hefty price for APM pure-play AppDynamics."

Microsoft and AWS both provide APM services, through Microsoft's Application Insights and AWS' CloudWatch.

Dig Deeper on Development tools for continuous software delivery

App Architecture
Software Quality
Cloud Computing