Overall Satisfaction with AWS Lambda
We use AWS Lambda to host our serverless lambda functions. It allows us to execute segments of our computational code that don't require actual virtual machines hosted on compute engines. This allows us to achieve very low costs for simple pieces of code that can be run quickly a large number of times.
- Short computational code - For those that need scalability without maintaining servers, AWS lambda basically achieves all of this as one service.
- Scalability - For most lambda services, you are charged by run amount, as long as run-time remains low.
- Non-hosted websites/serverless code - Services like Netlify implement similar lambda functionality that is completely free. There may be services hosted on Amazon that achieve the same.
- UI could use some improvement - Like the rest of the Amazon Web Services UI, much of the interface is complex and hard to understand at the beginning.
- Hard to troubleshoot/debug - Lambda, in itself, is set up in an environment that makes it difficult to troubleshoot in the product. The use of staging production code is absolutely necessary.
- The pricing is a bit more expensive when compared to other services that provide lambda function execution services.
- Positive - Only paying for when code is run, unlike virtual machines where you pay always regardless of processing power usage.
- Positive - Scalability and accommodating larger amounts of demand is much cheaper. Instead of scaling up virtual machines and increasing the prices you pay for that, you are just increasing the number of times your lambda function is run.
- Negative - Debugging/troubleshooting, and developing for lambda functions take a bit more time to get used to, and migrating code from virtual machines and normal processes to Lambda functions can take a bit of time.
Azure Functions is another product that provides lambda functionality, but the documentation for some of Azure's products is quite hard to read. Additionally, AWS Lambda was one of the first cloud computing products on a large cloud service that implemented lambda functions, so they have had the most time to develop the product, increase the quality of service, and extend functionality to more languages. Amazon, by far, has the best service for Lambda that I know.