AWS Lambda - Cloud functions with infinite scalability
August 12, 2019

AWS Lambda - Cloud functions with infinite scalability

Richard Rout | TrustRadius Reviewer
Score 7 out of 10
Vetted Review
Verified User

Overall Satisfaction with AWS Lambda

We use AWS Lambda to host our micro-services that don't need to worry about too much infrastructure. Lambdas are great at running pieces of code that don't necessarily have to belong in the main infrastructure. We have a few different lambdas that each have single responsibilities, such as creating and uploading files to S3, and running complex calculations.
  • Runs "functions" in the cloud. Pretty simple really
  • Always having the latest version available
  • Not having to worry about infrastructure
  • Anything too complex is not a great solution
  • Can take a little while to spin up if inactive for a while
  • Can be easy to misuse or abuse.
  • Less infrastructure to manage
  • Easier to scale
  • Easy to use.
There are a few gotchas with Lambdas. But overall, the usability is great. Once you understand that it's just the ability to run your code in the cloud, and don't think of it in terms of traditional servers/services. It's very easy to pick up, and basically everything boils down to a function. It takes an input and gives an output.
Like all things AWS. There is a bit of a learning curve, and support can be a bit complicated. The docs are aimed at AWS aficionados, the make sense eventually but may require a few reads. Also I'm not sure what other level of support AWS gives if you pay for it, but it's the standard for all AWS products.
But other similar things I've used are Azure Functions and GCP Google Cloud Functions. Like all services like this, the support is pretty much the same. AWS Lambda supports enough popular languages, and behaves pretty much the same as all of these similar services. It does it's job, it's simple and it does it well.
Anywhere you have an isolated responsibility of your code, AWS Lambdas are well suited for. If you have something that has to perform an intensive calculation - it makes sense to offload that to something like an AWS Lambda. Or something that needs to send data and integrate with another service, it can be a good place for that interface/job to live.

It can be possible to build a larger architecture using a series of AWS Lambdas, but it could become hard to maintain and be hard to understand very quickly.