I’ve been researching to find reference points on how to spec bandwidth relative to capacity sizing. The answers tend to focus on metering existing setups to know when it’s time add more bandwidth before problems come up. It’s hard to find any information on what kind of bandwidth is typically used for X amount of storage in a data center context. Cloud providers surely have this data, but it’s proprietary information.
This got me thinking
Why not look at the bandwidth allocations for some cloud packages on the market? This could serve as a reasonable baseline.
Storage allocation for compute workloads
Checking Vultr and Digital Ocean, I found similar figures for storage included in VMs:
25-50 GB Storage / 1-2 TB bandwidth (1:40)
80 GB Storage / 3-4 TB bandwidth (1:37.5-50)
160 GB Storage / 4-5 TB bandwidth (1:25-31.25)
320 GB Storage / 5-6 TB bandwidth (1:15.625-18.75)
Now these are total bandwidth figures per month, so we’ll need to calculate a connection’s monthly throughput to compare:
10 mbps = ~3 TB / month
100 mbps = ~30 TB / month
1 gbps = ~300 TB / month
If we look at the low end of cloud provider allocations (1:15), this means a farmers with 1 TB of storage needs 50mbps dedicated to the node to achieve the same level of service. Scaling up, a farmer with 50 TB of storage would need at least 2.5 gbps.
This is interesting, but it’s not the whole picture. These are compute products with some storage attached. How about storage products?
Storage product pricing
When it comes to object storage, Vultr and DO have the same baseline package:
250 GB / 1 TB of bandwidth (1:4)
This actually corresponds closely to one recommendation I found in a web hosting forum (1:5). That means our farmer with 50 TB, who is probably hosing quite a few storage workloads, only needs to dedicate ~600 mbps to meet this service level.
Of course, that’s the baseline package, and many users of cloud services are paying extra for additional bandwidth. Farmers at home also need to be sure they have enough bandwidth for their normal needs.
Conclusion
Using these figures as a guide can be a way to ensure that the Grid is able to support the minimum service levels of existing cloud providers. When it comes to Titans, I think we should stand by our specification that any residential high speed connection is sufficient for one node.
For DIY and large scale certified operations, I think we should be targeting the 1:4 - 1:15 range as baseline.