It’s not even that it’s “greedy”. It’s that the markup over the commodity price for the given feature is so large (pretty much between 10,000 and 100,000X) that there’s no room for your own markup over your Bubble costs, if you want to build something that you could possibly monetize.
OK, so here’s some info on SSAs: I tested my simplest/most trivial SSA, “Flow State Single SSA” (from List Popper and Friends). This is basically the simplest Bubble lambda that you could build - it takes the input expression and echoes it to the plugin’s output state.
I tested it here executing a workflow that just calls Flow State Single once on a button click and did that 6 times. (The input expression in this case was Do A Search for Favorite Thing: first item. I probably should have just made it an integer but didn’t think of that at the moment.) Anyway, here’s the results:
The total WUs in the period (loading the page, running the workflows):
110 total WUs
72.02% of this was for the workflow (the workflow executing Flow State Single)
So FSS consumed 79.222 total WUs, for an average usage of 13.2 WU per Flow State execution.
Looking at the log for one SSA execution (this would be from cold start):
START RequestId: d04b2b39-055f-4b07-b51f-ec021750468e Version: $LATEST END RequestId: d04b2b39-055f-4b07-b51f-ec021750468e REPORT RequestId: d04b2b39-055f-4b07-b51f-ec021750468e Duration: 76.22 ms Billed Duration: 77 ms Memory Size: 128 MB Max Memory Used: 75 MB Init Duration: 370.47 ms
From AWS lambda pricing:
An x86 instance with 128 MB memory is charged $0.0000000021 per ms. So this function cost $0.0000001617 to execute (the $/ms * 77ms billed duration).
If we use Growth pricing ($134 for 250,000 WUs) – all of this is a bitch to calculate – a WU costs $0.000536. (An overage WU in that tier without a workload tier attached is $0.0003 per WU).
13.2 WU * $0.000536 = $0.0070752
$0.0070752 / $0.0000001617 = 43,755. So the Bubble charge on this SSA is more than 4 orders of magnitude higher than the raw AWS cost. This is pretty much in line with what I’m seeing everywhere I look in the new pricing model.
It’s true that WUs get cheaper if purchased in bulk (higher tiers) but I think the cheapest they get is $0.00008 per WU?
In that case, we would see:
$0.001056 / $0.0000001617 = 6530. So more than 3 orders of magnitude over raw cost.
Edit: The markup might even be more extreme. I note that once spun up, the billable time for the SSA can decline by an order of magnitude (e.g., first execution is on the order of 75ms but immediate subsequent executions are more on the order of 8ms).
It’s kind of impossible (by which I mean it is impossible) to check in real-time if the subsequent SSA calls generate fewer WUs. So, just looking at the average in my test is sort of the best I can do.)