What is Lambda?
Lambda, also known as AWS Lambda, is Amazon’s offering in the Serverless Computing (or Function as a Service – FaaS), market. It is considered to be the most mature Serverless platform in the FaaS space. As is the case with other application delivery technologies, monitoring Lambda isn’t as straightforward as monitoring older monolithic applications. Even so, the benefits of Serverless Computing require Development and Ops teams to seriously consider a Serverless implementation to reap the benefits of Serverless Computing (FaaS), especially when it comes to operational efficiency and CI/CD.
Challenges of Monitoring Lambda
While FaaS / Serverless is an option that is being used by development and ops teams, a wider adoption of serverless computing is being held back due to the lack of supporting tooling. With even more moving parts in a serverless application it requires automatic monitoring to ensure that it is processing events in a prompt and error free way. Stating the obvious, with serverless you don’t have to worry about the servers, instead you should focus on the quality of service the functions are providing. The ability to trace transactions across multiple function invocations will be the key to understanding where any bottlenecks or errors are occuring.
Solution Requirements for Monitoring Lambda
As part of the suite of services provided by Amazon Web Services (AWS) there are Cloud Watch and X-Ray, these provide basic monitoring for Lambda functions with time series data and tracing respectively. These are a great starting point and are certainly better than nothing but there are some limitations.
- Manual management of all alerting rules
- Hybrid environments
One of the benefits of FaaS is the enablement of CI/CD which results in constant change, the monitoring solution be able to adapt to this rate of change automatically, requiring as little manual intervention as possible. Most organisations are still in the process of migrating from legacy monolithic or SOA applications to microservices and FaaS, the monitoring solution must be able to manage observability data from these disparate sources.
Instana Technology Preview: Lambda Monitoring Solution
As part of the set of sensors available for AWS Instana has trace integration with X-Ray. This integration is currently available as a technology preview and not yet suitable for production environments. The sensor automatically imports traces from X-Ray into Instana alongside the regular traces from the other supported languages. Instana’s AI powered backend processes all traces as they arrive and automatically calculates the service KPIs: latency, throughput and error rate. Anomalies in these KPIs will raise an Incident; the manual burden of constantly configuring thresholds and alerts is not required.
Service map in Instana dynamically built from AWS X-Ray traces.
Detailed trace visualisation in Instana from AWS X-Ray
More detailed function KPI time series metrics in Instana.
Monitoring Lambda Today
Monitoring AWS Lambda hybrid environments is possible. With the Instana X-Ray technology preview it is possible to collect metrics and traces across all your environments, from legacy monolithic and SOA applications, to microservices running in Docker, to FaaS running in AWS Lambda. Unfortunately end to end tracing into Lambda is not yet possible due to the lack of a standard on how to pass trace context between different tracing systems. The W3C “Distributed Trace Conext Community Group”, of which Instana is a participant, is currently working on defining a standard.
Serverless computing or FaaS is still for those on the bleeding edge; and Instana is right there with you contributing to the open source community.