We had unexpected load on SonarCloud during Ship It. To absorb it, we had to add 2 more CE nodes, whereas having more workers on each node might have helped in this situation. Having parallel processing would be a security valve for us in such cases.
We want SonarCloud to have the parallel processing capability that exists on SonarQube Enterprise Edition:
- As the SonarCloud root user, I can change the number of workers in the global "Background Tasks" page
- When I update this settings, the change is dynamically applied
Feature is exactly the same as in SonarQube Enterprise Edition.
Everybody is aligned on the fact that this feature is not meant to sustain the growth in SonarCloud adoption and therefore handle the load. It is meant to help get the CE back to a normal state faster after an unexpected production incident caused the CE queue to grow. As a good side effect, this will also allow us to dogfood this parallel processing feature and therefore be in our EE/DCE customers' shoes.
It is agreed that to sustain the growth in SonarCloud adoption in terms of load and SLA, other strategies will need to be discussed. For instance:
- Elasticity of the cluster (ability to add and remove nodes on the fly, if possible automatically based on some metrics)
- Ability to segregate the CE queue per report type, so that PR reports (that are small) don't wait when full analysis reports are blocking the queue because they take several minutes to be processed.