AWS Lambda: a perfectly reasonable serverless compute option
Updated January 06, 2022

AWS Lambda: a perfectly reasonable serverless compute option

Anonymous | TrustRadius Reviewer
Score 8 out of 10
Vetted Review
Verified User

Overall Satisfaction with AWS Lambda

AWS Lambda is widely used in our organization by a number of development teams. It is used in both one-off tasks and coordinated workflows. My team is responsible for infrastructure management, and there are many use cases for which we have opted to use AWS Lambda. AWS Lambda is often a good choice for us when we do not need a standing compute resource.
  • Broad support for different language runtimes: Python, Node.js, C#, Java, Golang, Powershell, Ruby
  • Save money on compute resources by paying by request volume and memory used/time
  • Integrates terrifically with a number of other AWS resources
  • Cold start--you have to account for the runtime environment being spun up every time; for a heavy operation, that can increase runtime duration and, in turn, cost
  • You have to consider networking, which is also true of other compute resources, technically
  • AWS Lambda is an integral part of our compute strategy with AWS. It's been highly effective for us in cost savings and output.
We also use Google Cloud Functions because we use GCP in addition to AWS. AWS Lambda is comparable to Google Cloud Functions in its functionality. The main advantage of going with one or the other has to do with what resources it will interact with--we use AWS Lambda to interact with AWS resources and Google Cloud Functions to interact with GCP resources.

Do you think AWS Lambda delivers good value for the price?

Yes

Are you happy with AWS Lambda's feature set?

Yes

Did AWS Lambda live up to sales and marketing promises?

Yes

Did implementation of AWS Lambda go as expected?

Yes

Would you buy AWS Lambda again?

Yes

I would recommend using AWS Lambda when you have one-off tasks that can be accomplished with a single function and do not require a persistent, constantly running compute resource. Some example use cases include file or image processing, data analytics (you might have DynamoDB stream updates to AWS Lambda for processing), in conjunction with API Gateway as a backend.
I would not recommend using AWS Lambda when your Lambda function has potentially long-running, asynchronous calls involved (e.g., calling out to a service hosted in another cloud platform). This can drive up execution time and, in turn, cost. While Lambda layers allow you to share code between Lambda functions, I would not recommend AWS Lambda for cases where there are high degrees of interdependence between the Lambdas. I think that Lambdas work better when considered isolated.