MuleSoft has a few offerings in terms of hosting. For the purposes of this blog, I would like to class them as Cloudhub hosted or non-Cloudhub hosted.
Cloudhub provides a bursting option only for 0.1 and 0.2 vCores. The reason for this classification is to compare like for like performance between the MuleSoft Managed Cloudhub option against the non-Cloudhub hosted option, specifically in the bursting context.
There are many reasons organizations need to compare performance in this specific classification. Here are a few that are worth thinking about:
- Compare Cloudhub hosting firepower against non-Cloudhub hosting firepower in bursting specific scenarios
- Have quantifiable metrics to be able to make informed decisions for key design activity from an architectural perspective
- As license cost for bursting vCores on Cloudhub is exactly the same as non-Cloudhub, management can have a good perspective of where the better value for money is, and how much the difference is.
- Deployable worker size on Cloudhub is often compared to on-premise more densely packed deployment models.
- Will there be a performance impact of network going to the cloud and coming back to calling application when compared to locally hosted service?
A simple hello World!! API is deployed onto both Cloudhub trial version and On-Premise Docker container. The idea was to find the best performance that could be extracted from either of these 2 setups and use that as a basis for comparison.
The on premise Docker container has the following setup. This was run on a local machine to cut out network delays with on-premise.
- CPU: 2.7 GHz Dual-Core Intel Core i5
- Memory: 1867 MHz DDR3
- 0.1 vCore has 500 MB memory
- 0.2 vCore has 1GB memory
Hello World!! simple API for our test looked like below.
Below is the best performance in terms of TPS (Transactions Per second) that could be extracted without making any change to code in terms of tuning.
|0.1 VCore||129 TPS||854 TPS|
|0.2 VCore||370 TPS||1106 TPS|
- 0.1 vCore on Cloudhub gave 6X+ better performance compared to on-premise
- 0.2 vCores on Cloudhub gave close to 3X performance compared to on-premise
- With better on-premise CPU and memory specification the performance outcome might be different but this blog gives a relative perspective for firepower gap
- It is recommended that organisation think carefully about Cloudhub vs On-Premise hosting taking into consideration the performance aspect as well
- Bursting works on a credit system and performance vary based on credit left over, but even with a credit system the performance was still better
- As the license costs for the Cloud-Hub vCore and On-Premise vCore are the same, organisational license consumption is the same in both cases
- The bursting feature is only available for 0.1 and 0.2 vCores. Most APIs are deployed with these 2 worker sizes