|
|
|
|
|
by p1necone
1905 days ago
|
|
I don't think you ever want storage to be deleted as part of an automatic bill cap system. Just refuse access, or allow reads but not writes until the customer reviews it. There's even an HTTP code for it: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/402 (non standard, but I know for a fact it's used by Azure). Actually deleting things should be done after a period of time specified in writing in the contract with the customer, and I'd hope you'd try to contact them first. But I think an automatic bill cap absolutely makes sense for storage, and I can't really see any reasons it couldn't work. |
|
You’re assuming the existence of a function which can extrapolate the daily/monthly/etc costs.
If I upload a 10GB file at $0.10/gbmo, how much will it cost me? We have no idea because we don’t know how long it will be up there.
We have a process that downloads and streams massive reports into S3, then a process is immediately kicked off to handle processing and importing. As soon as that completes, the files are deleted.
So we’re paying about 0.04 months of storage every month. The naive solution is estimating 1.00. You’re off by a factor of ~24.
We could... not handle that. Now we’re in a situation where we’re consistently spending $100/mo on storage, set a liberal $150 budget and immediately everything breaks. We actually needed to set a $2400 budget! Expecting a $100 bill and getting a $2400 bill some month when something goes wrong is as good as doing nothing.
You’re also going to need to account for the interaction of every single object in a bucket and the lifecycle rules set which is an absolutely ridiculous amount of overhead.
Now extend this to... literally every one of the seemingly bazillion AWS services.
The only cap that’s going to be easy and realistic to implement without a crystal ball is a hard cut-off once you’ve actually accrued the charges, and a “shut down all my servers, delete all my data, and just close my account” cap is useful to almost no one.
If you want useful caps they need to be aware of your workload. The best person to implement those is you. The tools are there.