4 ms·
Here's a hypothetical scenario: You've just made a container image that does something cool, and have published it on your site, which is running on the cheape
by CaliforniaKarl 7y ago
Here's a hypothetical scenario:
You've just made a container image that does something cool, and have published it on your site, which is running on the cheapest Amazon Lightsail plan (in Ohio). The final container image is 50 MB in size.
(Yes, it's weird that you wouldn't publish it to Docker Hub or the like. Suspension of disbelief, please…)
A grad student somewhere decides they like your container. They write a script that downloads your container to $TMP, and runs it with their input. Over a week, the student runs their job 50,000 times.
(Running a compute job 50,000 times is not unusual in HPC. Each run has a different input, and since your cluster would have a job scheduler, breaking up the work helps make better use of the cluster.)
Because the student downloaded the container to $TMP, a new download has to happen each time the job is run. 50,000 downloads of a 50 MB container is 2.5 TB.
(The docs say TB and GB, so I'm assuming base-10 instead of base-2 here.)
Your lightsail plan is $3.50 per month, and includes 1 TB of transfer. You will have at least 1.5 TB of extra transfer this month. At 9¢ per GB, 1500 GB of extra transfer is $135.
Please do not dismiss this out-of-hand. The scenario may seem a bit contrived, but unexpected bandwidth charges do hit people, and can make you really question your dedication, when having to pay for the access by people you don't know.
- codingslave 7y agoIf you don't want to be charged for the compute power, don't make the service.
- CaliforniaKarl 7y agoIn this example, the person who created the container image isn’t paying for the compute power, they’re paying for the bandwidth cost of those users downloading the thing.
- syntheticcdo 7y agoI would be responsible. It is up to me - the server operator - the fulfill my contract with Amazon. I COULD have set up billing alerts, rate limiting, WAF, etc to avoid being charged or to shut down the unexpected usage, but I didn't. I put something on the internet so I am responsible for it.
- democracy 7y agoYou are right and this is why billing alerting (like AWS's cloud watch) is a good thing.