Server-Side Action - Slow Processing Time

I built out a plugin that uses an algorithm to run a relatively basic computation on an argument of 2 numbers. The main .js file is ~150 lines of code - a couple Math.Min/Math.Max here and there + several iterative loops processing small arrays…nothing too crazy.

I’ve noticed that the time to return an object via a Bubble app workflow takes ~5 seconds when hosting npm packages natively inside the Bubble plugin editor via dependencies vs. hosting the algorithm and npm dependencies on my own server (or even something like CodeSandBox), which both return results instantaneously using very little server resources. Anyone else experiencing slow’ish server-side processing with computational plugins?

Taking a quick look at usage / revenue of all Bubble plugins on the plugin marketplace … plugins generate very little revenue compared to Bubble’s core business (subscriptions/Bubble app resources) which would explain the minimal updates to the plugin editor, outdated Node, no console/debug, etc. assuming their team is following the standard Silicon Valley / Bschool product-driven growth model w/ no moonshot projects around plugins. My guess is that Bubble will put more resources into marketplace products like plugins after they mature a bit, much like Twilio.

If you ever used a service like Google cloud functions or AWS lambda‘s (basically the hr same thing but faster) you would feel the same pain. Every time you call a server side action the server has to “warm up“. Essentially you have to wake the server up, get some resources allocated to you, use those resources, and then return results and for that if there’s a small delay.

1 Like

Hi @supernaturally, interesting take on how you think Bubble will improve the plugin editor - I really hope they invest more into it soon!

I also had issues with my plugins being slow, turns out that when you run the first plugin server-side action, it takes a little longer because it’s loading the code in AWS Lambda subsequent actions all worked perfectly fine for me.

Thanks,

Phill

Yeah but bubble’s spin up to response time is seconds (about 5 as you note, even if all you do is just return a value) while G Cloud Functions are much much faster. @supernaturally, pretty much anything you can do in an SSA, you can do just as easily , faster, cheaper and with access to more memory (should u need it) than Bubble gives you. @jared.gibb and I are both big fans of it!

1 Like

Thanks @jared.gibb & @keith - I’ve been using EC2+Lambda externally, but was piggybacking on a production server already running 24/7 so I didn’t consider cold starts for isolated serverless . I’ll definitely do a quick test on GC Functions too.

@Phill.NullaCode - Unfortunately, I doubt anything will be improved much until Bubble hits an inflection point in their growth where critical mass has been achieved (i.e. a large and consistent userbase of revenue-generating businesses and/or a massive userbase of hobbyists with a manageable churn rate). For updates, the growth bottleneck has to be the lack of plugins holding back exponential growth for Bubble platforms or increasing ‘engagement’ time of core paying users. It took Brex YEARS to integrate a usable Quickbooks integration because the majority of their revenue-generating early adopters were VC-Backed startups using things like NetSuite to plan for rapid scale. Twilio didn’t revamp their plugin editor until recently - after they IPOed and had a massive userbase on which to increase engagement of existing customers by allowing devs to build and debug on a native cloud IDE (reduced build time = shorter time to collect payment on transactional texts/video/voice $$$).
-----Great idea on SSA btw, I’ll try executing a dummy function call when the user enters the screen where computations are used so that if/when serverless is triggered, it’s ready to roll.

I feel like Chris Farley riding a unicycle with these plugins - falling every few feet and having a blast doing it!

1 Like

Well, we’ll keep enjoying the challenge with the current plugin builder!

I’ve also thought about adding a ‘warm up’ workflow action to my plugins to help improve their performance - great idea!