This is cool, but if you extensively use cloud-native components where the bare metal is abstracted from you (eg: noSQL databases, pubsub, storage buckets, cloud functions, etc) it's very rare you're paying a fixed sum, compared to if you're doing stuff the old school way with a virtual machine assigned 2GB of RAM and 2 CPUs where it's more obvious that you're paying a fixed sum. I ran the tool on one of my projects'…
We need to iterate on the output for usage-based resources, repeating the same "Monthly cost depends on usage" hundreds of times is not great! Maybe summarizing it as "you have 20 Lambda functions, all running on US-east-1, with this pricing" is better? But you're right that it needs usage data, or models of usage data... For now, the CLI can fetch usage data from the cloud APIs for S3/Lambda/Dynamo and show engineer…
Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
31–36 of 36 posts
Re: Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
#32This is cool, but if you extensively use cloud-native components where the bare metal is abstracted from you (eg: noSQL databases, pubsub, storage buckets, cloud functions, etc) it's very rare you're paying a fixed sum, compared to if you're doing stuff the old school way with a virtual machine assigned 2GB of RAM and 2 CPUs where it's more obvious that you're paying a fixed sum. I ran the tool on one of my projects'…
> I don't really see how you'd be able to improve this situation, either I have to assume they could model some projections based on your current usage, and give you that? Predicting the future is hard, of course, but if their algorithm is simple & basic enough to understand, it'd surely be quite helpful, no?
Re: Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
#33Fun fact... HashiCorp actually got a patent around (part of) this https://patents.google.com/patent/US11347559B2/
Seriously? Does that mean any other provisioning method isn't able to estimate a cost without licensing this? E.g cloudformation?
https://github.com/aws-cloudformation/cloudformation-coverag...
Can't find a blog detailing exactly when it launched, but here's a file from an AWS SDK in 2011 with it:
https://github.com/aws/aws-sdk-java/blob/2b08c776c16fc1c8f58...
Re: Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
#34Earlier quoted context omitted.
We need to iterate on the output for usage-based resources, repeating the same "Monthly cost depends on usage" hundreds of times is not great! Maybe summarizing it as "you have 20 Lambda functions, all running on US-east-1, with this pricing" is better? But you're right that it needs usage data, or models of usage data... For now, the CLI can fetch usage data from the cloud APIs for S3/Lambda/Dynamo and show engineer…
Does that functionality work for GCP too?
Re: Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
#35Earlier quoted context omitted.
> I don't really see how you'd be able to improve this situation, either I have to assume they could model some projections based on your current usage, and give you that? Predicting the future is hard, of course, but if their algorithm is simple & basic enough to understand, it'd surely be quite helpful, no?
Sure, but that only works if you’re modifying an existing piece of infrastructure. If I’m creating a new cloud function they have no idea if it’s getting invoked once per week or once per second.
resource "aws_lambda" "foo" {
estimated_invocations = {p5: "1 per hour", p95: "100 per minute"}
# or
estimated_invocations = {avg: "5 per minute"}
}
Then you might get a range estimate of some kind, and maybe even an automated pull request with the real numbers if you're way off?Re: Show HN: Infracost (YC W21): Cloud Costs for Terraform in VSCode
#36Earlier quoted context omitted.
Sure, but that only works if you’re modifying an existing piece of infrastructure. If I’m creating a new cloud function they have no idea if it’s getting invoked once per week or once per second.
Ah, good point! That definitely does sound tricky. Might be cool to see some syntax where you encode your estimates, and it sends an async warning of some kind when the estimates are wildly off? resource "aws_lambda" "foo" { estimated_invocations = {p5: "1 per hour", p95: "100 per minute"} # or estimated_invocations = {avg: "5 per minute"} } Then you might get a range estimate of some kind, and maybe even an automate…