5 ms·
Isn't the cost significantly higher? Even with bulk pricing, lambda was more than 8x more expensive than ec2 for constant computing.
by jadbox 10y ago
Isn't the cost significantly higher? Even with bulk pricing, lambda was more than 8x more expensive than ec2 for constant computing.
- philliphaydon 10y agoIt's highly dependent on your usage. If you want a crib job to run that isn't on your production server and it's to run every few hours. Great to schedule that on AWS lambda. EC2 would be more expensive. Trying to process 1000s of requests on AWS lambda could end up hitting the limits of lambda and cost you more. I use lambda to process exif data in images as they are uploaded to S3. Which is awesome because it doesn't require services running on the web server and costs me nothing because it comes into the free tier of AWS lambda.
- philliphaydon 10y agoOh and AWS database access sucks balls. Because you cannot pool connections you must open/close db connections. If you fail to close you will exhaust the database connections quickly and kill your app until the connections expire.
- mjb 10y agoPhillip - have you tried making your database connection in 'static' code? With container re-use (see https://aws.amazon.com/blogs/compute/container-reuse-in-lambda/ https://aws.amazon.com/blogs/compute/container-reuse-in-lamb...), you should see multiple invokes going to the same container, and you can use the same connection for all of them. That will only happen if your traffic is high enough.
- k__ 10y agoI find it kinda strange, that in every official doc they talk about how not to rely on this, but every example I find relies on thsi.
- random3 10y agoThat's only if you compare raw compute. When you create a VM on AWS it will get <10% utilization (many times close to 1%). Sometimes you need to factor in for varying utilization so you need to overprovision but if you have many services and the deployment unit is the VM then you end up having tons of VMs doing nothing. With containers the deployment model becomes more granular, hence you can share the VM and increase utilization, but you'll still pay for idle time. With hosted functions (like lambda) you don't pay idle time, so in many cases it's much more efficient. Indeed, if you host your own "lambda" implementation, you may or may not have cost improvements. In this case it may be just a matter of operational efficiency.
- imglorp 10y agoIt depends on your traffic. If you have a million 1ms transactions per second, you'll spend $500k/month, or $6m/year. https://s3.amazonaws.com/lambda-tools/pricing-calculator.html https://s3.amazonaws.com/lambda-tools/pricing-calculator.htm...
- mej10 10y agoThat pricing calculator isn't correct. From the AWS Lambda pricing page: Duration is calculated from the time your code begins executing until it returns or otherwise terminates, rounded up to the nearest 100ms So it would really be closed to $1 million per month.