AWS Lambda Functions are often used as a part of a larger system. Those systems are not always running in AWS environments, at least in parts.
This comes with the challenge, that services in AWS can be traced with AWS X-Ray. On the other hand services outside of AWS are not part of the X-Ray traces and require an additional Distributed Tracing solution. The result, fragmented, independent traces and the loss of understanding of the full request flow.
Introduction to AWS Lambda Functions
According to Wikipedia, AWS Lambda is an event-driven, serverless computing platform provided by Amazon as a part of the Amazon Web Services. It is a computing service that runs code in response to events and automatically manages the computing resources required by that code.
AWS Lambda was designed for short function-like operations like inserting / updating values in an AWS S3 datastore or DynamoDB tables. It is, however, also used to build fast-responding APIs, especially with IoT device metric readings and other HTTP-alike traffic.
Tracing AWS Lambda with Instana AutoTrace
Instana AutoTrace™ for AWS Lambda comes bundled with the native AutoTrace functionality for programming languages like Node.js. Additional provisioning or initialization steps are not necessary, only wrap your code with the Instana AWS Lambda library.
If a new service is started, Instana AutoTrace will instrument the service on the fly and start reporting traces to the Instana backend. Discovery is fully automatic and continuous. Every service change will be recorded into Instana’s Dynamic Graph backend model.
Automatic Dependency Mapping
Instana provides fully Automatic Dependency Mapping, not only within AWS services, but throughout the whole system. Overcome the AWS X-Ray walled garden.
As new versions of your AWS Lambda Functions get deployed, Instana immediately picks up the new version and provides you with information to understand the impact of the new deployment.
Compared to the most common approaches of sampling data, Instana traces every single request throughout the system to provide immediate visibility with a full end-to-end view. All the way from the frontend, down to the database.
To monitor your AWS Lambda Function written in Node.js, just add the Instana Collector like you would on a standard Node.js application. The according steps are described in the documentation and wrap your function’s code with a simple call. That’s all.
When the service function is deployed to AWS Lambda, Instana AutoTrace will automatically instrument the application and start reporting to your Instana account.
If you do not yet have an Instana account, sign up for a free trial now.