As a Serverless computing service, Lambda already saves hundreds of thousands of dollars for many companies out there. While traditional server-based infrastructures usually lead to overprovisioning and waste, the Serverless pay-per-use model enables cost-effective cloud spending. Nevertheless, there are still more cost-saving opportunities that many development teams miss on AWS Lambda. Optimizing Lambda functions can be time-consuming, though.
We recently wrote about whether API Gateway can act as a Load Balancer. The answer is yes and, in many cases, they are substitutes for each other. But how should we choose which one to use? In this article, we will dive into more details on how these two types of HTTP networking services compare, using the AWS services as a base level: API Gateway and Application Load Balancer (ALB). Both are highly-scalable services to a point that scalability should not be a concern for most use cases.
The most common API architecture on Serverless backends is not necessarily the most scalable and resilient option. Many developers take for granted that an AWS Lambda processing external requests will require an API Gateway endpoint connected directly to it. One of the best options to decouple a Lambda function and an API Gateway endpoint is by using an SQS queue. Requests come into API Gateway, which are sent as messages to SQS.
We added out of the box alerts for irregular behaviors. Lumigo Insights will trigger an alert the second it detects an irregularity with your functions ensuring you’ll know the second things start to go sideways.
Roadmap.sh is a quite popular Github repo providing community-driven guidelines for professionals willing to join or develop a software career. From Backend to Fullstack to DevOps. I missed some details there about Serverless environments and thought about sparking a discussion around this. Perhaps these ideas can mature and eventually become a contribution to the repository.
One of the great things about Lumigo is that it records a lot of context about each Lambda invocation. This includes the invocation event and its return value, as well as the environment variables that were in use at the time. I find this super helpful because it gives me all the relevant information about an invocation in one place. I don’t have to jump between different screens to find the relevant information and then piece the clues together in my head.
About 90% of all Lambda functions monitored by Dashbird on AWS Lambda are running Nodejs and Python runtimes. Is this purely a reflection of the general popularity of these programming languages?