Workflow Units & Plugins

Quick questions -

Do workflow units apply to plugins?
Do server side actions cost WU?
Do client side actions cost WU?
Do element actions cost WU?

Ethical / Legal question… if I’m creating a free plugin for hundreds of users to use, and bubble is collecting a feee for the use of my plugins, doesn’t that go against the TOS for the MIT license? Big issue here…

7 Likes

They’re not collecting a fee for using your plugin. They charge a fee to process your plugins code in conjunction with user inputs (if that applies)

It’s still a shit show tho

2 Likes

I’m not lawyer but… I feel like if it is true that the above is charged to users than that can be interpreted in a certain way.

Anyhow, I’ve got a question about custom events… I’ll go post it

1 Like

Do workflow units apply to plugins? YES
Do server side actions cost WU? YES - As bubble says, it will be charged if it passes from the bubble server.
Do client side actions cost WU? NO - tested
Do element actions cost WU? NO - tested

7 Likes

This pricing update certainly validated my latest plugin

:wink:

It won’t address all needs but some for sure

3 Likes

Thanks for the information. What about client side custom events? What about server side custom events?

For instance… on the server, my api workflow can execute a number of custom events. Is the custom event + actions charged or is it just the actions inside the custom event that are charged?

Is it client side api calling?

Yep. It’s super simple in all reality. The purpose was to replace making those API calls on bubble. Nothing more.

But this exposes issues like you can’t mask api keys really.

Do you mean client side custom state? @jonah.deleseleuc because I guess custom event by default run on backend or I am missing something?

@jared.gibb you should not call private api that require api key (application specific, rather than user specific)

No there are custom events in client and server side

@jonah.deleseleuc can you share some reference or screenshot?

Or you mean to say- whatever custom event we create in the workflow are client side and what we build in backend workflows is at server side?

Thank you for testing this, I didn’t know this re client side.

I think eventually we will come up with an effective route for optimal usage

1 Like

@jared.gibb, appreciate what you’re trying to do here, but Bubble does already offer the ability to make API calls purely on the client side when it’s safe to do so. But if there’s a private auth key or similar involved, it’s never safe to make a call like that from the client because anyone can see the key and potentially abuse it. One can do that (I demonstrated that in my recent video about the bulk create API), but there is no way to conceal a key that should be kept private in the browser.

The issue is that Bubble is apparently insisting upon charging somewhere around 10,000 times the actual cost of making an external API call. (I’ve detailed this in the pricing threads. I have an app where 66% of the WUs are coming from an API call to my own Google Cloud Function endpoint. Bubble wants to charge almost $300 for their side of the call per month. Google bills me somewhere between $0 and $0.03 monthly for that side of the call. That’s just not going to happen.)

Also, I did just do a very simple test of calling my Flow State Single SSA (from List Popper and Friends) and will be able to see the WU cost of that in about an hour. I expect that the WU pricing will reflect something like a 10,000 - 100,000X markup over the raw cost of executing that function in AWS.

7 Likes

It’s super shit 4sure. I’m left feeling quite disconcerted this weekend.

7 Likes

Capitalism :man_shrugging: there needs to be an open source no code like Linux

Saltcorn

2 Likes

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.)

21 Likes

Your guy responded

1 Like

Here’s what i got from aupport for a similar question:

Will calling an API as a clientside JavaScript action, using the Toolbox Plugin, cost me WU?
This depends on whether the workflow as a whole runs on the server, or client-side- for example, if the workflow action

How would using plugins affect my WU? What part of plugins will cost more WU?
This would depend on what the plugin provides and whether it performs something that contributes toward WU, which can be found in this article. The actions a plugin performs outside of the Bubble server will not count toward your WU. Things to look out for would primarily be the actions in which the plugin is involved inside the app itself.

Edit: Just realized the first answer looks like it got cut off. Will get back to aupport about it.

1 Like