Will Server-Side Actions Ever be Viable? They are Ludicrously Slow to Instantiate

There are still some issues here. For example: Build the following SSA plugin:’

  • Plugin takes two dynamic list arguments (A and B) of type anything as inputs.
  • It need do nothing else.

Now test this plugin. Send input A as the result of a large-count search (like, “Do a search for… Locales” where this will return a large number of Locales (say 100+). And send input B a small count search like “Do a search for… Locales:first item”).

Such a plugin will take far more time to instantiate than retrieving “Do a search for… Locales” to an RG or populating a dropdown with “Do a search for… Locales”. This makes no sense, of course.

(Point being: this bug persists for large-count inputs (fields) in SSAs. These should not take more time than it takes to return all things to the browser.)

2 Likes

I have the same issue still. I have a big real world example I’ll be sending off to Marca today.

1 Like

Any progress on this? We are seeing/1 - 2 minute response times for one line of code.

Even if dedicated cuts it to a few seconds, not scalable and viable.

Thanks! Craig

Since server side actions are so slow, we just create bubble API to our own AWS EC2 servers where we can do whatever we want at regular FAST server speeds (response times) and then just send the needed results (JSON) and parse via Bubble API connector…

3 Likes

There’s a problem with the api answer. My APIs take 20 seconds to start. I found that adding more capacity did not correct the situation. @eve

1 Like

Why hasn’t anyone from Bubble addressed this?
It’s a pretty major issue and I noticed it the first time I ever used bubble assuming it was because I was initially on a free plan but its the same no matter how much you pay or boost.

:frowning:

1 Like

Welp, @morgan, I’ve just kind of come to accept that SSA’s are not for use in the page, but for use in server-side workflows (what Bubble calls “API Workflows”) where the spin-up time isn’t noticeable.

This being said, it would be nice if Bubble would enhance the client-side action plugin API such that client-side actions could return values to the workflow, which is “kind of” the solution here.

But I did finally publish a small set of SSAs (again, intended for use in API Workflows, not in the page) that you can learn about here:

2 Likes

So, been doing some work on some new plugins — motivated by the impending shutdown of webtask (where my FaaS functions that support https://grupz.com reside). And… lo and behold… I feel like SSA’s are substantially more performant now.

Earlier today, based on a prospective user’s question over the weekend, I figured I should have another go at enabling iCal export for GRUPZ calendars.

Now, Bubble STILL doesn’t have a GET route for backend workflows (and this continues to be painfully stupid), but Amazon API Gateway is a still a reasonable solution for turning a GET into a POST, and upon looking at that again, it seems like it’s easier than in the past (letting you snag query string parameters and just forward them from the phony GET call to the real POST call without any scripting). Cool.

So I hammered out a real basic SSA plugin that, given a list of Bubble objects that represent events, returns the text of an iCal file representing those events.

And then this text string can just be sent to the return value of a backend (POST) workflow.

What I find is that, (1) with AAPIG in the middle, the response from AAPIG is EXACTLY like what you’d expect from any iCal feed (for example, a feed coming from Airbnb or VRBO or Google Calendar or what have you) and (2) the response time from Bubble is TOTALLY within acceptable limits.

This did not used to be the case.

Emboldened by that success, I set about converting my Webtask code for parsing iCal URLs into JSON (read in via the API Connector) to a native SSA plugin (which would return parallel lists of starts, ends, descriptions, etc., rather than zapping them over as JSON to be parsed by the API Connector).

This seems (now) to be pretty much competitive — time-wise — with my FaaS solution via Webtask.

And, further, taking my test Bubble app serving up an iCal feed and using that as an input to the GRUPZ app (also a Bubble, but still using Webtask via API Connector to parse that URL), I find that the feed is parsed just as fast as, say, when the IRL is from Airbnb or VRBO or what/have-you.

Which is to say, my test app might as well be Airbnb.

While further testing is needed, I feel like Bubble has made some significant strides in SSA performance.

The $64,000 question is, “What’s the capacity impact?” My initial testing seems to imply that, capacity impact has also been lessened. My test app isn’t registering huge cap impacts when running these SSA’s.

Has Bubble become less stingy in terms of server-side compute? Could be.

At any rate, the results are encouraging enough that I’m going to proceed with migrating my external FaaS functions to native SSA’s and also publishing those as commercial plugins, providing a no-code solution for folks looking to parse and publish iCal feeds (something is have paid just about any price for a couple of years ago).

Those plugins won’t be “cheap” (similar in price to CG Pro) in Bubble terms, but will be cheap compared to the literally thousands of hours I spent developing these techniques for my own apps.

So, tl;dr… Bubble SSA’s seem to have come a long way.

5 Likes