giantswarm / roadmap

Giant Swarm Product Roadmap
https://github.com/orgs/giantswarm/projects/273
Apache License 2.0
3 stars 0 forks source link

Standardize our usage of data volume units: SI vs. IEC, GB vs. GiB #3529

Closed marians closed 1 month ago

marians commented 3 months ago

Internal Slack thread

The interchanging use of SI and IEC units like GB and GiB, MB and MiB etc. cause a challenge to our end users, as this forbids exact comparison. To avoid this, we should decide for the preferred unit system to use throughout our docs, user interfaces, and APIs.

We should survey the biggest cloud providers and most important tools in our ecosystem to see if there is alignment already.

This affects

marians commented 3 months ago

Survey

marians commented 3 months ago

Proposal A: Use SI units

I propose to use SI units (KB, MB, GB, TB...) for the sake of simplicity. The conversion factor 1000 makes it very easy to calculate the relationship between the different units. Also the units are currently more common to pronounce ("megabyte" vs. "mebibyte").

The cloud providers, with the exception of Azure, seem to use both units, so unfortunately alignment with the ecosystem as a whole isn't possible.

marians commented 3 months ago

Searching through our docs, I found occurrences of IEC units (KiB, MiB, GiB etc.) in these contexts:

Within dashboards, I found

marians commented 3 months ago

In yesterday's KaaS sync I learned that it's common to use IEC ("power-of-two") units when the subject is memory. For disk storage, on the other hand, power of 10 is more common. So the picture is more complex than I assumed.

We decided to gather some more input asynchronously before we decide.

I found some interesting posts on Quora which indicate that

My conclusion here:

To me, this speaks for Microsoft Azure's approach of using IEC units consistently.

So I'm reverting my proposal A and hereby suggest

Proposal B: Use IEC units

I propose to use the units KiB, MiB, GiB, calculated with a conversion factor of 1024, consistently for storage size, memory size, data I/O and all other data volume measures.

marians commented 1 month ago

We have a PDR now here: https://intranet.giantswarm.io/docs/product/pdr/011-iec-units/

The implementation will happen over time, and we don't need to keep this issue open for that. Closing.