Instrumenting serverless environments
Serverless environments need observability more than other systems—they are frequently used to integrate different services with little-to-no user code, making debugging and local testing difficult. With load balancing, scaling, and other common infrastructure pieces handled for us, we still need to understand what’s going on when things don’t work as expected.
In addition, as users, we are very limited with telemetry collection options—we can’t install agents, configure runtime, or run something in privileged mode—we can only use what cloud providers expose. At the same time, cloud providers have a great opportunity to instrument code for us. Let’s see what AWS Lambda and Azure Functions provide out of the box and what we can do on top of it.
AWS Lambda
AWS Lambda supports invocation tracing with X-Ray out of the box; you just need to enable active tracing via console or CLI to trace incoming...