Monitoring Lambda memory usage - X-Ray aware version

Tuesday, 30 July 2019, 07:12

In serverless architecture on AWS Lambda is a basic computing service. AWS provides some basic metrics related to it, like execution time, invocations count etc. but one important metric is missing - memory consumption. Knowing how much memory your functions use allows you to optimize resources and reduce costs (or increase to avoid failures). It can be very simply generated out of logs (since Lambda logs execution report after each invocation) with CloudWatch metric filter feature. And this approach has been described plenty of times around the web, including ready solutions. So I will not elaborate that much on the concept, as has already been done. But there is one trick - if you use X-Ray this solutions will not work. At least - not out of the box.

Tags: , , , , , ,

» Komentarze

Deploying Lambda@Edge with pl.wrzasq.lambda

Thursday, 22 November 2018, 17:40

When working with cloud, one of the most efficient approaches you can leverage is serverless architecture. This concept allows you to define your entire application as set of interacting resources, without worrying about underlying infrastructure. Serverless applications can scale virtually to infinity, are cost-effective, lower maintenance costs (forget about patching kernels, installing system packages, defining upgrade paths etc.). Per-se, serverless it is a general pattern, but I will focus on AWS as this is my area of expertise - here, the main computing unit in serverless world is Lambda. It is a FaaS component that allows you to run your piece of code "in the cloud", which means decoupled form any computing hardware. Such code pieces can be triggered by you to perform some computation, but can also act as a handlers for various events across the platform (like SNS message processors, API Gateway authorization handlers and many many more). One of such integration ways is Lambda@Edge, which allows for handling CloudFront request events.

Tags: , , , , ,

» Komentarze

Multiple Amazon API Gateway stages

Sunday, 03 December 2017, 23:05

Short time ago I described CI/CD pipeline design, that allows for handling multiple environment deployments replicated from same CloudFormation template. Process is usually quite easy if you have some EC2-based deployment, per-environment ECS cluster or Lambda functions that you can deploy freely however you like. Things get complicated when you integrate API Gateway. The easiest way would be to deploy separate APIs for each of your environments. But it seems so wrong, isn't it? API Gateway has a feature of stages, that seems to be perfect for such cases.

Tags: , , , ,

» Komentarze

Java+AWS Lambda+Spring - a little less wrong way

Sunday, 07 May 2017, 23:00

FaaS approach is still quite fresh and developers keep comming out with better and better solutions for handling it. One of the leading cloud services providing function applications is AWS Lambda and here I will describe my exprience with it, but I'm pretty sure these clues can apply regardless of provider, which you use. Obviously when a developer face new environment, like this, the easiest way is to try it out with your known technological stack. And no matter how improper it seems to be, you can handle it with Java. And when Java, you will very likely also think of using Spring to help you with it. How? Why? Why not?

Tags: , , , , ,

» Komentarze