Hey @sridharan.s how are you?
Sure… I can definitely share a few things that we are experience with our Bubble app. The first thing important to notice is that this is a well know issue within Bubble and the team itself already have that on their roadmap:
"Apps bug-free at scale
Workflow consistency when multiple workflows touch the same data at the exact same time"
You can see the reference on Releases | Bubble
You also can find a few comments from @emmanuel around the forum about this issue. Acording to him this is major on their roadmap.
So, in our case we deal with a lot of data that we retrieve from third parties APIs. When we setup a client’s account on Bubble we run a lots of API workflows and over 3.000 external API calls. And they pretty much depend on the result of the first “thing” so they can process the second, third thing and so forth. That’s when our problem starts. Also, we can’t have duplicated entries on our Data Base, but since Bubble is processing the same data (not the same action) multiple times it is common leave behind some data or duplicate the entries.
We are doing a bunch of different things to certify that missing and duplicated data are reduced but it always happen. We are now at a point where we have API Workflows going against our data base regularly looking for missing or duplicated data.
One thing we notice is that these problems start to happen when our application reaches 100% CPU. So, in other words, when you app reaches 100% CPU not only your app gets slower (which is fair I guess) but also depending the operations you are doing (API Workflows in our case) the results are not consistent and you will find problems with your data. I guess my biggest critic here is that API Workflows are asynchronous job, so I wouldn’t mind have them taking longer to be execute but I can’t afford having them being unstable with data processing.
This is an image from our usage capacity in the last 7 days… As you can see is pretty clear when we are adding a client’s account to our app.
Up to this point we have our app ready to go live but we are holding on to Bubble start guaranteeing Workflow consistency, otherwise it will be insane having 60, 100, 500, 3.000 clients running something that isn’t consistent.
You might ask why we don’t increase our Bubble plan to add more processing units… We already tested with over 12 units but our app always reach 100% when we are setting up an account After that we would need less then 5 units to have the app running… So financially it wouldn’t make sense having 14, 18, 20 units that we only need to use two or three times a week.
Also we are moving some of our heavy data (DB Tables with more then 5,000 entries) to an external Data Base where we can handle better that data and reduce those problems.
It would be REALLY nice if Bubble could allow us to add units by the hour automatically when our apps reach 100% capacity.
Not sure if I helped you at all… If you have more questions let me know!!