5 ms·
The GAE change is that "true resources-based pricing" switched from an overabundant, almost irrelevant resource (CPU time) to the actual resource in short suppl
by buff-a 15y ago
The GAE change is that "true resources-based pricing" switched from an overabundant, almost irrelevant resource (CPU time) to the actual resource in short supply - RAM.
Except that thats just not true! We aren't charged by MB-hour. We are charged by instance hour. Do I pay less if my app is using only a small amount of memory? Not at all.
You may argue that instances are a proxy for ram. Certainly they are. They just aren't a proxy that has useful, meaningful metrics. The rules for when or why the infamous scheduler decides to spin up a new instance is pretty much fucking voodoo right now. Before, I had a metric, and it was directly related to me writing good code. Now, I might as well read tea leaves.
So, specifically, I am not complaining about being billed for RAM. If this is the route they want to go (and I understand why), then I my complaint is precisely that I am not being billed for RAM.
- stickfigure 15y agoI'm going to speculate that all instances reserve a fixed amount of RAM irrespective of actual heap usage. I can't speak authoritatively about GAE, but this is how I would design the system. The problem is that while your instance may only use 30MB now, it could grow to 100MB in an instant without warning. Tipping a box into swap would effectively crash all instances present. Oversubscribing RAM is a dangerous game, and I suspect Google doesn't try to play it - they have enough trouble debugging performance issues as it is. So basically, an instance represents a fixed about of RAM. Instance-hours and RAM-hours are the same.
- buff-a 15y agoI'm going to speculate Primary complaint. We are all speculating. We went from measurement to speculation. I can't write performance applications on speculation.