We have closed comments in this thread and have published a new update from @josh: An Update to Workload, Plus More Transparent Calculations
To our community -
For those of you I have not yet connected with, I am Tatiana Afanasyeva, Bubble’s VP of Marketing. Thank you for the discussion on the forum. We know we can always count on the community to provide feedback, and we’re very grateful to each of you for taking the time to provide it. While any pricing change is difficult, we know that many of you run your businesses entirely on Bubble, and that makes this an even more significant adjustment. We don’t take this lightly.
When we look at the specifics of this change, we see that if every paying app switched today without optimizing at all, 92% of apps would see less than a $250/month change, and 83% would see less than a $50/month change. For some apps, the change is much larger, and many of you are represented in this forum thread. We knew going into this that some apps would see very significant increases. In our analysis of our user base, our team was either able to find massive workload optimization opportunities (sometimes >95%), or we felt that the app represented a thriving business that could support the increased price. If your workload is greater than 40M WUs, please contact our sales team to discuss a custom plan: Contact sales | Bubble
We are committed to making this work for all of you, and over the last day we have continued reaching out 1:1 to our most impacted users to offer hands-on optimization support. We will continue to support you throughout the 18-month legacy period and beyond. Additionally, we invite you to attend our upcoming live webinar on April 20th, which will provide further guidance: https://bble.io/workloadwebinar
Please do not hesitate to reach out to our support team at support@bubble.io if you still have questions or concerns. We are always here to help.
Now, we want to take the opportunity to respond to some of the themes that came up yesterday:
Bulk data operations
One of the biggest concerns we’ve heard is that in Bubble today, bulk data manipulation is just intrinsically costly in terms of workload. When working in native code, you generally get economies of scale when you are importing, exporting, or modifying thousands or millions of records at a time. In Bubble today, that’s not the case.
Changing this is one of our biggest priorities this year. You should expect to see noticeable improvements in Q3, both in terms of workload consumed and speed of operations. This is an area we’ll continue to work on for the remainder of the year.
Same goes for recursive scheduled workflows. For many of the apps we investigated before announcing the new pricing, one or two recursive workflows accounted for almost all the workload consumed. These recursive workflows are often workarounds to deal with Bubble’s lack of strong native bulk data manipulation capabilities, and we anticipate massive workload savings to come from this.
File storage
Given Bubble’s scale, we’ve identified file storage as an area we can make significantly more affordable in the new pricing model. Each of the paid plans should see at least 4x the previous storage amount included relative to previous plans. The following storage will be included in each of the plans and you are able to purchase additional monthly file storage at $3 per 100 GB.
- Free: 0.5 GB
- Starter: 50 GB
- Growth: 100 GB
- Team: 1 TB
- Agency: 2 GB
Free Plan changes
While we will continue to have a 200 limit on database things, apps on the Free plan will have new access to version backup and database backup, plus longer retention windows for server logs.
What contributes to workload
Workload is measured in units, and users should not think about workload units in terms of 1 workflow action = 1 unit. The exact calculation of workload is based on behind-the-scenes implementation details, but in general, the more data that gets processed by Bubble, both in terms of number of things and size of things, the more workload will be consumed.
Some examples:
- Most workflow actions have a base cost ranging from roughly 0.1 to 3 WU, depending on things such as whether conditionals passed and whether the action requires doing things on the server. Processing more data requires more workload; a “Change List of Things” action that modifies 20 things will be roughly twice as expensive as one that modifies 10 things.
- Fetching a single item from the database has a base cost around 0.2 WU; extremely large database items cost more
- All else being equal, searching the Bubble database for 20 items will consume roughly 2x the workload as searching the database for 10 items. External API calls (via the API and plugins) are somewhat more expensive, but the same rough order of magnitude as database searches
- Almost everything the server does incurs at least some workload, but in practice, typical apps generally have their workflow usage driven by:
- The amount of workflow actions they run, and how much data those workflow actions read and write
- The amount of queries (both database and API calls) they make to render pages
- Recursive backend workflows in particular tend to consume a lot of workload. This is generally not due to them being more expensive than other workflows (there is a small workload cost to schedule them, but it is generally no more than the cost of any other workflow action), but rather because they run over and over again
In practice, our recommendation for optimizing your app is not to take a bottoms-up approach of adding up how much each thing in your app does. Rather, we think the easiest approach is to test the app and use our charts to drill into which workflows, searches, and API calls account for the most workload. Once you have identified them, the questions to ask are “How often does this run?” “How many items of data does this read or write?” “Are any of those items of data very large?”
We plan to invest heavily in our analytics capabilities over the next several months to make it very easy to see exactly where workload is coming from, including enabling drilling down into individual workflow actions, and seeing how much workload a specific workflow run consumed in practice to allow rapid iterating.
For more, see our manual here: What contributes to workload? - Bubble Docs
Accidental usage
Our goal is to win because you win, not because of accidents. We understand that in the process of exploring and developing on Bubble, accidents happen. If you make a mistake, please reach out to our team at support@bubble.io. We’ll deal with these instances on a case-by-case basis.
Optimization
We know many of you are concerned about optimization - we hear the concern and we’re working hard on tools and resources not only to clarify workload and the related concepts but also to help you debug your own apps and investigate your workload usage so you can make more informed decisions. As mentioned at the beginning of the post, we highly encourage you to attend our upcoming session on April 20th where we’ll discuss strategies and best practices: https://bble.io/workloadwebinar. We’re also still scheduling 1:1 sessions with anyone interested in connecting with the team regarding app optimization.
We are committed to working hands-on with users over the next 18 months to help optimize apps, and we will continue to invest in resources and tooling to enable this process. In addition to better drill downs and analytics, we plan to fix any feature bottlenecks that would make it prohibitive to run certain use cases. As mentioned above, we plan to invest in improving bulk data operations, and as other issues come up as we work 1:1 with you to optimize your apps, we will prioritize them as well. Your success is our success, and we appreciate your patience as we continue to invest in improvements to our platform and infrastructure.