TrustRadius: an HG Insights company

AWS Lambda

Score8.3 out of 10

372 Reviews and Ratings

What is AWS Lambda?

AWS Lambda is a serverless computing platform that lets users run code without provisioning or managing servers. With Lambda, users can run code for virtually any type of app or backend service—all with zero administration. It takes of requirements to run and scale code with high availability.

Top Performing Features

  • Single Sign-On (SSO)

    Allows users to use one set of login credentials to access multiple applications

    Category average: 9.2

  • Programming Language Diversity

    The product’s support level for a variety of programming languages. For example, a 9 could indicate that the product supports all common programming languages. A 5 could indicate that the product only supports some common languages, or that its support for important languages is buggy or incomplete.

    Category average: 8.9

  • Function/Database Integration

    The product’s support for connecting databases to functions. Describes how easy, fast, or natively-supported database integration is.

    Category average: 8.7

Areas for Improvement

  • Dashboards

    Users can create, customize and share dashboards, which provide an overview of the most important metrics.

    Category average: 6

  • Standard reports

    The software offers pre-built reports with metrics standard to the category.

    Category average: 6.4

  • Custom reports

    Users can create custom reports.

    Category average: 5.2

Lambdas - good for deploying quickly.

Use Cases and Deployment Scope

We use Lambdas as the primary deployment mechanism for our APIs. It provides flexible ways to deploy without worrying too much about infrastructure, server resilience, or load.

Pros

  • It scales automatically with demand.
  • It reduces operational overhead significantly.
  • It integrates seamlessly with other AWS services.
  • It provides easy ways to deploy and get to prod.

Cons

  • Cold starts are still a pain sometimes.
  • Deployment can feel clunky. The zipped files can still become really bulky and fail.
  • Local debugging isn't always straightforward; it's challenging to set up on my machine for dummy Lambda instances.

Return on Investment

  • Less server stuff to manage probably saves some cash.
  • Scales itself, so we aren't paying for idle servers all the time.
  • It's quicker to get things out there, so we can focus on the product roadmap instead of deployment.

Usability

Alternatives Considered

Amazon Elastic Compute Cloud (EC2), Azure Functions and Cloudflare Workers

Other Software Used

Amazon Simple Queue Service (SQS), Amazon DynamoDB, Amazon API Gateway

Easy to integrate servers less functions

Use Cases and Deployment Scope

We utiliza AWS Lambda to execute jobs and connects async executions to the rest of AWS services. AWS Lambda is also used based on events triggered by other AWS services or our application. In a particular case example you can use Lambda to send a email to a customer after some event happens and your application call the Lambda run.

Pros

  • Asynchronous jobs
  • Recurring jobs
  • Scoped code execution
  • Event follow up

Cons

  • Interface
  • Usage
  • Debugging

Return on Investment

  • Lower cost to run jobs, approximately 70%+
  • Quick wins on events follow up, reducing time to execute idea to action by 80%
  • Easy integration with AWS, reducing implementation time by 90%

Usability

Alternatives Considered

Cloudflare Workers

Other Software Used

Amazon RDS Performance Insights, PostgreSQL, Amazon Simple Notification Service (SNS)

Lambda Lambda Lambda

Use Cases and Deployment Scope

We use a lot of Lambda for all of our customized logic needs, we no longer deploy anything on EC2. It scales and costs beautifully, but it does require a different way of not only deploying, but also thinking about your software. It's limitations are its strengths if used a appropriately.

Pros

  • Scale
  • Performance
  • Encapsulation
  • Cost

Cons

  • Memory
  • Execution Time limits
  • Error Reporting

Return on Investment

  • Cost
  • Response Time
  • It really does a good job of changing your engineering team's thinking to Cloud based

Usability

Other Software Used

AWS Glue, Amazon Kinesis, Amazon S3 (Simple Storage Service)

Seamless Serverless Computing with AWS Lambda

Use Cases and Deployment Scope

So, in a recent task, we developed an application where user-uploaded images were getting stored in S3, triggering AWS Lambda function to resize them for uniform display. AWS Lambda also handled CRUD operations, which allows us to focus solely on business logic without managing servers. This serverless approach has streamlined development and we continue to use it for various tasks.

Pros

  • Schedule Task Execution like AWS Lambda can automate tasks like cleanups and backups.
  • Serverless log analysis
  • Event Driven Data Processing

Cons

  • AWS Lambda has a maximum execution time of 15 minutes, making it unsuitable for tasks that require longer processing times
  • As AWS Lambda is Serverless, Debugging Lambda is not easy.
  • cold starts in AWS Lambda can affect real time performance

Return on Investment

  • No infrastructure management, Lower costs.
  • Reduced manual wok.
  • Faster User deployments.
  • Better User experience

Usability

Other Software Used

AWS Auto Scaling

When to use AWS Lambda

Use Cases and Deployment Scope

We use AWS Lambda for running some periodic tasks. We've configured some triggers using AWS CloudWatch Alarms which trigger these Lambdas at certain intervals. This solves our business problem as we don't need to run a separate server for this neither it adds a load on any of the existing servers which are there to serve the requests. It only runs when there is a trigger and we only have to pay for the compute capacity we use.

Pros

  • No provisioning required - we don't have to pay anything upfront
  • Serverless deployment - it gets executed only when request comes and we pay only for the time the request is getting executed
  • Integrates well with AWS CloudWatch triggers so it is easy to setup scheduled tasks like cron jobs

Cons

  • As of now AWS Lambda just works as a function and all other deployment configurations are obscured. This doesn't let us integrate it with other debugging and monitoring tools like Sentry. If AWS Lambda can add support for some external integrations, that would be helpful.
  • Also, the lambda_handler function is passed with event and context arguments which can't be constructed locally so local development and testing of AWS Lambda code is difficult as of now. If AWS Lambda adds some support for local development, that would be great.

Return on Investment

  • We were able to reduce cost as we didn't have to provision a new server like an EC2 instance but only paid for what we used
  • Also, because of integration with CloudWatch for triggers, it was easy to schedule the time of invocation and edit the time of invocation when needed
  • Because of integration with other AWS services, it is easy to access S3 storage or an RDS database

Other Software Used

Amazon Managed Streaming for Apache Kafka (Amazon MSK)