This week at AWS Re:Invent, application performance management (APM) for microservice and cloud-native application provider Instana launched the ability to trace serverless Node.js functions running on AWS Lambda without the use of AWS X-Ray. While X-Ray does offer this same ability, Instana points out in a blog post that it not only comes at an additional per-trace cost, but also fails to support mixed environments, and furthermore “keeps you in the walled garden of AWS.”
According to Instana director of revenue marketing Chris Farrell, Instana works slightly differently from other APM tools by using a “single-agent model,” where standalone agents collect data from multiple “sensors,” which are more lightweight than a typical agent. This model allows for an automated deployment, rather than requiring developers to return to modify pre-existing code to add the instrumentation later. Farrell sees this as a big differentiator for Instana’s Lambda tracing functionality.
“Our Node.js instrumentation already exists without requiring code modification and we’ve figured out a way to deploy it within the Lambda environment that allows it to act the same way, as opposed to requiring the developer to write a middleman piece or an API piece to hook us in. We were able to actually take our same, no-code, no-modification required instrumentation and apply it to Lambda functions,” said Farrell in an interview with The New Stack. “What other tools do is they either inject an API ahead of time or they pre-instrument the code. What we’ve done with our instrumentation is allow it to be loaded up on the fly along with the Node.js code that gets loaded up by the AWS Lambda so that we get our data the same way we would always get it.”
This new feature comes as an extension of Instana’s AutoTrace functionality and provides automated native tracing for AWS Lambda functions written in Node.js 10.x or later and for all supported Node.js libraries and frameworks, and at the same time supporting tracing for other programming languages, platforms and deployments. Farrell points out that tracing needs to be able to exist beyond just the code that lives on AWS to provide teams with all the information they need.
“The idea of tracing is to be able to create an end-to-end connected span tied to a specific request. That request could be an end-user logging in to a specific website or it could be a front end request from a device or some other application at launch,” said Farrell. “The key is, as you go into the world of microservice applications, being able to actually trace that specific request as it goes service to service, container to container, through things that may or may not be there when the IT user of the tool actually comes in and looks at it.”
With its Lambda tracing, Instana now offers “Lambda Function Overview Dashboards” that show the function name, function version, AWS region, interdependencies, and other Lambda runtime metrics, as well as other performance information, such as that provided by CloudWatch.
To get a first-hand look at the new features, visit Instana at booth #511 at AWS Re:Invent.